]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | # cleanup distfiles-like files, i.e archives that can be likely be | |
3 | # re-downloaded. | |
4 | # | |
5 | # TODO: | |
6 | # - make it smarter: | |
7 | # - consult .gitignore of each package first | |
8 | # - do not clean NoSource files | |
9 | # - do not clean proprietary License packages | |
10 | set -e | |
11 | ||
12 | # be sure we are in right dir | |
13 | topdir="${1:-$(rpm -E %_topdir)}" | |
14 | topdir=$(readlink -f "$topdir") | |
15 | purgedir=$topdir/df-purge | |
16 | ||
17 | if [ -d "$purgedir" ]; then | |
18 | echo >&2 "Previous pruge dir exists: $purgedir, remove it to resume" | |
19 | exit 1 | |
20 | fi | |
21 | ||
22 | cd "$topdir" | |
23 | ||
24 | 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 | |
25 | ls -ldrSh */*.{$ext} || : | |
26 | echo */*.{$ext} | xargs stat -c %s | awk '{s+=$1} END {printf("Total: %d MiB\n", s/1014/1024)}' | |
27 | ||
28 | echo Move to $purgedir? Hit Ctrl+C to abort | |
29 | read a | |
30 | ||
31 | install -d $purgedir | |
32 | mv */*.{$ext} $purgedir | |
33 | rmdir $purgedir || : |