index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
-rwxr-xr-x | bin/clean-cache | 36 |
diff --git a/bin/clean-cache b/bin/clean-cache index 2ed8c58..eda926f 100755 --- a/bin/clean-cache +++ b/bin/clean-cache @@ -5,8 +5,6 @@ # shellcheck source=../lib/load-configuration . "${0%/*}/../lib/load-configuration" -# TODO: remove hard-coded package suffixes - if [ $# -eq 0 ]; then dummynator='sudo' elif [ $# -eq 1 ] && [ "x$1" = 'x-n' ]; then @@ -53,13 +51,29 @@ find "${tmp_dir}" -type f -name desc \ ' | \ sort -k2,2 | \ uniq -uf1 | \ - while read -r s; do - printf '%s%s\n' \ - "${s}" '-i686.pkg.tar.xz' \ - "${s}" '-any.pkg.tar.xz' \ - "${s}" '-i686.pkg.tar.zst' \ - "${s}" '-any.pkg.tar.zst' - done | \ + sed -n ' + h + '"$( + # shellcheck disable=SC2016 + { + printf 'SELECT' + printf ' CONCAT(' + printf '"g;s@$@-",' + printf '`architectures`.`name`,' + printf '".pkg.",' + printf '`compressions`.`suffix`,' + printf '"@;p"' + printf ')' + printf ' FROM `compressions`' + printf ' JOIN `architectures`;\n' + } \ + | mysql_run_query + )" \ sha256sum -c --ignore-missing --quiet 2> /dev/null | \ - sed 's|: FAILED$||' | \ - xargs -r ${dummynator} rm + sed -n ' + s|: FAILED$|| + T + p + s/$/.sig/ + ' | \ + xargs -r ${dummynator} rm -f |