From: "José Fonseca" <j_r_fonseca@yahoo.co.uk>
To: gentoo-dev@gentoo.org
Subject: [gentoo-dev] Script to clean old files from /usr/portage/distfiles
Date: Mon, 11 Nov 2002 20:38:28 +0000 [thread overview]
Message-ID: <20021111203828.GA10784@localhost.localdomain> (raw)
[-- Attachment #1: Type: text/plain, Size: 707 bytes --]
I never do `rm -f /usr/portage/distfiles'. I find very useful having the
sources of the installed packages ihandy as it avoids downloading
everything over andagain when updating to new releases of the same
version, or when installing Gentoo on another system. But after some
time that directory gets too fat and is too boring to eliminate the
deprecated packages by hand so I've made a script to automate this. You
can see it attached.
I've started with a shell script, then python, then I've read qpkg.sh,
ebuild.sh, portage.py and many others in the search of the easiest way
to do this. In the end everything boiled down to 2 lines - the rest is
just sintatic sugar!
I hope you enjoy it.
José Fonseca
[-- Attachment #2: distfiles-clean --]
[-- Type: text/plain, Size: 575 bytes --]
#!/bin/sh
#
# distfiles-clean
#
# Cleans unused files from Portage distfiles directory.
#
# José Fonseca <j_r_fonseca@yahoo.co.uk>
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
[-- Attachment #3: Type: text/plain, Size: 37 bytes --]
--
gentoo-dev@gentoo.org mailing list
next reply other threads:[~2002-11-11 20:38 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-11 20:38 José Fonseca [this message]
2002-11-11 23:42 ` [gentoo-dev] Script to clean old files from /usr/portage/distfiles Johannes Ballé
2002-11-12 1:13 ` José Fonseca
2002-11-12 2:01 ` Marko Mikulicic
[not found] ` <20021111212849.A23035@twobit.net>
2002-11-12 10:21 ` José Fonseca
2002-11-12 11:28 ` William Kenworthy
2002-11-12 12:28 ` José Fonseca
2002-11-12 15:37 ` Nils Ohlmeier
2002-11-12 17:56 ` José Fonseca
2002-11-12 23:12 ` Nils Ohlmeier
2002-11-12 0:29 ` Marko Mikulicic
2002-11-12 0:54 ` José Fonseca
2002-11-12 1:50 ` Marko Mikulicic
-- strict thread matches above, loose matches on Subject: below --
2003-03-25 18:55 DJ Cozatt
2003-03-25 20:34 ` Chris Bainbridge
2003-03-27 4:53 ` DJ Cozatt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20021111203828.GA10784@localhost.localdomain \
--to=j_r_fonseca@yahoo.co.uk \
--cc=gentoo-dev@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox