Update version number.
[grml-debootstrap.git] / grml-debootstrap
index 30e9c79..221f65f 100755 (executable)
@@ -11,7 +11,7 @@ set -e # exit on any error
 
 # variables {{{
 PN="$(basename $0)"
-VERSION='0.37'
+VERSION='0.39-git'
 MNTPOINT="/mnt/debootstrap.$$"
 
 # inside the chroot system locales might not be available, so use minimum:
@@ -93,16 +93,9 @@ check4progs debootstrap dialog || exit 1
 check4root || exit 1
 # }}}
 
-# source configuration file {{{
+# source main configuration file {{{
 if [ -r /etc/debootstrap/config ] ; then
-   if [ -n "$CONFIGFILE" ] ; then
-      einfo "Using config file $CONFIGFILE."
-      if ! . "$CONFIGFILE" ; then
-         eerror "Error reading config file $CONFIGFILE" ; eend 1 ; exit 1
-      fi
-   else
-      . /etc/debootstrap/config
-   fi
+  . /etc/debootstrap/config
 fi
 # }}}
 
@@ -172,6 +165,15 @@ fi
 }
 # }}}
 
+# source specified configuration file {{{
+if [ -n "$CONFIGFILE" ] ; then
+   einfo "Reading specified config file $CONFIGFILE."
+   if ! . "$CONFIGFILE" ; then
+      eerror "Error reading config file $CONFIGFILE" ; eend 1 ; exit 1
+   fi
+fi
+# }}}
+
 # backwards compability checks {{{
 if [ -n "$GROOT" ] ; then
    echo "Error: you seem to have \$GROOT configured." >&2
@@ -352,7 +354,7 @@ prompt_for_mirror()
      MIRROR="$(dialog --stdout --title "${PN}" --inputbox \
                "Please enter Debian mirror you would like to use for installing packages." \
                0 0 $MIRROR)"
-  else # CHROOT_VARIABLES == local
+  else # CHOOSE_MIRROR == local
      [ -n "$ISO" ] || ISO='/mnt/mirror'
      ISO="$(dialog --stdout --title "${PN}" --inputbox \
                "Please enter directory name you would like to use for installing packages." \
@@ -642,7 +644,7 @@ bailout(){
         [ -x "$MNTPOINT"/etc/init.d/ssh   ] && "$MNTPOINT"/etc/init.d/ssh stop
         [ -x "$MNTPOINT"/etc/init.d/mdadm ] && "$MNTPOINT"/etc/init.d/mdadm stop
         # ugly, but make sure we really don't leave anything (/proc /proc is intended)
-        for ARG in /sys -a /proc /proc ; do
+        for ARG in /sys /proc /proc ; do
           [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 || true
         done
         umount "$MNTPOINT"/dev >/dev/null 2>&1 || true
@@ -705,7 +707,11 @@ mkfs() {
 
        # make sure /dev/disk/by-uuid/... is up2date, otherwise grub
        # will fail to detect the uuid in the chroot
-       blockdev --rereadpt "${TARGET%%[0-9]*}"
+       if echo "$TARGET" | grep -q "/dev/md" ; then
+         blockdev --rereadpt "${TARGET}"
+       else
+         blockdev --rereadpt "${TARGET%%[0-9]*}"
+       fi
        # give the system 2 seconds, otherwise we might run into
        # race conditions :-/
        sleep 2