diff options
author | Holger Levsen <holger@layer-acht.org> | 2014-11-03 03:54:51 +0100 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2014-11-03 03:54:51 +0100 |
commit | cbca7c3a6b0d04ad0a001e8e028e701817a82b2f (patch) | |
tree | 2a3901796f712bec5097a275264492100fdc4be1 /bin | |
parent | 8178375e27fe80db2429811c9195a43f7840e3a8 (diff) | |
download | jenkins.debian.net-cbca7c3a6b0d04ad0a001e8e028e701817a82b2f.tar.xz |
reproducible_setup_schroot: cleanup writelock properly on failure
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/reproducible_setup_schroot.sh | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/bin/reproducible_setup_schroot.sh b/bin/reproducible_setup_schroot.sh index 399b8a9b..0dc50ec8 100755 --- a/bin/reproducible_setup_schroot.sh +++ b/bin/reproducible_setup_schroot.sh @@ -74,6 +74,12 @@ bootstrap $@ trap - INT TERM EXIT +remove_writelock() { + # remove the lock + rm $DBDCHROOT_WRITELOCK +} + +trap remove_writelock INT TERM EXIT # aquire a write lock in any case touch $DBDCHROOT_WRITELOCK if [ -f $DBDCHROOT_READLOCK ] ; then @@ -102,7 +108,7 @@ sudo mv $CHROOT_TARGET $SCHROOT_BASE/"$TARGET" if [ -d $SCHROOT_BASE/"$TARGET"-"$rand" ] then - sudo rm -rf --one-file-system $SCHROOT_BASE/"$TARGET"-"$rand" + sudo rm -rf --one-file-system $SCHROOT_BASE/"$TARGET"-"$rand" || ( echo "Warning: $SCHROOT_BASE/${TARGET}-$rand could not be fully removed." ; ls $SCHROOT_BASE/${TARGET}-$rand -la ) fi # write the schroot config @@ -117,6 +123,5 @@ sudo tee /etc/schroot/chroot.d/jenkins-"$TARGET" <<-__END__ union-type=aufs __END__ -# remove the lock -rm $DBDCHROOT_WRITELOCK - +trap - INT TERM EXIT +remove_writelock |