Use do_on_exit() in build scripts for cleanup
This commit is contained in:
committed by
Tobias Brunner
parent
9a045eef8e
commit
0cc4063799
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user