X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=clean-distfiles.sh;h=459f731b4fdf7691dac537fc8d068d663fcf8dd9;hb=4c36d1897211469da80eebfe98e49626eb3463de;hp=8e7cea9eac16372e8412cc6f38b15381c3dbb2d8;hpb=e55f7969b4ca40a9284c228d2824b60a1c200176;p=packages%2Frpm-build-tools.git diff --git a/clean-distfiles.sh b/clean-distfiles.sh old mode 100644 new mode 100755 index 8e7cea9..459f731 --- 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 +echo Move to $purgedir? Hit Ctrl+C to abort read a -rm -vf */*.{$ext} +install -d $purgedir +mv */*.{$ext} $purgedir +rmdir $purgedir || :