diff options
Diffstat (limited to 'db-cleanup')
-rwxr-xr-x | db-cleanup | 62 |
1 files changed, 31 insertions, 31 deletions
@@ -10,13 +10,13 @@ # * Instant cleanup! trap_exit() { - echo - error "$@" - exit 1 + echo + error "$@" + exit 1 } source "$(dirname "$(readlink -e "$0")")/config" -source "$(dirname "$(readlink -e "$0")")/libremessages" +source "$(dirname "$(readlink -e "$0")")/db-functions" # From makepkg set -E @@ -25,42 +25,42 @@ trap 'trap_exit "$(gettext "TERM signal caught. Exiting...")"' TERM HUP QUIT trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR -${CLEANUP_DRYRUN} && EXTRAFLAGS+=" --dry-run" +EXTRAFLAGS=() +"${CLEANUP_DRYRUN}" && EXTRAFLAGS+=(--dry-run) -for _repo in ${PKGREPOS[@]}; do - for _arch in ${ARCHES[@]}; do - msg "Getting ${_repo}-${_arch} database" +for _repo in "${PKGREPOS[@]}"; do + for _arch in "${ARCHES[@]}"; do + msg "Getting ${_repo}-${_arch} database" - dbfile="${FTP_BASE}/${_repo}/os/${_arch}/${_repo}${DBEXT}" + dbfile="${FTP_BASE}/${_repo}/os/${_arch}/${_repo}${DBEXT}" - if [ ! -r "${dbfile}" ]; then - warning "Not found" - continue - fi + if [ ! -r "${dbfile}" ]; then + warning "Not found" + continue + fi -# Echo the contents into a filter file - bsdtar tf "${dbfile}" | \ - cut -d'/' -f1 | \ - sort -u | \ - sed "s|$|*|" >> /tmp/${0##*/}.$$.filter + # Echo the contents into a filter file + bsdtar tf "${dbfile}" | \ + cut -d'/' -f1 | \ + sort -u | \ + sed "s|$|*|" >> "/tmp/${0##*/}.$$.filter" - done + done done msg "Removing old files:" -for POOL in ${PKGPOOLS[@]} ${SRCPOOLS[@]}; do - msg2 "${POOL}" +for POOL in "${PKGPOOLS[@]}" "${SRCPOOLS[@]}"; do + msg2 "${POOL}" - rsync ${EXTRAFLAGS} -va --delete-excluded \ - --include-from="/tmp/${0##*/}.$$.filter" \ - --exclude="*" \ - ${FTP_BASE}/${POOL}/ \ - ${FTP_BASE}/${POOL}/ + rsync "${EXTRAFLAGS[@]}" -va --delete-excluded \ + --include-from="/tmp/${0##*/}.$$.filter" \ + --exclude="*" \ + "${FTP_BASE}/${POOL}/" \ + "${FTP_BASE}/${POOL}/" done -msg "Removing symlinks:" -find -L ${FTP_BASE}/ -type l -${CLEANUP_DRYRUN} || find -L ${FTP_BASE}/ -type l -delete - -exit $? +msg "Removing dead symlinks:" +actions=(-print) +"${CLEANUP_DRYRUN}" || actions+=(-delete) +find -L "${FTP_BASE}/" -type l -print -delete |