X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=clean-distfiles.sh;h=617000a4c8bb14280a85c5021bafade9532ef3da;hb=865d63f663fe99d185eff951be75023ce83900a2;hp=8e7cea9eac16372e8412cc6f38b15381c3dbb2d8;hpb=12d950d21b5103d424464382a47db88233bef3ee;p=packages%2Frpm-build-tools.git diff --git a/clean-distfiles.sh b/clean-distfiles.sh index 8e7cea9..617000a 100755 --- a/clean-distfiles.sh +++ b/clean-distfiles.sh @@ -1,16 +1,33 @@ #!/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 -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} +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,xz,deb,crx +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 +rmdir $purgedir || :