Make trim_path() handle "/", and arbitrarily many consecutive /:es.
[live-boot-grml.git] / scripts / live-bottom / 24preseed
index f4b2db0..85c6494 100755 (executable)
@@ -18,7 +18,7 @@ case "${1}" in
                ;;
 esac
 
-# live-initramfs header
+# live-boot header
 
 if [ -n "${NOPRESEED}" ]
 then
@@ -27,18 +27,21 @@ fi
 
 . /scripts/live-functions
 
-log_begin_msg "Loading preseed file..."
+log_begin_msg "Loading preseed file"
 
-# live-initramfs script
+# live-boot script
 
 if [ -e /preseed.cfg ]
 then
        chroot /root debconf-set-selections < /preseed.cfg
 fi
 
-if [ -f "/root/${LOCATION}" ]
+if [ -n "${LOCATIONS}" ]
 then
-       chroot /root debconf-set-selections < "/root/${LOCATION}"
+       for item in ${LOCATIONS}
+       do
+               chroot /root debconf-set-selections < "/root${item}"
+       done
 fi
 
 if [ -n "${PRESEEDS}" ]
@@ -52,6 +55,17 @@ then
        done
 fi
 
+reply="$(echo "GET preseed/early_command" | chroot /root debconf-communicate -fnoninteractive live-boot)"
+
+if [ "${reply#0 }" != "${reply}" ]
+then
+       reply="${reply#0 }"
+       sh -c "${reply}"
+fi
+
+# Clear out debconf database backup files to save memory.
+rm -f /root/var/cache/debconf/*.dat-old
+
 log_end_msg
 
 exit 0