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