Copy Angstrom rc and rcS script files for JLiMe
authorKristoffer Ericson <kristoffer.ericson@gmail.com>
Sun, 27 Dec 2009 19:22:35 +0000 (20:22 +0100)
committerKristoffer Ericson <kristoffer.ericson@gmail.com>
Sun, 27 Dec 2009 19:22:35 +0000 (20:22 +0100)
Signed-off-by: Alex Ferguson <thoughtmonster@gmail.com>
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
recipes/sysvinit/sysvinit/jlime/rc [new file with mode: 0755]
recipes/sysvinit/sysvinit/jlime/rcS [new file with mode: 0755]

diff --git a/recipes/sysvinit/sysvinit/jlime/rc b/recipes/sysvinit/sysvinit/jlime/rc
new file mode 100755 (executable)
index 0000000..d1798ed
--- /dev/null
@@ -0,0 +1,180 @@
+#!/bin/sh
+#
+# rc           This file is responsible for starting/stopping
+#              services when the runlevel changes.
+#
+#              Optimization feature:
+#              A startup script is _not_ run when the service was
+#              running in the previous runlevel and it wasn't stopped
+#              in the runlevel transition (most Debian services don't
+#              have K?? links in rc{1,2,3,4,5} )
+#
+# Author:      Miquel van Smoorenburg <miquels@cistron.nl>
+#              Bruce Perens <Bruce@Pixar.com>
+#
+# Version:     @(#)rc  2.78  07-Nov-1999  miquels@cistron.nl
+#
+
+. /etc/default/rcS
+if [ -f /etc/default/splashfuncs ]; then
+    . /etc/default/splashfuncs
+    export SPLASH="1"
+fi
+export VERBOSE
+
+startup_progress() {
+       if [ "$SPLASH" = "1" ] ; then
+        step=$(($step + $step_change))
+        if [ "$num_steps" != "0" ] ; then
+            progress=$((($step * $progress_size / $num_steps) + $first_step))
+        else
+            progress=$progress_size
+        fi
+        #echo "PROGRESS is $progress $runlevel $first_step + ($step of $num_steps) $step_change $progress_size"
+        status_position $progress || true
+       fi
+}
+
+
+#
+# Start script or program.
+#
+startup() {
+  # Handle verbosity
+  [ "$VERBOSE" = very ] && echo "INIT: Running $@..."
+
+  case "$1" in
+       *.sh)
+               # Source shell script for speed.
+               (
+                       trap - INT QUIT TSTP
+                       scriptname=$1
+                       shift
+                       . $scriptname
+               )
+               ;;
+       *)
+               "$@"
+               ;;
+  esac
+  startup_progress
+}
+
+  # Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
+  trap ":" INT QUIT TSTP
+
+  # Set onlcr to avoid staircase effect.
+  stty onlcr 0>&1
+
+  # Now find out what the current and what the previous runlevel are.
+
+  runlevel=$RUNLEVEL
+  # Get first argument. Set new runlevel to this argument.
+  [ "$1" != "" ] && runlevel=$1
+  if [ "$runlevel" = "" ]
+  then
+       echo "Usage: $0 <runlevel>" >&2
+       exit 1
+  fi
+  previous=$PREVLEVEL
+  [ "$previous" = "" ] && previous=N
+
+  export runlevel previous
+
+  # Is there an rc directory for this new runlevel?
+  if [ -d /etc/rc$runlevel.d ]
+  then
+       # Find out where in the progress bar the initramfs got to.
+       PROGRESS_STATE=0
+       #if [ -f /dev/.initramfs/progress_state ]; then
+       #    . /dev/.initramfs/progress_state
+       #fi
+
+       # Split the remaining portion of the progress bar into thirds
+       progress_size=$(((100 - $PROGRESS_STATE) / 3))
+
+       case "$runlevel" in
+               0|6)
+                       # Count down from -100 to 0 and use the entire bar
+                       first_step=-100
+                       progress_size=100
+                       step_change=1
+                       ;;
+               S)
+                       # Begin where the initramfs left off and use 2/3
+                       # of the remaining space
+                       first_step=$PROGRESS_STATE
+                       progress_size=$(($progress_size * 2))
+                       step_change=1
+                       ;;
+               *)
+                       # Begin where rcS left off and use the final 1/3 of
+                       # the space (by leaving progress_size unchanged)
+                       first_step=$(($progress_size * 2 + $PROGRESS_STATE))
+                       step_change=1
+                       ;;
+       esac
+
+       num_steps=0
+       for s in /etc/rc$runlevel.d/[SK]*; do
+            case "${s##/etc/rc$runlevel.d/S??}" in
+                gdm|xdm|kdm|reboot|halt)
+                    break
+                    ;;
+            esac
+            num_steps=$(($num_steps + 1))
+        done
+        step=0
+
+       # First, run the KILL scripts.
+       if [ $previous != N ]
+       then
+               for i in /etc/rc$runlevel.d/K[0-9][0-9]*
+               do
+                       # Check if the script is there.
+                       [ ! -f $i ] && continue
+
+                       # Stop the service.
+                       startup $i stop
+               done
+       fi
+
+       # Now run the START scripts for this runlevel.
+       for i in /etc/rc$runlevel.d/S*
+       do
+               [ ! -f $i ] && continue
+
+               if [ $previous != N ] && [ $previous != S ]
+               then
+                       #
+                       # Find start script in previous runlevel and
+                       # stop script in this runlevel.
+                       #
+                       suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]}
+                       stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix
+                       previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
+                       #
+                       # If there is a start script in the previous level
+                       # and _no_ stop script in this level, we don't
+                       # have to re-start the service.
+                       #
+                       [ -f $previous_start ] && [ ! -f $stop ] && continue
+               fi
+               case "$runlevel" in
+                       0|6)
+                               startup $i stop
+                               ;;
+                       *)
+                               startup $i start
+                               ;;
+               esac
+       done
+  fi
+
+#Uncomment to cause psplash to exit manually, otherwise it exits when it sees a VC switch
+#if [ "x$runlevel" != "xS" ]; then
+#    if type splash-write >/dev/null 2>&1; then
+#        TMPDIR=/mnt/.splash splash-write "QUIT" || true
+#      umount /mnt/.splash
+#    fi
+#fi
diff --git a/recipes/sysvinit/sysvinit/jlime/rcS b/recipes/sysvinit/sysvinit/jlime/rcS
new file mode 100755 (executable)
index 0000000..90af414
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# rcS          Call all S??* scripts in /etc/rcS.d in
+#              numerical/alphabetical order.
+#
+# Version:     @(#)/etc/init.d/rcS  2.76  19-Apr-1999  miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+runlevel=S
+prevlevel=N
+umask 022
+export PATH runlevel prevlevel
+
+#      Make sure proc is mounted
+#
+[ -d "/proc/1" ] || mount /proc
+
+#
+#      See if system needs to be setup. This is ONLY meant to
+#      be used for the initial setup after a fresh installation!
+#
+if [ -x /sbin/unconfigured.sh ]
+then
+  /sbin/unconfigured.sh
+fi
+
+#
+#      Source defaults.
+#
+. /etc/default/rcS
+
+#
+#      Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
+#
+trap ":" INT QUIT TSTP
+
+#
+#      Call all parts in order.
+#
+exec /etc/init.d/rc S
+
+#
+#      For compatibility, run the files in /etc/rc.boot too.
+#
+[ -d /etc/rc.boot ] && run-parts /etc/rc.boot
+
+#
+#      Finish setup if needed. The comment above about
+#      /sbin/unconfigured.sh applies here as well!
+#
+if [ -x /sbin/setup.sh ]
+then
+  /sbin/setup.sh
+fi
+