Bump Standards-Version to 4.2.1
[grml-scripts.git] / usr_sbin / grml-chroot
index 17f3d3c..6e292d5 100755 (executable)
@@ -45,8 +45,8 @@ function mountit
 
     local all_options_=""
 
-    if [[ $options_ == "--rbind" ]]; then
-        all_options_="--rbind $type_"
+    if [[ $options_ == "--bind" ]]; then
+        all_options_="--bind $type_"
     else
         all_options_="-t $type_ none"
     fi
@@ -55,8 +55,9 @@ function mountit
 
 function umount_all
 {
-    for i in $MOUNTED_; do
-        umount --recursive "${DEST_}/$i"
+    local reverse=$(echo $MOUNTED_ | awk '{ for (i=NF; i>1; i--) printf("%s ",$i); print $1; }')
+    for i in $reverse; do
+        umount "${DEST_}/$i"
     done
 }
 
@@ -78,6 +79,10 @@ if (( $# < 1 )); then
     die "Wrong number of arguments."
 fi
 
+if ! which awk >/dev/null 2>&1 ; then
+  die "No awk binary found, required for execution."
+fi
+
 DEST_="$1"; shift
 
 if [ ! -d "$DEST_" ]; then
@@ -87,7 +92,8 @@ fi
 
 mountit "proc"  "proc"
 mountit "sysfs" "sys"
-mountit "/dev"   "dev"   "--rbind"
+mountit "/dev"   "dev"   "--bind"
+mountit "devpts" "dev/pts"
 
 WROTE_DEBIAN_CHROOT=""
 if [ ! -f "$DEST_"/etc/debian_chroot ]; then