one liner to clean up your /usr/ports/distfiles
Dmitry Pryanishnikov
dmitry at atlantis.dp.ua
Fri Jun 30 09:00:06 UTC 2006
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 at freebsd.org 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 at atlantis.dp.ua
nic-hdl: LYNX-RIPE
More information about the freebsd-current
mailing list