diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2010-04-11 13:52:32 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2010-04-11 13:52:32 +0200 |
commit | ad520b527f3c5d2471e4b471eca5439643a01939 (patch) | |
tree | 9ab80ba4aa1537fa53c89093761473e3a0c1a49c /misc-scripts | |
parent | 154b5301ff08ef29ff69afc17789a4f1a6a00c20 (diff) | |
download | dbscripts-ad520b527f3c5d2471e4b471eca5439643a01939.tar.gz dbscripts-ad520b527f3c5d2471e4b471eca5439643a01939.tar.xz |
Fail if lock couldn't be obtained; Unlock the repos if ftpdir-cleanup fails
Diffstat (limited to 'misc-scripts')
-rwxr-xr-x | misc-scripts/ftpdir-cleanup | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/misc-scripts/ftpdir-cleanup b/misc-scripts/ftpdir-cleanup index 4c559b9..d5f5737 100755 --- a/misc-scripts/ftpdir-cleanup +++ b/misc-scripts/ftpdir-cleanup @@ -13,13 +13,24 @@ dest=$2 . "$(dirname $0)/../db-functions" . "$(dirname $0)/../config" +cleanup() { + trap '' 2 15 + for arch in ${ARCHES[@]}; do + repo_unlock $reponame $arch + done + exit 1 +} + +trap cleanup 2 +trap cleanup 15 + ${CLEANUP_DRYRUN} && echo 'dry run mode is active' ftppath_base="$FTP_BASE/$reponame/$FTP_OS_SUFFIX" for arch in ${ARCHES[@]}; do - repo_lock $reponame $arch $LOCK_TIMEOUT + repo_lock $reponame $arch $LOCK_TIMEOUT || continue TMPDIR=$(mktemp -d /tmp/cleanup-XXXXXX) || exit 1 ftppath="$ftppath_base/$arch" |