#!/bin/sh # # distfiles-clean # # Cleans unused files from Portage distfiles directory. # # José Fonseca PORTDIR=/usr/portage DISTDIR=$PORTDIR/distfiles CACHEDIR=$PORTDIR/metadata/cache PKGDBDIR=/var/db/pkg TMPFILE=`mktemp /tmp/$0.XXXXXX` find $PKGDBDIR -name '*.ebuild' | sed -n -e "s:^$PKGDBDIR/\([^/]*\)/\([^/]*\)/\([^/]*\)\.ebuild$:$CACHEDIR/\1/\3:p" | xargs -l sed -e '4!d;s/[[:space:]]\+/\n/g' | sed -n -e 's:^.*/::p' | sort -u > $TMPFILE ls -1 $DISTDIR | sort -m - $TMPFILE | uniq -u | sed -e "s:^:$DISTDIR/:" | xargs rm -f rm $TMPFILE