portsclean deleting too many distfiles

Robert Huff 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
>  2.1.4.

	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?

				Robert Huff

More information about the freebsd-ports mailing list