removing non-existent ports from /var/db/pkg ?
mexas at bristol.ac.uk
Tue Oct 2 21:28:26 UTC 2012
From: Matthew Seaman <m.seaman at infracaninophile.co.uk>
On 02/10/2012 12:38, Jamie Paul Griffin wrote:
> [ Matthew Seaman wrote on Tue 2.Oct'12 at 12:13:05 +0100 ]
>> At the moment, the only way to clear up is to manually remove the
>> outdated subdirectories from /var/db/ports. You can work out what is
>> out of date by comparing the list of sub-dirs to the list of installed=
>> ports obtained by
>> pkg info -aq
>> Should only take a few minutes to write a small script to do that.
>> Be careful not to trash local.sqlite, repo.sqlite or auditfile -- in
>> fact, anything in /var/db/pkg which is not a directory should be prese=
>> Note: even if you do delete subdirs that are actually still in use, th=
>> shouldn't be a huge disaster. The only data still in those directorie=
>> will be portmaster's cache of distfile info (which it can cope without=
>> it uses it to efficiently identify old distfiles that can themselves b=
>> tidied up) and flag files like +IGNOREME which you will want to
>> regenerate before you next do a ports update.
> Ok, thanks for clarifying that for us. Very much appreciated.=20
I just committed this: http://git.io/G2qIIg
Which makes the patch compatible with portmaster-3.14 and also now makes
portmaster remove superfluous subdirectories of $PKG_DBDIR when removing
any packages. This should keep $PKG_DBDIR reasonably tidy going
forwards, but it won't clean up all of the existing problem subdirs.
For that you'll need a one-off job to clean up as described above.
Thanks, the patch applied fine.
Will see what happens with $PKG_DBDIR
next time I update something.
More information about the freebsd-ports