portsclean -CDD oddness

Doug Barton dougb at FreeBSD.org
Thu Nov 4 06:46:59 UTC 2010


On 11/3/2010 9:59 PM, Jimmie James wrote:
> After doing a portupgrade, I've always run portsclean -CDD
> [for reference]
> -C Clean out all the working directories of the ports tree. (cf.
> WRKDIRPREFIX)
> -D Clean out all the distfiles that are not referenced by any port in
> the ports tree.  Specified twice (i.e.  -DD), clean out all the
> distfiles that are not referenced by any port that is currently
> installed. (cf.  DISTDIR)
>
> This time, fresh csup and a few ports updated, it wiped out EVERY
> distfile for reasons I don't understand. Anyone have a clue as to why,
> or what the frak is going on?

I can't tell you authoritatively, but I would be very surprised if this 
problem were not the result of the recent bsd.port.mk changes that 
removed MD5 checksums, and renamed the variable that refers to the 
distinfo file.

If you've ever had the desire to give portmaster a try, now might be a 
good time, since I've updated it to deal with this issue. It has the 
--clean-distfiles feature which does what you described -DD does. It 
doesn't have the -C feature, but IMO you're better off using a custom 
WRKDIRPREFIX anyway. :)  Alternatively, the following is (arguably) the 
most efficient command line to handle that problem:

cd /usr/ports && find . -maxdepth 3 -type d -name work -exec rm -rf {} \;


hth,

Doug

-- 

	Nothin' ever doesn't change, but nothin' changes much.
			-- OK Go

	Breadth of IT experience, and depth of knowledge in the DNS.
	Yours for the right price.  :)  http://SupersetSolutions.com/



More information about the freebsd-ports mailing list