Making unmount routines a bit more robust.

This commit is contained in:
Daniel Baumann 2009-12-23 22:27:18 +01:00
parent 6d215be0e7
commit 45406a5c98
2 changed files with 16 additions and 5 deletions

View File

@ -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}
}

View File

@ -67,9 +67,11 @@ case "${1}" in
# Unmounting /dev/pts
if [ "${LH_USE_FAKEROOT}" != "true" ]
then
if Find_files chroot/dev/pts/*
if grep -qs "$(pwd)/chroot/dev/pts" /proc/mounts || Find_files chroot/dev/pts/*
then
${LH_ROOT_COMMAND} umount chroot/dev/pts
else
${LH_ROOT_COMMAND} umount -f chroot/dev/pts > /dev/null 2>&1 || true
fi
fi