X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=clean-distfiles.sh;h=b49f1b23bdb57fe5e43ebbae72c1ad3fcd9b0a6d;hb=fc5f9bd4ec7fb80b5ef562aaa5fec582e74e7a7e;hp=8e7cea9eac16372e8412cc6f38b15381c3dbb2d8;hpb=12d950d21b5103d424464382a47db88233bef3ee;p=packages%2Frpm-build-tools.git diff --git a/clean-distfiles.sh b/clean-distfiles.sh index 8e7cea9..b49f1b2 100755 --- a/clean-distfiles.sh +++ b/clean-distfiles.sh @@ -1,16 +1,32 @@ #!/bin/sh -# cleanup distfiles like files, i.e archives that can be likely be +# cleanup distfiles-like files, i.e archives that can be likely be # re-downloaded. +# +# TODO: +# - make it smarter: +# - consult .gitignore of each package first +# - do not clean NoSource files +# - do not clean proprietary License packages +set -e # be sure we are in right dir -dir=$(dirname "$0") -cd "$dir" +topdir="${1:-$(rpm -E %_topdir)}" +topdir=$(readlink -f "$topdir") +purgedir=$topdir/df-purge + +if [ -d "$purgedir" ]; then + echo >&2 "Previous pruge dir exists: $purgedir, remove it to resume" + exit 1 +fi + +cd "$topdir" ext=bz2,gz,rar,tgz,tbz2,zip,jar,Z,tar,png,ico,xpm,gif,rpm,bin,run,exe,iso,xpi,ZIP,dll,pdf -ls -ldrSh */*.{$ext} +ls -ldrSh */*.{$ext} || : echo */*.{$ext} | xargs stat -c %s | awk '{s+=$1} END {printf("Total: %d MiB\n", s/1014/1024)}' echo remove? ctrl+c to abort read a -rm -vf */*.{$ext} +install -d $purgedir +mv */*.{$ext} $purgedir