Use do_on_exit() in build scripts for cleanup

This commit is contained in:
Reto Buerki
2013-01-17 15:22:11 +01:00
committed by Tobias Brunner
parent 9a045eef8e
commit 0cc4063799
3 changed files with 11 additions and 9 deletions
+3 -3
View File
@@ -32,6 +32,9 @@ log_action "Mounting cache to $CACHEDIR"
mkdir -p $APTCACHE
execute "mount -o bind $CACHEDIR $APTCACHE"
do_on_exit umount -l $APTCACHE
do_on_exit umount -l $LOOPDIR
log_action "Running debootstrap ($ROOTFSSUITE, $ROOTFSARCH)"
execute "debootstrap --arch=$ROOTFSARCH --include=$PACKAGES $ROOTFSSUITE $LOOPDIR $ROOTFSMIRROR"
@@ -45,6 +48,3 @@ do
log_action "Disabling service $service"
execute_chroot "update-rc.d -f $service remove"
done
execute "umount -l $APTCACHE" 0
execute "umount -l $LOOPDIR" 0
+4 -1
View File
@@ -36,6 +36,9 @@ else
HOSTS=$*
fi
# just to be sure
do_on_exit umount $LOOPDIR
for host in $HOSTS
do
log_action "Creating guest image for $host"
@@ -56,6 +59,6 @@ do
execute_chroot "chown -R openldap:openldap /var/lib/ldap" 0
fi
sync
umount $LOOPDIR
log_status 0
umount $LOOPDIR
done
+4 -5
View File
@@ -41,6 +41,10 @@ mkdir -p $LOOPDIR/root/compile
log_action "Mounting $ROOTFSCOMPILEDIR as /root/compile"
execute "mount -o bind $ROOTFSCOMPILEDIR $LOOPDIR/root/compile"
do_on_exit umount $LOOPDIR/root/compile
do_on_exit umount $LOOPDIR/proc
do_on_exit umount $LOOPDIR
echo "Installing software from source"
RECPDIR=$UMLTESTDIR/testing/scripts/recipes
RECIPES=`ls $RECPDIR/*.mk | xargs -n1 basename`
@@ -52,8 +56,6 @@ do
execute_chroot "make SWANVERSION=$SWANVERSION -C /root/compile -f $r"
done
umount $LOOPDIR/root/compile
log_action "Setting up shared build tree at /root/compile"
echo "" >> $LOOPDIR/etc/fstab
echo "none /root/compile hostfs $ROOTFSCOMPILEDIR" >> $LOOPDIR/etc/fstab
@@ -61,6 +63,3 @@ log_status 0
log_action "Removing /etc/resolv.conf"
execute "rm -f $LOOPDIR/etc/resolv.conf"
execute "umount $LOOPDIR/proc" 0
execute "umount $LOOPDIR" 0