Baffled by output from `port dependents'

Mark Dickinson dickinsm at gmail.com
Tue Mar 6 09:06:18 PST 2007


I think I'm beginning to understand.  I've just discovered the dep_map file, at:

/opt/local/var/db/dports/receipts/dep_map.bz2

It seems this is exactly where the information for `port deps' and
`port dependents' is coming from.  Moreover, when I upgrade a package,
extra entries are added to this file.  When I later do a `port -f
uninstall inactive', the extra entries remain.  For example, I just
discovered that there's an upgrade for `file'.  Before
upgrading, I get:

dickinsm$ bzcat dep_map.bz2 | tr -s '{}' ' \n' | grep -n file
6: audiofile lib esound
358: zlib port file

showing that there's just one entry corresponding to file in
dep_map.bz2, corresponding
to the dependency of file on zlib.  `port dependents zlib' mentions
file exactly once.  After `port upgrade file', the same command as
above gives:

dickinsm$ bzcat dep_map.bz2 | tr -s '{}' ' \n' | grep -n file
6: audiofile lib esound
358: zlib port file
386: zlib port file

and now `port dependents zlib' lists file twice, instead of once.
After uninstalling the now inactive old version of file, both the
`{zlib port file}' entries in dep_map are still there.

Perhaps this is a symptom of using `port upgrade ...' instead of `port
-u upgrade'?

Would things get horribly messed up if I just manually removed all
duplicate entries from dep_map?  Does dep_map care about the ordering
of entries at all?

Mark



More information about the macports-users mailing list