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