diff options
author | Michael Lauer <mickey@vanille-media.de> | 2007-08-04 13:59:24 +0000 |
---|---|---|
committer | Michael Lauer <mickey@vanille-media.de> | 2007-08-04 13:59:24 +0000 |
commit | a96addae0d426c877fd52c6356f91532362bafab (patch) | |
tree | 9c501947dbba7b0782f07b7df4b1c4f1f162d866 /packages | |
parent | 53ffe16caaf2f7d9871c246f6aaaf9a3faf4be27 (diff) |
sysvinit: add openmoko specifics
repair formatting. DON'T MIX TABS AND SPACES!!!!!!
Diffstat (limited to 'packages')
-rw-r--r-- | packages/sysvinit/sysvinit/openmoko/.mtn2git_empty | 0 | ||||
-rwxr-xr-x | packages/sysvinit/sysvinit/openmoko/rc | 176 | ||||
-rwxr-xr-x | packages/sysvinit/sysvinit/openmoko/rcS | 56 | ||||
-rw-r--r-- | packages/sysvinit/sysvinit_2.86.bb | 12 |
4 files changed, 238 insertions, 6 deletions
diff --git a/packages/sysvinit/sysvinit/openmoko/.mtn2git_empty b/packages/sysvinit/sysvinit/openmoko/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/sysvinit/sysvinit/openmoko/.mtn2git_empty diff --git a/packages/sysvinit/sysvinit/openmoko/rc b/packages/sysvinit/sysvinit/openmoko/rc new file mode 100755 index 0000000000..30b69ad516 --- /dev/null +++ b/packages/sysvinit/sysvinit/openmoko/rc @@ -0,0 +1,176 @@ +#!/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 +export VERBOSE + +startup_progress() { + 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" + if type psplash-write >/dev/null 2>&1; then + TMPDIR=/mnt/.psplash psplash-write "PROGRESS $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 psplash-write >/dev/null 2>&1; then +# TMPDIR=/mnt/.psplash psplash-write "QUIT" || true +# umount /mnt/.psplash +# fi +#fi diff --git a/packages/sysvinit/sysvinit/openmoko/rcS b/packages/sysvinit/sysvinit/openmoko/rcS new file mode 100755 index 0000000000..90af4149e4 --- /dev/null +++ b/packages/sysvinit/sysvinit/openmoko/rcS @@ -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 + diff --git a/packages/sysvinit/sysvinit_2.86.bb b/packages/sysvinit/sysvinit_2.86.bb index 7360a13104..a4ce1252f8 100644 --- a/packages/sysvinit/sysvinit_2.86.bb +++ b/packages/sysvinit/sysvinit_2.86.bb @@ -2,7 +2,7 @@ DESCRIPTION = "System-V like init." SECTION = "base" LICENSE = "GPL" HOMEPAGE = "http://freshmeat.net/projects/sysvinit/" -PR = "r34" +PR = "r35" # USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. # Set PACKAGE_ARCH appropriately. @@ -19,14 +19,14 @@ USE_VT ?= "1" SYSVINIT_ENABLED_GETTYS ?= "1" SRC_URI = "ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-${PV}.tar.gz \ - file://install.patch;patch=1 \ + file://install.patch;patch=1 \ file://need \ file://provide \ file://inittab \ file://rcS-default \ file://rc \ file://rcS \ - file://bootlogd.init" + file://bootlogd.init" S = "${WORKDIR}/sysvinit-${PV}" B = "${S}/src" @@ -56,9 +56,9 @@ EXTRA_OEMAKE += "'INSTALL=install' \ do_install () { oe_runmake 'ROOT=${D}' install - install -d ${D}${sysconfdir} \ - ${D}${sysconfdir}/default \ - ${D}${sysconfdir}/init.d + install -d ${D}${sysconfdir} + install -d ${D}${sysconfdir}/default + install -d ${D}${sysconfdir}/init.d install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab if [ ! -z "${SERIAL_CONSOLE}" ]; then echo "S:2345:respawn:${base_sbindir}/getty ${SERIAL_CONSOLE}" >> ${D}${sysconfdir}/inittab |