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

Eric Schuele e.schuele at computer.org
Mon Nov 13 20:06:39 UTC 2006


On 11/13/06 09:35, Lowell Gilbert wrote:
> 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.
> 
Thanks for the response.

Well,  I would accept this without any question... especially given the 
full story of my machine (I did loose /var... I did reinstall 
everything... but after reinstalling everything, there was a different 
number of ports installed??? I then pulled out a backup and grabbed some 
straglers and got closer.).

However,  sticking with my gnucash2 example.  You would think if I were 
to uninstall gnucash2, uninstall g-wrap, and reinstall gnucash2, it 
would correct this problem.  Yet it remains.  It seems odd to me.  In 
fact looking at the backup I have, g-wrap is not +REQUIRED_BY anything. 
  I wonder if the port(s) is somehow broken?

Either way... I think I'm gonna just wait till 6.2 is cut and then 
rebuild (again).  Simply because this is quite a systemic problem. I'm 
not sure I can confidently clean it up 100%.  If I fail to register (for 
lack of a better word) some port(s) in the database, they will never get 
updated, as my system will not know they are present.  And eventually 
things will get too out of whack... odd things will begin happening... 
etc, etc.  Lots of posts to questions@ later... someone will say "just 
rebuild the d#$% thing."  :)  I'll re-evaluate the situation at that time.

Again, thanks for the response.

-- 
Regards,
Eric


More information about the freebsd-questions mailing list