[ "x$CHROOT" != x ] || CHROOT=/debian
fi
+# Strip off a trailing slash
+LASTCHAR=`echo $CHROOT | cut -c ${#CHROOT}`
+if [ "$LASTCHAR" = "/" ] ; then
+ echo "..stripping trailing slash..." >/dev/stderr
+ CHROOT=`echo $CHROOT | cut -c 0-$((${#CHROOT}-1))`
+fi
+
#Abort if chroot not mounted.
if [ ! -f "$CHROOT/var/lock/qmount-complete" ] ; then
echo "Nothing to do; chroot not mounted!"
echo "Closing the chroot..."
-#
+# Fremantle's fuser command is broken.
+# We can either use Debian's one instead (as gfuser),
+# or we can use the workaround: "cd /proc" first.
+
+echo "...closing chroot apps..."
TEST1=`mount | grep " $CHROOT "`
if [ "x$TEST1" != "x" ] ; then
- echo "...Killing chroot apps..."
- fuser -m "$CHROOT" -k
+ if [ -f "/bin/gfuser" ] ; then
+ gfuser -m "$CHROOT" -k
+ else
+ cd /proc
+ fuser -m "$CHROOT" -k
+ fi
else
- fuser "$CHROOT" -k
+ if [ -f "/bin/gfuser" ] ; then
+ gfuser "$CHROOT" -k
+ else
+ cd /proc
+ fuser "$CHROOT" -k
+ fi
fi
echo "..Unmounting bound dirs..."
#Any external mounts
+
+umount -fl $CHROOT/home/user/MyDocs
+umount -fl $CHROOT/dev/pts
+umount -fl $CHROOT/dev/shm
+
MNTD=`cat /proc/mounts | grep " $CHROOT/" | awk '{print $2}'`
for MDRV in $MNTD ; do
echo "unmounting $MDRV"