portsclean -CDD oddness

Jimmie James jimmiejaz at gmail.com
Tue Nov 9 14:28:17 UTC 2010


>On 11/03/2010 23:46, Doug Barton wrote:
>>> 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.

> portupgrade was updated today, I imagine to resolve this issue.

Yes, the update  $FreeBSD: ports/ports-mgmt/portupgrade/Makefile,v 1.259 
2010/11/08 07:56:14 stas Exp $ has fixed the issue of removing all 
distfiles.

Thank you!

>> 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.

> I neglected to mention that 'portmaster -t --clean-distfiles-all' will
> do what you described -D does.

Once I migrate this 7.3-STABLE to the latest 8.x branch, I'm planning on 
using portmaster. I have a bit of a Bad Feeling about making the switch 
with 1217 ports installed. I'm just waiting on getting my backup drive 
returned to me.


>> 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


You've helped a lot Doug, it's really appreciated, cheers!


More information about the freebsd-ports mailing list