pkg_cutleaves listing needed ports as leaf nodes.....

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Mon Nov 13 15:35:37 UTC 2006


Eric Schuele <e.schuele at computer.org> writes:

> When I use `pkg_cutleaves -l` to list leaf nodes.  It is listing
> things I know are required by other apps.  These aren't build
> dependencies.
>
> For example, it lists g-wrap, and libpcap.  If I remove g-wrap, my
> gnucash2 immediately refuses to run.  And I know libpcap was an
> "option" I selected for NTop.  There are others as well.  I have
> noticed that a `make  pretty-print-run-depends-list` is empty for
> gnucash2.  Is that significant?
>
> Why would these not be +REQUIRED_BY something?  `pkgdb -F` doesn't
> mention anything at all.
>
> If something has no +REQUIRED_BY file... how can I go about
> determining why its on my machine or which port installed it?
> Obviously top level items I installed aside.
>
> Thanks.
>
> [Running 6.2-PRERELEASE]


The requirements files are definitely supposed to be there, and their
non-presence constitutes corruption in your package database.
pkg_cutleaves can't figure out requirements that aren't recorded, so
getting the package database restored has to be your first step.  

The obvious way of fixing the package database is to reinstall all of
your ports before removing the leaves.  You may not need to use such a
brute-force solution, though...  If you have backups of /var/db/pkg,
you could go through and try to find the dependencies as they existed
when the backup was made.  Obviously, this might not be fully
up-to-date; however, it's likely to be better than what you have now.

Good luck.


More information about the freebsd-questions mailing list