diff options
Diffstat (limited to 'meta/recipes-core/sysvinit')
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch | 23 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch | 81 | ||||
-rwxr-xr-x | meta/recipes-core/sysvinit/sysvinit/bootlogd.init | 85 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/inittab | 30 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/need | 6 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/postinst | 17 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/prerm | 9 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/provide | 6 | ||||
-rwxr-xr-x | meta/recipes-core/sysvinit/sysvinit/rc | 179 | ||||
-rwxr-xr-x | meta/recipes-core/sysvinit/sysvinit/rcS | 34 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit/rcS-default | 25 | ||||
-rw-r--r-- | meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb | 135 |
12 files changed, 630 insertions, 0 deletions
diff --git a/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch new file mode 100644 index 000000000..b9511f088 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/crypt-lib.patch @@ -0,0 +1,23 @@ +# The src Makefile was checking for libcrypt.a on the host, not in the +# build environment. This patch checks for $LCRYPT in the environment +# and uses it if it's there. +# - jdike@linux.intel.com + +Index: sysvinit-2.88dsf/src/Makefile +=================================================================== +--- sysvinit-2.88dsf.orig/src/Makefile ++++ sysvinit-2.88dsf/src/Makefile +@@ -85,9 +85,13 @@ else + endif + + # Additional libs for GNU libc. ++ifneq ($(LCRYPT),) ++ SULOGINLIBS += $(LCRYPT) ++else + ifneq ($(wildcard /usr/lib*/libcrypt.a),) + SULOGINLIBS += -lcrypt + endif ++endif + + all: $(BIN) $(SBIN) $(USRBIN) + diff --git a/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch new file mode 100644 index 000000000..5978cea07 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit-2.88dsf/install.patch @@ -0,0 +1,81 @@ +diff --git a/src/Makefile b/src/Makefile +index e2b8028..3e11e92 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -65,7 +65,14 @@ else + INSTALL_DATA = install -m 644 + endif + INSTALL_DIR = install -m 755 -d +-MANDIR = /usr/share/man ++ ++ROOT ?= ++base_bindir ?= /bin ++base_sbindir ?= /sbin ++bindir ?= /usr/bin ++sysconfdir ?= /etc ++includedir ?= /usr/include ++mandir ?= /usr/share/man + + ifeq ($(WITH_SELINUX),yes) + SELINUX_DEF = -DWITH_SELINUX +@@ -138,39 +145,39 @@ clobber: cleanobjs + distclean: clobber + + install: +- $(INSTALL_DIR) $(ROOT)/bin/ $(ROOT)/sbin/ +- $(INSTALL_DIR) $(ROOT)/usr/bin/ ++ $(INSTALL_DIR) $(ROOT)$(base_bindir)/ $(ROOT)$(base_sbindir)/ ++ $(INSTALL_DIR) $(ROOT)$(bindir)/ + for i in $(BIN); do \ +- $(INSTALL_EXEC) $$i $(ROOT)/bin/ ; \ ++ $(INSTALL_EXEC) $$i $(ROOT)$(base_bindir)/ ; \ + done + for i in $(SBIN); do \ +- $(INSTALL_EXEC) $$i $(ROOT)/sbin/ ; \ ++ $(INSTALL_EXEC) $$i $(ROOT)$(base_sbindir)/ ; \ + done + for i in $(USRBIN); do \ +- $(INSTALL_EXEC) $$i $(ROOT)/usr/bin/ ; \ ++ $(INSTALL_EXEC) $$i $(ROOT)$(bindir)/ ; \ + done +- # $(INSTALL_DIR) $(ROOT)/etc/ +- # $(INSTALL_EXEC) initscript.sample $(ROOT)/etc/ +- ln -sf halt $(ROOT)/sbin/reboot +- ln -sf halt $(ROOT)/sbin/poweroff +- ln -sf init $(ROOT)/sbin/telinit +- ln -sf /sbin/killall5 $(ROOT)/bin/pidof +- if [ ! -f $(ROOT)/usr/bin/lastb ]; then \ +- ln -sf last $(ROOT)/usr/bin/lastb; \ ++ # $(INSTALL_DIR) $(ROOT)$(sysconfdir)/ ++ # $(INSTALL_EXEC) initscript.sample $(ROOT)$(sysconfdir)/ ++ ln -sf halt $(ROOT)$(base_sbindir)/reboot ++ ln -sf halt $(ROOT)$(base_sbindir)/poweroff ++ ln -sf init $(ROOT)$(base_sbindir)/telinit ++ ln -sf $(base_sbindir)/killall5 $(ROOT)$(base_bindir)/pidof ++ if [ ! -f $(ROOT)$(bindir)/lastb ]; then \ ++ ln -sf last $(ROOT)$(bindir)/lastb; \ + fi +- $(INSTALL_DIR) $(ROOT)/usr/include/ +- $(INSTALL_DATA) initreq.h $(ROOT)/usr/include/ +- $(INSTALL_DIR) $(ROOT)$(MANDIR)/man1/ +- $(INSTALL_DIR) $(ROOT)$(MANDIR)/man5/ +- $(INSTALL_DIR) $(ROOT)$(MANDIR)/man8/ ++ $(INSTALL_DIR) $(ROOT)$(includedir)/ ++ $(INSTALL_DATA) initreq.h $(ROOT)$(includedir)/ ++ $(INSTALL_DIR) $(ROOT)$(mandir)/man1/ ++ $(INSTALL_DIR) $(ROOT)$(mandir)/man5/ ++ $(INSTALL_DIR) $(ROOT)$(mandir)/man8/ + for i in $(MAN1); do \ +- $(INSTALL_DATA) ../man/$$i $(ROOT)$(MANDIR)/man1/; \ ++ $(INSTALL_DATA) ../man/$$i $(ROOT)$(mandir)/man1/; \ + done + for i in $(MAN5); do \ +- $(INSTALL_DATA) ../man/$$i $(ROOT)$(MANDIR)/man5/; \ ++ $(INSTALL_DATA) ../man/$$i $(ROOT)$(mandir)/man5/; \ + done + for i in $(MAN8); do \ +- $(INSTALL_DATA) ../man/$$i $(ROOT)$(MANDIR)/man8/; \ ++ $(INSTALL_DATA) ../man/$$i $(ROOT)$(mandir)/man8/; \ + done + ifeq ($(ROOT),) + # diff --git a/meta/recipes-core/sysvinit/sysvinit/bootlogd.init b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init new file mode 100755 index 000000000..f8f07a050 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/bootlogd.init @@ -0,0 +1,85 @@ +#! /bin/sh +# +# bootlogd One of the first scripts to be executed. Starts or stops +# the bootlogd log program. If this script is called as +# "stop-bootlogd", it will stop the daemon instead of +# starting it even when called with the "start" argument. +# +# Version: @(#)bootlogd 2.85-12 21-Mar-2004 miquels@cistron.nl +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/sbin/bootlogd +NAME=bootlogd +DESC="Bootlog daemon" + +test -f $DAEMON || exit 0 + +[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd + +## set -e # not needed + +case "$BOOTLOGD_ENABLE" in + [Nn]*) + exit 0 + ;; +esac + +STOPPER= +ACTION="$1" +case "$0" in + *stop-bootlog*) + STOPPER=Y + if [ "$ACTION" = start ] + then + ACTION=stop + fi + ;; +esac + +case "$ACTION" in + start) + echo -n "Starting $DESC: " + if [ -d /proc/1/. ] + then + umask 027 + start-stop-daemon --start --quiet \ + --exec $DAEMON -- -r + else + $DAEMON -r + fi + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --exec $DAEMON + + if [ "$STOPPER" ] && [ -f /var/log/boot ] && \ + [ -f /var/log/boot~ ] + then + cd /var/log + chgrp adm boot + savelog -p -c 5 boot > /dev/null 2>&1 + mv boot.0 boot + mv boot~ boot.0 + fi + + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --exec $DAEMON + sleep 1 + start-stop-daemon --start --quiet --exec $DAEMON + echo "$NAME." + ;; + *) + N=${0##*/} + N=${N#[SK]??} + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 + diff --git a/meta/recipes-core/sysvinit/sysvinit/inittab b/meta/recipes-core/sysvinit/sysvinit/inittab new file mode 100644 index 000000000..6abbdf455 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/inittab @@ -0,0 +1,30 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:5:initdefault: + +# Boot-time system configuration/initialization script. +# This is run first except when booting in emergency (-b) mode. +si::sysinit:/etc/init.d/rcS + +# What to do in single-user mode. +~~:S:wait:/sbin/sulogin + +# /etc/init.d executes the S and K scripts upon change +# of runlevel. +# +# Runlevel 0 is halt. +# Runlevel 1 is single-user. +# Runlevels 2-5 are multi-user. +# Runlevel 6 is reboot. + +l0:0:wait:/etc/init.d/rc 0 +l1:1:wait:/etc/init.d/rc 1 +l2:2:wait:/etc/init.d/rc 2 +l3:3:wait:/etc/init.d/rc 3 +l4:4:wait:/etc/init.d/rc 4 +l5:5:wait:/etc/init.d/rc 5 +l6:6:wait:/etc/init.d/rc 6 +# Normally not reached, but fallthrough in case of emergency. +z6:6:respawn:/sbin/sulogin diff --git a/meta/recipes-core/sysvinit/sysvinit/need b/meta/recipes-core/sysvinit/sysvinit/need new file mode 100644 index 000000000..4d84bbeee --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/need @@ -0,0 +1,6 @@ +#!/bin/sh + +# need binary that doesnt do anything, supplied for simpleinit +# vs sysvinit compatibility for the supplied startup scripts + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/postinst b/meta/recipes-core/sysvinit/sysvinit/postinst new file mode 100644 index 000000000..b6fe547fa --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/postinst @@ -0,0 +1,17 @@ +#!/bin/busybox ash + +action="$1" +oldversion="$2" + +umask 022 + +if [ "$action" != configure ] +then + exit 0 +fi + +update-alternatives --install /sbin/init init /sbin/sysvinit 25 +update-alternatives --install /sbin/need need /sbin/need.sysvinit 25 +update-alternatives --install /sbin/provide provide /sbin/provide.sysvinit 25 + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/prerm b/meta/recipes-core/sysvinit/sysvinit/prerm new file mode 100644 index 000000000..704a29ffd --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/prerm @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ "$1" != "upgrade" ]; then + update-alternatives --remove need /sbin/need.sysvinit + update-alternatives --remove provide /sbin/provide.sysvinit + update-alternatives --remove init /sbin/sysvinit +fi + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/provide b/meta/recipes-core/sysvinit/sysvinit/provide new file mode 100644 index 000000000..c90cf3537 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/provide @@ -0,0 +1,6 @@ +#!/bin/sh + +# provide binary that doesnt do anything, supplied for simpleinit +# vs sysvinit compatibility for the supplied startup scripts + +exit 0 diff --git a/meta/recipes-core/sysvinit/sysvinit/rc b/meta/recipes-core/sysvinit/sysvinit/rc new file mode 100755 index 000000000..dce31a5c9 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rc @@ -0,0 +1,179 @@ +#!/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 + if [ -e /mnt/.psplash/psplash_fifo ]; then + echo "PROGRESS $progress" > /mnt/.psplash/psplash_fifo + 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/meta/recipes-core/sysvinit/sysvinit/rcS b/meta/recipes-core/sysvinit/sysvinit/rcS new file mode 100755 index 000000000..080b04f32 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rcS @@ -0,0 +1,34 @@ +#!/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 + +# +# 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 + + diff --git a/meta/recipes-core/sysvinit/sysvinit/rcS-default b/meta/recipes-core/sysvinit/sysvinit/rcS-default new file mode 100644 index 000000000..7ad3c7bf8 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit/rcS-default @@ -0,0 +1,25 @@ +# +# Defaults for the boot scripts in /etc/rcS.d +# + +# Time files in /tmp are kept in days. +TMPTIME=0 +# Set to yes if you want sulogin to be spawned on bootup +SULOGIN=no +# Set to no if you want to be able to login over telnet/rlogin +# before system startup is complete (as soon as inetd is started) +DELAYLOGIN=no +# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not. +# UTC=yes +# Set VERBOSE to "no" if you would like a more quiet bootup. +VERBOSE=no +# Set EDITMOTD to "no" if you don't want /etc/motd to be editted automatically +EDITMOTD=no +# Whether to fsck root on boot +ENABLE_ROOTFS_FSCK=no +# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup. +FSCKFIX=yes +# Set TICKADJ to the correct tick value for this specific machine +#TICKADJ=10000 +# Enable caching in populate-volatile.sh +VOLATILE_ENABLE_CACHE=yes diff --git a/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb new file mode 100644 index 000000000..db3806454 --- /dev/null +++ b/meta/recipes-core/sysvinit/sysvinit_2.88dsf.bb @@ -0,0 +1,135 @@ +DESCRIPTION = "System-V like init." +HOMEPAGE = "http://savannah.nongnu.org/projects/sysvinit/" +SECTION = "base" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYRIGHT;endline=15;md5=349c872e0066155e1818b786938876a4" +PR = "r1" + +# USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf. +# Set PACKAGE_ARCH appropriately. +PACKAGE_ARCH_${PN}-inittab = "${MACHINE_ARCH}" + +RDEPENDS_${PN} = "${PN}-inittab" + +PACKAGES =+ "bootlogd ${PN}-inittab" +FILES_bootlogd = "/etc/init.d/bootlogd /etc/init.d/stop-bootlogd /etc/rc?.d/S*bootlogd /sbin/bootlogd" +FILES_${PN}-inittab = "${sysconfdir}/inittab" +CONFFILES_${PN}-inittab = "${sysconfdir}/inittab" + +USE_VT ?= "1" +SYSVINIT_ENABLED_GETTYS ?= "1" + +SRC_URI = "http://download.savannah.gnu.org/releases-noredirect/sysvinit/sysvinit-${PV}.tar.bz2 \ + file://install.patch \ + file://crypt-lib.patch \ + file://need \ + file://provide \ + file://inittab \ + file://rcS-default \ + file://rc \ + file://rcS \ + file://bootlogd.init" + +S = "${WORKDIR}/sysvinit-${PV}" +B = "${S}/src" + +inherit update-alternatives + +ALTERNATIVE_NAME = "init" +ALTERNATIVE_LINK = "${base_sbindir}/init" +ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit" +ALTERNATIVE_PRIORITY = "50" + +PACKAGES =+ "sysvinit-pidof sysvinit-sulogin" +FILES_${PN} += "${base_sbindir}/* ${base_bindir}/*" +FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit" +FILES_sysvinit-sulogin = "${base_sbindir}/sulogin" + +CFLAGS_prepend = "-D_GNU_SOURCE " +export LCRYPT = "-lcrypt" +EXTRA_OEMAKE += "'base_bindir=${base_bindir}' \ + 'base_sbindir=${base_sbindir}' \ + 'bindir=${bindir}' \ + 'sbindir=${sbindir}' \ + 'sysconfdir=${sysconfdir}' \ + 'includedir=${includedir}' \ + 'mandir=${mandir}'" + +do_install () { + oe_runmake 'ROOT=${D}' install + install -d ${D}${sysconfdir} \ + ${D}${sysconfdir}/default \ + ${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 + fi + if [ "${USE_VT}" = "1" ]; then + cat <<EOF >>${D}${sysconfdir}/inittab +# ${base_sbindir}/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# <id>:<runlevels>:<action>:<process> +# + +EOF + + for n in ${SYSVINIT_ENABLED_GETTYS} + do + echo "$n:2345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab + done + echo "" >> ${D}${sysconfdir}/inittab + fi + install -m 0644 ${WORKDIR}/rcS-default ${D}${sysconfdir}/default/rcS + install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd + ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd + install -d ${D}${sysconfdir}/rcS.d + ln -sf ../init.d/bootlogd ${D}${sysconfdir}/rcS.d/S07bootlogd + for level in 2 3 4 5; do + install -d ${D}${sysconfdir}/rc$level.d + ln -s ../init.d/stop-bootlogd ${D}${sysconfdir}/rc$level.d/S99stop-bootlogd + done + mv ${D}${base_sbindir}/init ${D}${base_sbindir}/init.${PN} + mv ${D}${base_bindir}/pidof ${D}${base_bindir}/pidof.${PN} + mv ${D}${base_sbindir}/halt ${D}${base_sbindir}/halt.${PN} + mv ${D}${base_sbindir}/reboot ${D}${base_sbindir}/reboot.${PN} + mv ${D}${base_sbindir}/shutdown ${D}${base_sbindir}/shutdown.${PN} + mv ${D}${base_sbindir}/poweroff ${D}${base_sbindir}/poweroff.${PN} + mv ${D}${bindir}/last ${D}${bindir}/last.${PN} + mv ${D}${bindir}/mesg ${D}${bindir}/mesg.${PN} + mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN} +} + +pkg_postinst_${PN} () { + update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 200 + update-alternatives --install ${base_sbindir}/reboot reboot reboot.${PN} 200 + update-alternatives --install ${base_sbindir}/shutdown shutdown shutdown.${PN} 200 + update-alternatives --install ${base_sbindir}/poweroff poweroff poweroff.${PN} 200 + update-alternatives --install ${bindir}/last last last.${PN} 200 + update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 200 + update-alternatives --install ${bindir}/wall wall wall.${PN} 200 +} + +pkg_prerm_${PN} () { + update-alternatives --remove halt halt.${PN} + update-alternatives --remove reboot reboot.${PN} + update-alternatives --remove shutdown shutdown.${PN} + update-alternatives --remove poweroff poweroff.${PN} + update-alternatives --remove last last.${PN} + update-alternatives --remove mesg mesg.${PN} + update-alternatives --remove wall wall.${PN} +} + +pkg_postinst_sysvinit-pidof () { + update-alternatives --install ${base_bindir}/pidof pidof pidof.${PN} 200 +} + +pkg_prerm_sysvinit-pidof () { + update-alternatives --remove pidof pidof.${PN} +} |