summaryrefslogtreecommitdiff
path: root/trunk/src
diff options
context:
space:
mode:
authorkarltk <karltk@gentoo.org>2002-11-15 00:31:44 +0000
committerkarltk <karltk@gentoo.org>2002-11-15 00:31:44 +0000
commit8dd7af16be7d661a9474d7a11baf5a72b5655997 (patch)
tree0f8a338b0c7668267dc30ba3b540587dceeeb466 /trunk/src
parent4cfab16342d37d5db18a02d5522475e9309b9707 (diff)
downloadgentoolkit-8dd7af16be7d661a9474d7a11baf5a72b5655997.tar.gz
Initial import
svn path=/; revision=12
Diffstat (limited to 'trunk/src')
-rw-r--r--trunk/src/distfiles-clean/AUTHORS4
-rw-r--r--trunk/src/distfiles-clean/ChangeLog2
-rw-r--r--trunk/src/distfiles-clean/TODO0
-rw-r--r--trunk/src/distfiles-clean/distfiles-clean78
4 files changed, 84 insertions, 0 deletions
diff --git a/trunk/src/distfiles-clean/AUTHORS b/trunk/src/distfiles-clean/AUTHORS
new file mode 100644
index 0000000..b9121b4
--- /dev/null
+++ b/trunk/src/distfiles-clean/AUTHORS
@@ -0,0 +1,4 @@
+
+José Fonseca <j_r_fonseca@yahoo.co.uk>
+ - Wrote all of it.
+
diff --git a/trunk/src/distfiles-clean/ChangeLog b/trunk/src/distfiles-clean/ChangeLog
new file mode 100644
index 0000000..dfe6aa8
--- /dev/null
+++ b/trunk/src/distfiles-clean/ChangeLog
@@ -0,0 +1,2 @@
+2002-15-11: Karl Trygve Kalleberg <karltk@gentoo.org>
+ * Imported newest contributions from #10647.
diff --git a/trunk/src/distfiles-clean/TODO b/trunk/src/distfiles-clean/TODO
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/trunk/src/distfiles-clean/TODO
diff --git a/trunk/src/distfiles-clean/distfiles-clean b/trunk/src/distfiles-clean/distfiles-clean
new file mode 100644
index 0000000..23af32b
--- /dev/null
+++ b/trunk/src/distfiles-clean/distfiles-clean
@@ -0,0 +1,78 @@
+#!/bin/sh
+#
+# distfiles-clean
+#
+# Cleans unused files from Portage's distfiles directory.
+#
+# José Fonseca <j_r_fonseca@yahoo.co.uk>
+
+PROGRAM=`basename "$0"`
+
+while [ ${#} -gt 0 ]
+do
+ case "$1" in
+ -h|--help)
+ USAGE=y
+ break
+ ;;
+ -i|--ignore)
+ IGNORE="$IGNORE $2"
+ shift 2
+ ;;
+ -I|--ignore-file)
+ IGNORE="$IGNORE `cat "$2"`"
+ shift 2
+ ;;
+ -p|--pretend)
+ PRETEND=y
+ shift
+ ;;
+ *)
+ echo "$PROGRAM: Invalid option \'$1\'" 1>&2
+ USAGE=y
+ break
+ ;;
+ esac
+done
+
+# For PORTDIR and DISTDIR
+. /etc/make.globals
+. /etc/make.conf
+
+if [ "$USAGE" ]
+then
+ echo "Usage: $PROGRAM [-h|--help] [-i|--ignore <glob>] [-I|--ignore-file <globfile>] [-p|--pretend]"
+ echo "Cleans unused files from $DISTDIR directory."
+ exit
+fi
+
+DBDIR=/var/db/pkg
+CACHEDIR=/var/cache/edb/dep
+
+for DIR in "$PORTDIR" "$DISTDIR" "$DBDIR" "$CACHEDIR"
+do
+ if [ ! -d "$DIR" ]
+ then
+ echo "$PROGRAM: \'$DIR\' not found."
+ exit
+ fi
+done
+
+TMPFILE=`mktemp /tmp/$PROGRAM.XXXXXX`
+
+cd "$DISTDIR"
+
+{
+ echo "cvs-src"
+ [ "$IGNORE" ] && ls -1d $IGNORE
+ find "$DBDIR" -name '*.ebuild' | sed -n -e "s:^$DBDIR/\([^/]*\)/\([^/]*\)/\([^/]*\)\.ebuild$:$CACHEDIR/\1/\3:p" | xargs sed -s -e '4!d;/^$/d;s/[[:alnum:]]\+?\|(\|)//g;s/\<[^[:space:]]\+\/\<//g;s/^[[:space:]]\+//g;s/[[:space:]]\+$//g;s/[[:space:]]\+/\n/g'
+} | sort -u > "$TMPFILE" && ls -1 | comm -23 - "$TMPFILE" | {
+ if [ "$PRETEND" ]
+ then
+ cat
+ else
+ xargs rm -f
+ fi
+}
+
+rm "$TMPFILE"