From 2a9079644708eedd190b82675a76372f9c8abd7e Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel@debian.org>
Date: Sun, 11 Nov 2007 21:33:43 +0100
Subject: Making umount calls check if they are actually necessary.

---
 functions/lockfile.sh    | 2 +-
 helpers/lh_chroot_devpts | 5 ++++-
 helpers/lh_chroot_proc   | 5 ++++-
 helpers/lh_chroot_sysfs  | 5 ++++-
 4 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/functions/lockfile.sh b/functions/lockfile.sh
index 81fe55993..8af675771 100755
--- a/functions/lockfile.sh
+++ b/functions/lockfile.sh
@@ -30,7 +30,7 @@ Create_lockfile ()
 	mkdir -p "${DIRECTORY}"
 
 	# Creating lock trap
-	trap 'ret=${?}; '"rm -f \"${FILE}\"; "'for FILESYSTEM in devpts proc sysfs; do lh_chroot_${FILESYSTEM} remove || continue; done; exit ${ret}' EXIT
+	trap 'ret=${?}; '"rm -f \"${FILE}\"; "'for FILESYSTEM in devpts proc sysfs; do lh_chroot_${FILESYSTEM} remove; done; exit ${ret}' EXIT
 
 	# Creating lock file
 	touch "${FILE}"
diff --git a/helpers/lh_chroot_devpts b/helpers/lh_chroot_devpts
index 236777ae3..0024fb973 100755
--- a/helpers/lh_chroot_devpts
+++ b/helpers/lh_chroot_devpts
@@ -70,7 +70,10 @@ case "${1}" in
 		Create_lockfile .lock
 
 		# Unmounting /dev/pts
-		${LH_ROOT_COMMAND} umount chroot/dev/pts > /dev/null 2>&1
+		if [ -e chroot/dev/pts/0 ]
+		then
+			${LH_ROOT_COMMAND} umount chroot/dev/pts
+		fi
 
 		# Removing stage file
 		rm -f .stage/chroot_devpts
diff --git a/helpers/lh_chroot_proc b/helpers/lh_chroot_proc
index 7d5688d26..378703adc 100755
--- a/helpers/lh_chroot_proc
+++ b/helpers/lh_chroot_proc
@@ -85,7 +85,10 @@ case "${1}" in
 
 			# Unmounting /proc
 			#fuser -km chroot/proc
-			${LH_ROOT_COMMAND} umount chroot/proc > /dev/null 2>&1
+			if [ -e chroot/proc/version ]
+			then
+				${LH_ROOT_COMMAND} umount chroot/proc
+			fi
 		else
 			rm -rf chroot/proc
 			mkdir -p chroot/proc
diff --git a/helpers/lh_chroot_sysfs b/helpers/lh_chroot_sysfs
index fef710dd9..b7931ae04 100755
--- a/helpers/lh_chroot_sysfs
+++ b/helpers/lh_chroot_sysfs
@@ -79,7 +79,10 @@ case "${1}" in
 		then
 			# Unmounting /sys
 			#fuser -km chroot/sys
-			${LH_ROOT_COMMAND} umount chroot/sys > /dev/null 2>&1
+			if [ -e chroot/sys/kernel ]
+			then
+				${LH_ROOT_COMMAND} umount chroot/sys
+			fi
 		else
 			rm -rf chroot/sys
 			mkdir -p chroot/sys
-- 
cgit v1.2.3