Re: one liner to clean up your /usr/ports/distfiles




Hello!

On Thu, 29 Jun 2006, MonkeyBrains wrote:
Ever notice your /usr/ports/distfiles bloats after several years of updating the same box?
You know those 5 year old drives are about to fail, but, if you want to clean them up a bit, I like this:

cd /usr/ports/distfiles
perl -e 'while (<*>) { chomp(); $p = $_; $p =~ s/\-\d+\..*// or next; unlink $X if $X =~ /^$p/; $X = $_;}'

Removes the lower version number of 'double' source files, like these:
-rw-r--r-- 1 root wheel 1282627 Sep 12 2005 tiff-3.7.4.tar.gz
-rw-r--r-- 1 root wheel 1336295 Mar 23 07:15 tiff-3.8.2.tar.gz

1. FreeBSD-ports@xxxxxxxxxxx list suits better for such a letter.

2. Your approach is not correct, because there are many ports which _do_
refer different versions of the same product. Just now:

Port name Distfiles
lang/gcc33 gcc-core-3.3.6.tar.bz2 ...
lang/gcc34 gcc-core-3.4.6.tar.bz2 ...
lang/gcc40 gcc-core-4.0-20060622.tar.bz2 ...
lang/gcc41 gcc-core-4.1-20060623.tar.bz2 ...

For the _correct_ approach, see, e.g.,

portsclean -D

which comes with the port sysutils/portupgrade.

Rudy

Sincerely, Dmitry
--
Atlantis ISP, System Administrator
e-mail: dmitry@xxxxxxxxxxxxxx
nic-hdl: LYNX-RIPE
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"