removing non-existent ports from /var/db/pkg ?
Anton Shterenlikht
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 ]
>=20
> =20
>> 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=
rved.
>>
>> Note: even if you do delete subdirs that are actually still in use, th=
is
>> shouldn't be a huge disaster. The only data still in those directorie=
s
>> 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=
e
>> tidied up) and flag files like +IGNOREME which you will want to
>> regenerate before you next do a ports update.
>=20
> 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.
Anton
More information about the freebsd-ports
mailing list