Support -N option to only bootstrap the grml_chroot and skip building of [files for...
[grml-live.git] / etc / grml / fai / config / hooks / updatebase.GRMLBASE
index b063b50..e38754d 100755 (executable)
@@ -24,32 +24,36 @@ if [ "$FAI_ACTION" = "softupdate" ] ; then
    ## we want to use our own sources.list:
    skiptask updatebase
 
-   ## taken from FAI's lib/updatebase:
+   ## based on FAI's lib/updatebase:
    # some packages must access /proc even in chroot environment
-   mount -t proc proc $FAI_ROOT/proc
+   if ! [ -d $FAI_ROOT/proc/1 ] ; then
+      mount -t proc proc $FAI_ROOT/proc || true
+   fi
    # some packages must access /sys even in chroot environment
-   mount -t sysfs sysfs $FAI_ROOT/sys
+   if ! [ -d $FAI_ROOT/sys/kernel ] ; then
+      mount -t sysfs sysfs $FAI_ROOT/sys
+   fi
    # if we are using udev, also mount it into $FAI_ROOT
-   [ -f /etc/init.d/udev ] && mount --bind /dev $FAI_ROOT/dev
-   mount -t devpts devpts $FAI_ROOT/dev/pts
-
-   ## make sure we don't start any daemons - removed
-   ## later on via /etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot
-   if ! [ -r $target/usr/sbin/policy-rc.d ] ; then
-      cat > $target/usr/sbin/policy-rc.d << EOF
-#!/bin/sh
-# FAI_ACTION=updatebase
-exit 101
-EOF
-      chmod 755 $target/usr/sbin/policy-rc.d
+   if [ -f /etc/init.d/udev ] ; then
+      mount --bind /dev $FAI_ROOT/dev || true
    fi
 
-   # skip the task if we want to build a new ISO only:
-   [ -n "$BUILD_ONLY" ] && skiptask instsoft || /bin/true
+   mount -t devpts devpts $FAI_ROOT/dev/pts || true
+
+   # skip the task if we want to build a new ISO only,
+   # this means we do NOT update any packages
+   if [ -n "$BUILD_ONLY" ] ; then
+      skiptask instsoft || true
+   fi
 
    exit # make sure we don't continue behind the following "fi"
 fi
 
+if [ -n "$BOOTSTRAP_ONLY" ] ; then
+  echo "Skipping task configure in hooks/updatebase.GRMLBASE as BOOTSTRAP_ONLY environment is set."
+  skiptask configure
+fi
+
 # no softupdate but updating chroot e.g. based on /etc/grml/fai/config/basefiles/*
 echo "Action $FAI_ACTION of FAI (hooks/updatebase.GRMLBASE) via grml-live running"