portsclean deleting too many distfiles
roberthuff at rcn.com
Mon Jun 19 05:35:16 UTC 2006
Jonathan Noack writes:
> The first time I ran 'portsclean -D' after upgrading to
> portupgrade 2.1.4_2,1, it deleted all distfiles for ports that
> were not installed on that machine. However, I have
> /usr/ports/distfiles shared via NFS to my cluster, so now all the
> distfiles for ports installed on other machines are gone. The
> machine I ran portsclean on was headless, so I lost EVERY
> X-related distfile. This is especially painful as these tend to
> be the biggest (e.g. OpenOffice is over 200MB).
> From the portsclean man page on the -D/--distclean option: "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)"
> I did not specify it twice (because I have 'portsclean -D'
> aliased to 'pc') so I guess there is a regression in portupgrade
Assuming I understand your issue correctly ... I think it's
behaving correctly, just not as you expected.
When you ran it on the headless machine ("H"), it looked at H's
list of installed ports (/var/db/pkg/pkgdb.db ??), compared it to
the distfiles on the NFS machine ("N") (which it has no way of
knowing are /not/ local), computed the difference, and went merrily
off into the sunset.
Question: if new tarballs are downloaded only onto N, why does
H need read/write access to that directory?
More information about the freebsd-ports