+++ /dev/null
---- subroutines.orig 2007-12-16 11:20:12.000000000 +0000
-+++ subroutines 2007-12-16 11:23:01.000000000 +0000
-@@ -294,6 +294,10 @@
- echo Performing FAI system update. All data may be overwritten!
- task softupdate
- ;;
-+ chrootupdate)
-+ echo Performing FAI chroot update. All data may be overwritten!
-+ task chrootupdate
-+ ;;
- sysinfo)
- echo Showing system information.
- task sysinfo
-@@ -568,6 +572,49 @@
- }
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-+task_chrootupdate() {
-+
-+ local stamp=/var/run/fai/fai_chrootupdate_is_running
-+
-+ [ -f "$stamp" ] && die "Another fai chrootupdate is already running. Aborting."
-+ echo $$ > $stamp
-+ # if the system had been installed using fai < 3.0 disk_var.sh is found in /etc/fai
-+ if [ ! -f /var/lib/fai/disk_var.sh -a -f /etc/fai/disk_var.sh ] ; then
-+ mv /etc/fai/disk_var.sh /var/lib/fai/
-+ fi
-+ # the following copy operation is required to make $LOGDIR a reliable source
-+ # for disk_var.sh
-+ # use the last disk_var during update if available
-+ [ -f /var/lib/fai/disk_var.sh ] && cp -p /var/lib/fai/disk_var.sh $LOGDIR
-+
-+ defnop wait_for_jobs
-+ save_dmesg
-+
-+ task mirror
-+ task debconf
-+ task configure
-+ date
-+ echo "The $FAI_ACTION took $[$(cut -d . -f 1 /proc/uptime)-$start_seconds] seconds."
-+
-+ rm -f $stamp
-+ # save again, because new messages could be created
-+ save_dmesg
-+ task savelog
-+
-+ if [ -f $stamp ]; then
-+ echo "Error while executing commands in subshell."
-+ echo -n "$stamp was not removed. PID of running process: "
-+ cat $stamp
-+ sendmon "TASKERROR chrootupdate 21"
-+ die "Please look at the log files in $LOGDIR for errors."
-+ fi
-+ echo $FAI_CONFIG_SRC | grep -q ^nfs://
-+ if [ $? -eq 0 ]; then
-+ grep -q ^$FAI /etc/mtab && umount $FAI
-+ fi
-+}
-+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-+
- catnc() {
- # cat but no comment lines
- egrep -v "^#" $@