how to distinguish direct/indirect requirements?

Lapo Luchini lapo at lapo.it
Fri Nov 23 01:50:00 PST 2007


It happened many times to me to ask myself: why I do have port XYZ
installed? surely "something needs it", but what?
"pkg_info -r/-R" are of little help, because every dependency of every
dependency (and other ranks of indirect dependencies too) are simply
registered as direct dependencies, so that pretty much every single
small gnome application depends on EVERY gnome and xorg port.

OK, in a sense it *really* depends on all of them, because one of them
missing would break it, but OTOH I'd like to know which ones are direct
dependencies and which ones are indirect, especially because in that
case my life would be easier wading through the correct Makefiles and
searching for "WITHOUT_*" knobs or other ways to "cut" some dependencies
I really don't want.

True, there are "package tree" ports such as pkg_tree, but for the very
reason that indirect dependencies are registered in exactly the same way
that direct ones are, they provide an output that's not very useful at
all (a very flattened tree).

Is there a way to discriminate direct dependencies fro indirect ones,
except from reading every single Makefile? (and knowing to full extent
what USE_GNOME and similar lines really do take in as deps)

    Lapo



More information about the freebsd-ports mailing list