diff options
author | Daniel Baumann <daniel@debian.org> | 2009-12-23 22:27:18 +0100 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:17:03 +0100 |
commit | 45406a5c987a2e4510dbb5df06c93ed302228fc0 (patch) | |
tree | d366eaa164c1f7864b452cfcc9d7b8a7247b81b5 /functions | |
parent | 6d215be0e7cf165c6fe14d265e7dfdc66dccbc05 (diff) | |
download | live-build-45406a5c987a2e4510dbb5df06c93ed302228fc0.zip live-build-45406a5c987a2e4510dbb5df06c93ed302228fc0.tar.gz |
Making unmount routines a bit more robust.
Diffstat (limited to 'functions')
-rwxr-xr-x | functions/exit.sh | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/functions/exit.sh b/functions/exit.sh index 928fd6e..f29dbf7 100755 --- a/functions/exit.sh +++ b/functions/exit.sh @@ -20,10 +20,19 @@ Exit () # Always exit true in case we are not able to unmount # (e.g. due to running processes in chroot from user customizations) Echo_message "Begin unmounting filesystems..." - for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r) - do - umount ${DIRECTORY} > /dev/null 2>&1 || true - done + + if [ -e /proc/mounts ] + then + for DIRECTORY in $(awk -v dir="${PWD}/chroot/" '$2 ~ dir { print $2 }' /proc/mounts | sort -r) + do + umount ${DIRECTORY} > /dev/null 2>&1 || true + done + else + for DIRECTORY in /dev/pts /dev /proc /selinux /sys + do + umount -f chroot/${DIRECTORY} > /dev/null 2>&1 || true + done + fi return ${VALUE} } |