Don't do anything in initscript when using toram (Closes: #601575).
[live-boot-grml.git] / debian / live-boot.init
index 298295d..2ea72cb 100644 (file)
@@ -2,12 +2,12 @@
 
 ### BEGIN INIT INFO
 # Provides:            live-boot
-# Required-Start:      $syslog
+# Required-Start:      $syslog bootmisc
 # Required-Stop:
 # Should-Start:                $local_fs
 # Should-Stop:         halt reboot
 # X-Stop-After:                umountroot
-# Default-Start:
+# Default-Start:       S
 # Default-Stop:                0 6
 # Short-Description:   live-boot init script
 # Description:         Resyncs snapshots, evantually caches files in order to
@@ -21,15 +21,13 @@ PATH=/usr/sbin:/usr/bin:/sbin:/bin
 NAME=live-boot
 SCRIPTNAME=/etc/init.d/${NAME}
 DO_SNAPSHOT=/sbin/live-snapshot
+SNAPSHOT_CONF="/etc/live/boot.d/snapshot.conf"
 
 # Exit if system was not booted by live-boot
 grep -qs boot=live /proc/cmdline || exit 0
 
-# Exit if the system was booted from an ISO image rather than a physical CD
-grep -qs find_iso= /proc/cmdline && exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/live.conf ] && . /etc/live.conf
+# Read snapshot configuration variables
+[ -r ${SNAPSHOT_CONF} ] && . ${SNAPSHOT_CONF}
 
 # Load the VERBOSE setting and other rcS variables
 [ -f /etc/default/rcS ] && . /etc/default/rcS
@@ -51,7 +49,7 @@ cache_path()
        then
                if [ -x "${path}" ]
                then
-                       if file "${path}" | grep -q 'dynamically linked'
+                       if file -L "${path}" | grep -q 'dynamically linked'
                        then
                                for lib in $(ldd "${path}" | awk '{ print $3 }')
                                do
@@ -99,6 +97,7 @@ do_stop ()
 {
        if ! grep -qs nopersistent /proc/cmdline && grep -qs persistent /proc/cmdline
        then
+               # ROOTSNAP and HOMESNAP are defined in ${SNAPSHOT_CONF} file
                if [ ! -z "${ROOTSNAP}" ]
                then
                        ${DO_SNAPSHOT} --resync-string="${ROOTSNAP}"
@@ -116,6 +115,12 @@ do_stop ()
                return 0
        fi
 
+       # check for toram
+       if grep -qs toram /proc/cmdline
+       then
+               return 0
+       fi
+
        # Don't prompt to eject the SD card on Babbage board, where we reuse it
        # as a quasi-boot-floppy. Technically this uses a bit of ubiquity
        # (archdetect), but since this is mostly only relevant for
@@ -137,7 +142,7 @@ do_stop ()
                prompt=
        fi
 
-       for path in $(which halt) $(which reboot) /etc/rc?.d /etc/default $(which stty) /bin/plymouth /sbin/usplash_write
+       for path in $(which halt) $(which reboot) /etc/rc?.d /etc/default $(which stty) /bin/plymouth
        do
                cache_path "${path}"
        done
@@ -153,6 +158,9 @@ do_stop ()
 
        if [ -z ${QUICKREBOOT} ]
        then
+
+               # Exit if the system was booted from an ISO image rather than a physical CD
+               grep -qs find_iso= /proc/cmdline && return 0
                # TODO: i18n
                BOOT_DEVICE="$(get_boot_device)"
 
@@ -185,13 +193,6 @@ do_stop ()
 
                        printf "\n\n${MESSAGE} and press ENTER to continue:" > /dev/console
 
-                       if [ -x /sbin/usplash_write ]
-                       then
-                               /sbin/usplash_write "TIMEOUT 86400"
-                               /sbin/usplash_write "TEXT-URGENT ${MESSAGE}"
-                               /sbin/usplash_write "TEXT-URGENT and press ENTER to continue"
-                       fi
-
                        read x < /dev/console
                fi
        fi
@@ -201,8 +202,15 @@ case "${1}" in
        restart|reload|force-reload|status)
                [ "${VERBOSE}" != no ] && log_end_msg 0
                ;;
+       start)
+               log_begin_msg "${NAME} is configuring sendsigs..."
+               if [ -f /live/root.pid ] ; then
+                       cat /live/root.pid >> /var/run/sendsigs.omit
+               fi
+               log_end_msg 0
+               ;;
 
-       start|stop)
+       stop)
                log_begin_msg "${NAME} is resyncing snapshots and caching reboot files..."
                do_stop