--- sysvinit-2.88dsf.orig/debian/sysvinit.links +++ sysvinit-2.88dsf/debian/sysvinit.links @@ -0,0 +1,3 @@ +sbin/halt sbin/poweroff +sbin/halt sbin/reboot +sbin/init sbin/telinit --- sysvinit-2.88dsf.orig/debian/sysvinit-watch +++ sysvinit-2.88dsf/debian/sysvinit-watch @@ -0,0 +1,2 @@ +version=2 +ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-([\d\.\d]+)\.tar\.gz --- sysvinit-2.88dsf.orig/debian/NOTES +++ sysvinit-2.88dsf/debian/NOTES @@ -0,0 +1,115 @@ + Maintainer notes for sysvinit + +News +---- +Last updated 16 May 2009 + +Stuff to implement +------------------ +* Do not allow system to continue booting if both fsck and sulogin fail (#337444)? +* Make sulogin try /bin/sh and /bin/sash too (#40144, #43317)? +* Port bootlogd to use posix_openpt(3), since BSD PTs are now deprecated and + /dev/pts _is_ now available at the time that bootlogd starts (...in Debian)? + +Stuff to do after etch +---------------------- +* mountnfs.sh: Don't start portmap + +Ubuntu changes to backport +-------------------------- +(none known ATM) + +Stuff to send upstream +---------------------- +debian/patches/fix-minor-warnings should be applied upstream. +So should a lot of the other patches. + +src/Makefile should not set CC. + +set -e +------ +Note that many scripts do not use "set -e". This is deliberate. +Instead, return statuses are checked. + +PATH +---- +* Current policy: + + Leave unset if absolutely no pathless commands are run; otherwise... + + set to "/sbin:/bin" in /etc/init.d/rc and in scripts that run prior + to mountnfs.sh; otherwise... + + set to "/usr/sbin:/usr/bin:/sbin:/bin". + + Add "/lib/init" to beginning of PATH if readlink command or domount + function used. This will disappear once coreutils 5.94 makes it + into testing, and we Depend on that. +* Question: Should we include /usr/local/sbin and /usr/local/bin too? + I don't see this question addressed in Policy. Ref: #227540 + +Rotating fsck logs? +------------------- +debian/fscklog.sh is a proposed script for rotating fsck logs. +Currently, we _overwrite_ the fsck log files on every boot so there +is no need to rotate them. I am not inclined to implement rotation +of fsck logs. + +Dependencies +------------ +To go away: +* sysvinit Pre-Depends on initscripts, sysv-rc | file-rc so that the + conffiles in the old monolithic sysvinit package are taken over by + the initscripts package. (Only a Pre-Depends is strong enough to + ensure that the conffiles are taken over without an orphanic hiatus.) + Strictly speaking we can drop this dependency now since everyone is + either installing anew or else has upgraded to sarge; and Debian does + not support skip upgrades. However, I don't see any harm in keeping + this dependency around until after etch releases. But then it should + go away. +* initscripts Depends on mount >= 2.11x-1 because that's when swapon's + "-e" option was added. Sarge satisfies this requirement so this + dependency could be dropped. We can drop it after etch releases; + then both stable and oldstable will satisfy the requirement. +* initscripts needs to Depend on debianutils >= 2.12.0 until etch has + been released so that which can be assumed to be in /bin (rather than + in /usr/bin, as it was before, including in 2.8.4 in sarge) +* initscripts Conflicts with and Replaces mdutils which was last seen in + potato. Can disappear after etch. +* initscripts Conflicts with sysvinit (<< 2.86.ds1-12) because earlier + versions of bootlogd didn't have the -c option which the bootlogd + initscripts now uses + +Questionable: +* initscripts Replaces various libc packages for reasons described here: + http://lists.debian.org/debian-hurd/2004/06/msg00048.html. + Anyone know how long this dependency needs to be carried? +* sysv-rc (current) Conflicts with and Replaces file-rc. file-rc (0.8.7) + Replaces: sysv-rc but does not Conflict with it. I am not sure that + sysv-rc needs to Replace: file-rc. Isn't Conflicting sufficient? + And why doesn't file-rc Conflict with sysv-rc? Strange. + +Possible future: +* If the mtab initscript is ever changed so that it updates the mtab file + without rerunning mountdevsubfs.sh then initscripts should be made to + Conflict with udev << 0.080-1. (The latter versions of udev put the + udev initscript at S04, _after_ S04mountdevsubfs.sh, and the script + unmounts /dev/pts and /dev/shm.) + + +Speed and compatibility +----------------------- +People running Debian on low-memory systems say: +* Use built-ins +* Avoid fork-and-exec, pipelines, $() +* Reduce the number of commands within pipelines +* Avoid unnecessary code +* Avoid commands that don't work the same way in BusyBox: + 'nice', 'find', 'mount', 'umount', 'init', 'halt', 'shutdown', + 'syslogd', 'klogd', 'hwclock', 'cron', 'anacron', 'crontab'. + +Regenerate /etc/default/rcS? +---------------------------- +The current /etc/default/rcS template just refers the admin to rcS(5). +This way we have only one set of docs to maintain, and we don't have +to worry about out-of-date comments in /etc/default/rcS. + +I wonder if we should strip comments out of existing /etc/default/rcS +files, leaving behind only the reference to rcS(5). + --- sysvinit-2.88dsf.orig/debian/sysvinit.dirs +++ sysvinit-2.88dsf/debian/sysvinit.dirs @@ -0,0 +1 @@ +usr/share/sysvinit --- sysvinit-2.88dsf.orig/debian/initscripts.conffiles +++ sysvinit-2.88dsf/debian/initscripts.conffiles @@ -0,0 +1,17 @@ +/etc/init.d/bootlogd +/etc/init.d/stop-bootlogd +/etc/init.d/stop-bootlogd-single +/etc/init.d/halt +/etc/init.d/killprocs +/etc/init.d/ondemand +/etc/init.d/rc.local +/etc/init.d/reboot +/etc/init.d/sendsigs +/etc/init.d/single +/etc/init.d/umountfs +/etc/init.d/umountnfs.sh +/etc/init.d/umountroot +/etc/init.d/urandom +/etc/default/bootlogd +/etc/default/devpts +/etc/default/halt --- sysvinit-2.88dsf.orig/debian/sysv-rc.prerm +++ sysvinit-2.88dsf/debian/sysv-rc.prerm @@ -0,0 +1,101 @@ +#! /bin/sh +# +# sysv-rc prerm +# + +set -e + +revert_to_legacy_ordering() { + # First, check that we have all the needed actions recorded + present="" + missing="" + for script in /etc/init.d/* ; do + name=$(basename $script) + case $name in + *.dpkg*) + continue; + ;; + esac + enabled="" + for f in $(ls /etc/rc?.d/[KS][0-9][0-9]$name 2> /dev/null) ; do + if [ -e $f ] ; then + if [ ! -f /var/lib/update-rc.d/$name ] ; then + missing="$missing $script" + else + present="$present $name" + fi + break; + fi + done + done + + if [ "$missing" ] ; then + # Not using debconf, as might not be available when the + # package is removed. + cat < /dev/null + done + + # Remove files generated by insserv to disable concurrent booting + rm -f /etc/init.d/.depend.boot + rm -f /etc/init.d/.depend.start + rm -f /etc/init.d/.depend.stop + + return 0 +} + +case "$1" in + remove) + # Refuse to be uninstalled unless all the needed + # update-rc.d calls are recorded already. + if [ ! -f /etc/init.d/.legacy-bootordering ] ; then + revert_to_legacy_ordering + exit $? + fi + ;; + *) : ;; +esac + +#DEBHELPER# + +exit 0 --- sysvinit-2.88dsf.orig/debian/initscripts.postinst +++ sysvinit-2.88dsf/debian/initscripts.postinst @@ -0,0 +1,408 @@ +#! /bin/sh +# +# initscripts postinst +# + +set -e + +. /lib/init/vars.sh + +case "$1" in + configure) + PREV_VER=$2 + ;; + abort-upgrade|abort-remove|abort-deconfigure) + exit 0 + ;; +esac + +umask 022 + +# If the device/inode are the same, a bind mount already exists or the +# transition is complete, so set up is not required. Otherwise bind +# mount $SRC on $DEST. +bind_mount () +{ + SRC=$1 + DEST=$2 + + FSTYPE="" + OPTS="" + + ssrc="$(/usr/bin/stat -L --format="%d %i" "$SRC" 2>/dev/null || :)" + sdest="$(/usr/bin/stat -L --format="%d %i" "$DEST" 2>/dev/null || :)" + + case "$(uname -s)" in + Linux) FSTYPE=$SRC; OPTS="-orw -obind" ;; + *FreeBSD) FSTYPE=nullfs; OPTS="-orw" ;; + GNU) FSTYPE=firmlink ;; + *) FSTYPE=none ;; + esac + + # Bind mount $SRC on $DEST + if [ -n "$ssrc" ] && [ "$ssrc" != "$sdest" ]; then + [ -d "$DEST" ] || mkdir "$DEST" + [ -x /sbin/restorecon ] && /sbin/restorecon "$DEST" + if mount -t $FSTYPE "$SRC" "$DEST" $OPTS ; then + return 0 + fi + return 1 + fi + + return 0 +} + +compat_link () { + SRC=$1 + DEST=$2 + + ssrc="$(/usr/bin/stat -L --format="%d %i" "$SRC" 2>/dev/null || :)" + sdest="$(/usr/bin/stat -L --format="%d %i" "$DEST" 2>/dev/null || :)" + + if [ -n "$ssrc" ] && [ "$ssrc" != "$sdest" ]; then + echo "guest environment detected: Linking $DEST to $SRC" + ( + if [ -e $DEST ]; then + if [ -L $DEST ]; then + echo "$DEST is already a symlink; not replacing with link to $SRC" + exit 0 + elif [ -d $DEST ]; then + rmdir $DEST || exit 1 + else + echo "$DEST isn't a directory or a symlink" + exit 1 + fi + fi + ln -fs $SRC $DEST + ) || { + echo "Can't symlink $DEST to $SRC; please fix manually." + return 1 + } + [ -x /sbin/restorecon ] && /sbin/restorecon "$DEST" + fi + + return 0 +} + +# +# Initialize rcS default file. +# +if [ ! -f /etc/default/rcS ] +then + cp -p /usr/share/initscripts/default.rcS /etc/default/rcS +else + # in Ubuntu we use /var/run and /var/lock tmpfses; these are not + # optional so remove the options from /etc/default/rcS + if dpkg --compare-versions "$PREV_VER" le-nl "2.87dsf-4ubuntu9" + then + sed -i "/^RAMRUN=/d;/^RAMLOCK=/d" /etc/default/rcS + fi + # /run/shm (née /dev/shm) and /tmp are also managed exclusively + # through mountall / fstab; remove from /etc/default/rcS + if dpkg --compare-versions "$PREV_VER" lt-nl 2.88dsf-13.10ubuntu1 + then + sed -i "/^RAMTMP=/d;/^RAMSHM=/d" /etc/default/rcS + fi +fi + +# +# In 2.86.ds1-7 the "single" script was moved. +# We have to remove the old links _before_ we install new ones. +# +if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-7" +then + update-rc.d -f single remove >/dev/null +fi + +# In 2.86.ds1-16, the mtab.sh and hostname.sh scripts were moved. +if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-16" +then + update-rc.d -f mtab.sh remove >/dev/null + update-rc.d -f hostname.sh remove >/dev/null +fi + +# In 2.86.ds1-21, the sendsigs script were moved, and in 2.86.ds1-35 +# it was moved back. +if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-35" +then + update-rc.d -f sendsigs remove >/dev/null +fi + +# +# In 2.87dsf-2 the "mountoverflowtmp" script was dropped +# from runlevels 0 and 6. +# We have to remove the old links _before_ we install new ones. +# +if dpkg --compare-versions "$PREV_VER" lt "2.87dsf-2" ; then + update-rc.d -f mountoverflowtmp remove >/dev/null +fi + +# In 2.87dsf-4ubuntu2, we begin migrating to Upstart jobs, so all of +# these get removed. +if dpkg --compare-versions "$PREV_VER" le-nl "2.87dsf-4ubuntu2" +then + update-rc.d -f hostname.sh remove >/dev/null 2>&1 || : + update-rc.d -f mountkernfs.sh remove >/dev/null 2>&1 || : + update-rc.d -f mountdevsubfs.sh remove >/dev/null 2>&1 || : + update-rc.d -f checkroot.sh remove >/dev/null 2>&1 || : + update-rc.d -f mtab.sh remove >/dev/null 2>&1 || : + update-rc.d -f checkfs.sh remove >/dev/null 2>&1 || : + update-rc.d -f mountall.sh remove >/dev/null 2>&1 || : + update-rc.d -f mountall-bootclean.sh remove >/dev/null 2>&1 || : + update-rc.d -f mountoverflowtmp remove >/dev/null 2>&1 || : + update-rc.d -f mountnfs.sh remove >/dev/null 2>&1 || : + update-rc.d -f mountnfs-bootclean.sh remove >/dev/null 2>&1 || : + update-rc.d -f bootmisc.sh remove >/dev/null 2>&1 || : + update-rc.d -f bootlogs remove >/dev/null 2>&1 || : + update-rc.d -f rmnologin remove >/dev/null 2>&1 || : +fi + + +# +# Okay, we could do this with update-rc.d, but that would probably +# be pretty slow. This way we win some speed. +# DO NOT FOLLOW THIS EXAMPLE IN OTHER PACKAGES. +# +# Links in runlevel S +# +#update-rc.d bootlogd start 05 S . >/dev/null || exit $? +update-rc.d urandom start 55 S . start 30 0 6 . >/dev/null || exit $? +# +# Links in runlevels other than S +# +update-rc.d halt start 90 0 . >/dev/null || exit $? +update-rc.d reboot start 90 6 . >/dev/null || exit $? +update-rc.d umountroot start 60 0 6 . >/dev/null || exit $? +update-rc.d umountfs start 40 0 6 . >/dev/null || exit $? +update-rc.d umountnfs.sh start 31 0 6 . >/dev/null || exit $? +update-rc.d sendsigs start 20 0 6 . >/dev/null || exit $? + +update-rc.d killprocs start 30 1 . >/dev/null || exit $? +update-rc.d single start 90 1 . >/dev/null || exit $? +update-rc.d ondemand start 99 2 3 4 5 . >/dev/null || exit $? +update-rc.d rc.local start 99 2 3 4 5 . >/dev/null || exit $? +#update-rc.d stop-bootlogd-single start 99 S . >/dev/null || exit $? +#update-rc.d stop-bootlogd start 99 2 3 4 5 . >/dev/null || exit $? + +# +# Remove scripts that were left behind by older glibc (<< 2.3.2.ds1-12) +# versions. We have the same functionality in mount{kern,devsub}fs.sh +# +# +# In 2.86.ds1-10 the "mountvirtfs" script was replaced by +# mountkernfs.sh and mountdevsubfs.sh. It was removed completely in +# 2.86.ds1-16. +# +for F in mountkernfs devpts.sh mountvirtfs +do + rm -f /etc/init.d/$F + update-rc.d $F remove >/dev/null +done + +# +# Setup /run if not already in use. Note that the intent here is to +# make the existing /var/run and /var/lock available as /run, +# /run/lock, respectively. When the system is next restarted, a +# proper /run tmpfs will be set up. The bind mounts set up here are +# intended to recreate the directory hierarchy using the existing +# locations in order that packages may transition to using /run +# without a system restart. +# + +# Special case /run/motd, which will have been created on upgrade by +# the premature base-files transition. +if dpkg --compare-versions "$2" lt-nl 2.88dsf-13.10ubuntu1 && [ -e /run/motd ] +then + rm -f /run/motd +fi + +# If in a chroot or vserver environment (i.e. a guest, which does not +# run rcS scripts), do not do any messing around with mounts, and +# don't migrate /var/run, /var/lock or /dev/shm. Bind mounting would +# not work in a chroot, because the migration would only be +# temporary--the rcS scripts are not guaranteed to run, so we must do +# the migration by hand at this point. We create symlinks from the +# new locations to the old locations, which should be safe. The +# sysadmin should, if they care, move the old locations to the new +# locations and create compatibilty symlinks at their convenience +# following the upgrade. +if ischroot; then + # Symlink /var/run from /run + # Note var/run is relative + if compat_link /var/run /run; then + # Symlink /var/lock from /run/lock + # Note that it's really /var/run/lock + compat_link /var/lock /run/lock + + # Symlink /dev/shm from /run/shm + # Note that it's really /var/run/shm + compat_link /dev/shm /run/shm + fi +# Host system, not a chroot. +else + if bind_mount /var/run /run; then + bind_mount /var/lock /run/lock + bind_mount /dev/shm /run/shm + fi + + echo "Please reboot to complete migration to tmpfs-based /run" > /run/.run-transition +fi + +# +# When installing for the first time or upgrading from a version +# before or equal to 2.88dsf-14, a reboot is needed to make the /run +# tmpfs available. Flag this using notify-reboot-required. /run is +# available in some form before the reboot, so the need for a reboot +# isn't particularly urgent. +# +if dpkg --compare-versions "$PREV_VER" le "2.88dsf-13.3" \ + && [ -x /usr/share/update-notifier/notify-reboot-required ]; then + /usr/share/update-notifier/notify-reboot-required +fi + +# +# Create mount point for spufs, and create spu system group +# +if mountpoint -q /proc && grep -qs '^cpu.*Cell' /proc/cpuinfo; then + if ! getent group spu >/dev/null; then + # the adduser package is priority important; cannot use addgroup + groupadd -K GID_MAX=1000 spu + fi + mkdir -p /spu + if ! mountpoint -q /spu; then + # No need to fail configuration if this isn't possible. Mount + # will still display an error. See LP #261490 and #251593. + mount -t spufs -ogid=spu spufs /spu || true + fi +fi + +# +# Create initial log files +# +[ "$PREV_VER" ] || chmod 755 /var/log/fsck || : +for F in /var/log/dmesg /var/log/boot /var/log/fsck/checkroot /var/log/fsck/checkfs +do + if [ ! -f "$F" ] && touch "$F" >/dev/null 2>&1 + then + echo "(Nothing has been logged yet.)" >| "$F" + chown root:adm "$F" + chmod 640 "$F" + fi +done + +# +# Set up nologin symlink so that dynamic-login-disabling will work +# (when DELAYLOGIN is set to "yes") +# +if [ ! -L /etc/nologin ] && [ ! -e /etc/nologin ] +then + rm -f /var/lib/initscripts/nologin + ln -s /var/lib/initscripts/nologin /etc/nologin +fi + +# +# Set up motd stuff, putting variable file in /var/run/ +# +if [ -f /etc/motd.tail ] && \ + dpkg --compare-versions "$PREV_VER" lt "2.87dsf-4ubuntu19" +then + # If the standard help-text from update-motd is found in the + # /etc/motd.tail file, it has been created from the old /etc/motd + # file during the initscripts 2.87dsf-4ubuntu18 postinst script, + # so it should be removed. Give up if the help-text template + # generator is missing or produces no output. + help_text=$(/etc/update-motd.d/10-help-text 2>/dev/null || true) + if [ -n "$help_text" ] && fgrep -q "$help_text" /etc/motd.tail + then + rm -f /etc/motd.tail + # Rebuild the motd now that motd.tail has been fixed. + run-parts --lsbsysinit /etc/update-motd.d > /var/run/motd.new \ + && mv /var/run/motd.new /var/run/motd || true + fi +fi +if [ ! -f /var/run/motd ] +then + if [ -f /etc/motd ] + then + cat /etc/motd > /var/run/motd + else + :>/var/run/motd + fi +fi +if [ ! -L /etc/motd ] +then + [ -f /etc/default/rcS ] && . /etc/default/rcS + if [ "$EDITMOTD" = no ] + then + cat /var/run/motd > /etc/motd.static + ln -sf motd.static /etc/motd + else + ln -sf /var/run/motd /etc/motd + fi +fi + +# +# Mount kernel virtual filesystems...not. +# This causes problems in pbuilder. +# +# +#if [ -x /etc/init.d/mountkernfs.sh ] +#then +# if which invoke-rc.d >/dev/null 2>&1 +# then +# invoke-rc.d mountkernfs.sh start || : +# else +# /etc/init.d/mountkernfs.sh start +# fi +#fi + +# +# Create /dev/pts, /dev/shm directories +# +if [ "$(uname -s)" = Linux ] +then + # + # Only create /dev/{pts,shm} if /dev is on the + # root file system. If some package has mounted a + # seperate /dev (ramfs from udev, devfs) it is + # responsible for the presence of those subdirs. + # (it is OK for these to fail under fakechroot) + # + if ! mountpoint -q /dev + then + [ -d /dev/pts ] || { mkdir --mode=755 /dev/pts ; chown root:root /dev/pts || [ "$FAKECHROOT" = true ]; } + [ -d /dev/shm ] || { mkdir --mode=755 /dev/shm ; chown root:root /dev/shm || [ "$FAKECHROOT" = true ]; } + fi +fi + +# +# Create /etc/rc.local on first time install and when upgrading from +# versions before "2.86.ds1-16" +# +if dpkg --compare-versions "$PREV_VER" lt "2.86.ds1-16" +then + if [ ! -e /etc/rc.local ]; then + cat << EOF > /etc/rc.local +#!/bin/sh -e +# +# rc.local +# +# This script is executed at the end of each multiuser runlevel. +# Make sure that the script will "exit 0" on success or any other +# value on error. +# +# In order to enable or disable this script just change the execution +# bits. +# +# By default this script does nothing. + +exit 0 +EOF + # make sure it's enabled by default. + chmod 755 /etc/rc.local + fi +fi + +#DEBHELPER# + +: --- sysvinit-2.88dsf.orig/debian/changelog +++ sysvinit-2.88dsf/debian/changelog @@ -0,0 +1,4427 @@ +sysvinit (2.88dsf-13.10ubuntu5) precise; urgency=low + + * d/service/service: Updated to use 'stop/start' instead of passing + restart directly through to upstart. (LP: #440179) + * d/service/service.8: Updated man page to reflect handling of upstart + jobs. + + -- Clint Byrum Tue, 15 Nov 2011 12:33:01 -0800 + +sysvinit (2.88dsf-13.10ubuntu4) oneiric; urgency=low + + * debian/src/initscripts/etc/init.d/umountroot: don't forget to migrate + /dev/shm to /run/shm on shutdown also, without which ecryptfs fails to + start up correctly. Thanks to Martin Pitt for the report. + + -- Steve Langasek Wed, 13 Jul 2011 22:02:25 -0700 + +sysvinit (2.88dsf-13.10ubuntu3) oneiric; urgency=low + + * remove debian/postinst: this is supposed to go into the sysvinit package + in debian, but we don't ship that, meaning it lands in sysvinit-utils + instead by mistake! + + -- Steve Langasek Wed, 13 Jul 2011 17:10:59 -0700 + +sysvinit (2.88dsf-13.10ubuntu2) oneiric; urgency=low + + * debian/src/initscripts/etc/init.d/umountroot: handle the migration of + /var/run and /var/lock from directories to symlinks at shutdown, since + we can't guarantee this gets done early enough at startup. + + -- Steve Langasek Wed, 13 Jul 2011 16:26:00 -0700 + +sysvinit (2.88dsf-13.10ubuntu1) oneiric; urgency=low + + * Merge from Debian unstable (LP: #807974), remaining changes: + - Support Cell processor: + + debian/initscripts.postinst: Create spu system group and /spu mount + point if we are running on a Cell processor. + + debian/control: Add initscripts dependency 'passwd' for groupadd. + (Forwarded to Debian #483399) + - Disable bootlogd by default. + - debian/patches/91_sulogin_lockedpw.dpatch: Disable "root account is + locked" warning, since this is the default in Ubuntu. Document this in + sulogin.8. + - debian/control: Drop Essential: yes from packages since we use Upstart. + - debian/control: Do not build the sysvinit binary package any more. It + conflicts with upstart, which is required, so it is uninstallable. + - debian/src/initscripts/etc/init.d/ondemand: Sleep for 60 seconds, then + set CPU Frequency Scaling governor to "ondemand". LP: #341573. + - debian/rules: Compat symlink from /usr/bin/service to + /usr/sbin/service + - debian/control: sysvinit-utils recommends the upstart that provides + the reload action + - Remove various initscripts (and an ifupdown hook) that have been + replaced by upstart jobs shipped in other packages. + - debian/sysv-rc.postinst: Don't use insserv by default + - debian/src/initscripts/man/rcS.5: drop mention of /etc/default/tmpfs, + which doesn't do anything on Ubuntu. + - Remove RAMLOCK, RAMSHM, and RAMTMP settings from default rcS script to + avoid confusion, remove from /etc/default/rcS on upgrade too; and remove + mention of all of these plus RAMRUN from the manual pages. + - Always skip these when unmounting filesystems. + - Fix documentation for other things handled by mountall instead of + initscripts: tmpfs, /sys (mountall lets you specify options in + /etc/fstab), and ASYNCMOUNTNFS. + - If /var/run/init.upgraded exists, call telinit u before unmounting + the root filesystem. + - Create /lib/init/rw as a symlink to /var/run on new installations, + and fix it up in /etc/init.d/umountroot on upgrade, as it's difficult + to do this at any other time + - debian/initscripts.postinst: + + do not create motd.tail from motd on systems using update-motd. + + clean up incorrectly created motd.tail from upgrade to Maverick. + - debian/src/initscripts/etc/init.d/sendsigs: + + sendsigs: OMITPIDS needs to be reinitalized for every loop iteration + before concatenating pids of upstart jobs to it. + + handle the possibility of upstart jobs being started after the + script starts running, to avoid unnecessary 10 second delays on + shutdown. + + only omit jobs that are in the 'start' goal. Those that are destined + for 'stop' are waited on and killed like all other processes. + + make report_unkillable use apport instead of echoing to console; but + disable this reporting by default. + - debian/patches/92_sulogin_support_static_sh.patch: add support for + /bin/static-sh as fallback if the regular shell fails to execute + - debian/initscripts/etc/init.d/umountnfs.sh: emit upstart event + unmounted-remote-filesystems, to allow stopping portmap + - debian/src/sysv-rc/sbin/invoke-rc.d: replace RUNLEVEL with + RUNLEVELHELPER. + - debian/src/initscripts/etc/init.d/umountroot: Improve handling of + respawn of init: we now wait for inits map file to change. If this + doesn't happen within 5 seconds, we unmount forcibly. + * Changes included in Debian: + - Conflict/Replace sysvconfig + - Depend on lsb-base (>= 3.2-14) for status_of_proc() function. + - debian/service/service: use upstart for service management, if an + upstart configuration exists, + - debian/src/initscripts/etc/init.d/umountfs: do not use the -f option + when unmounting WEAK_MTPTS + - debian/src/initscripts/etc/init.d/sendsigs: Omit any process being + controlled by Upstart. + - Fix FTBFS with changed libcrypt multiarch library location. + * Changes included upstream: + - debian/patches/100_fix_ftbfs_enoioctlcmd.patch: cherry pick upstream + fix for missing ENOIOCTLCMD to fix a FTBFS + - debian/patches/98_killall5_dynamic_omitpid.patch: Allocate + pidof/killall5 omitpid buffers dynamically. + * Dropped changes: + - sysvutils transitional package: this transition is done pre-lucid, so + drop the delta. + - debian/src/initscripts/lib/init/usplash-fsck-functions.sh: usplash is + obsolete, code dropped in Debian and Ubuntu. + - Handle /var/run/sendsigs.omit.d explicitly: this is replaced by + /run/sendsigs.omit.d upstream. + - waitnfs.sh -> mountnfs.sh renaming: transition finished pre-lucid. + - bootlogs.sh -> bootlogs: transition finished pre-lucid. + * Drop /etc/default/tmpfs; Ubuntu uses mountall instead, so this is + confusing cruft. + * Make /lib/init/rw a symlink to /run now. + * Add a versioned depends to initscripts of mountall (>= 2.28), since + everything else depends on initscripts for /run and the boot-time + implementation is in mountall for us. + * clean up /run/motd if we find this present in the chroot case; this was + created by the premature base-files upload and should be overwritten. + + -- Steve Langasek Wed, 13 Jul 2011 12:27:12 -0700 + +sysvinit (2.88dsf-13.10) unstable; urgency=low + + * Non-maintainer upload. + * Correct selinux-policy-default Breaks versioning (use <= rather + than <<). + + -- Roger Leigh Thu, 09 Jun 2011 20:31:00 +0100 + +sysvinit (2.88dsf-13.9) unstable; urgency=low + + * Non-maintainer upload. + * Try both old and multiarch paths to cope with buildds which don't + yet have a multiarch libc installed. + + -- Roger Leigh Thu, 09 Jun 2011 14:50:53 +0100 + +sysvinit (2.88dsf-13.8) unstable; urgency=low + + * Non-maintainer upload. + * initscripts Breaks all selinux-policy-default versions up to and + including 2:0.2.20100524-9, which do not support /run. + * Add restorecon support for selinux to /run in mountkernfs. + (Closes: #628107). Thanks to Martin Orr for this patch. + * Search for libcrypt using multiarch path (Closes: #629677). + + -- Roger Leigh Thu, 09 Jun 2011 13:35:56 +0100 + +sysvinit (2.88dsf-13.7) unstable; urgency=low + + [ Roger Leigh ] + * Non-maintainer upload. + * Correct version check used for reboot notification in initscripts + postinst. + * Don't use "rm -rf" when creating compatibility links in chroots; + use plain rmdir and abort with an error if it fails. This is in + order to avoid removing host data if e.g. /run from the host is + already bind mounted on the chroot /run, which would remove the + contents of the host /run if upgrading initscripts in the chroot. + * Restore rpcbind/portmap changes from 2.88dsf-13.5. + * Add restorecon support for selinux using new paths. (Closes: #626725) + Thanks to Martin Orr for this patch. + * Use new debianutils "ischroot" program to detect if in a chroot in + the initscripts postinst more reliably. Depend on initscripts + version 4 or greater to ensure ischroot is available. + (Closes: #626846) + + -- Roger Leigh Wed, 18 May 2011 23:12:30 +0100 + +sysvinit (2.88dsf-13.6) unstable; urgency=low + + [ Roger Leigh ] + * Non-maintainer upload. + * Don't remount filesystems mounted in the initramfs until mtab + exists. Use the existing reload functionality of mountkernfs + an mountdevsubfs to allow mtab.sh to trigger the remounts. + (Closes: #623174) + * Revert to using absolute paths in compatibility symlinks in order + to comply with Policy §10.5 symlink rules. (Closes: #626263) + * The permissions of /tmp are only set when root is writable. + (Closes: #623934) + + -- Roger Leigh Sat, 14 May 2011 00:30:52 +0100 + +sysvinit (2.88dsf-13.5) experimental; urgency=low + + [ Roger Leigh ] + * Non-maintainer upload. + * Unify mount logic shared between mountkernfs.sh, mountdevsubfs.sh + and mtab.sh + - all functions use domount() from /lib/init/mount-functions. This + merges in the functionality of domtab() in mtab.sh, which was + almost entirely identical. domount is now capable of mounting and + remounting (with and without mtab updates) as well as updating + /etc/mtab. + - mtab.sh calls mountkernfs.sh and mountdevsubfs with an "mtab" + argument to do the mtab generation for early mounts. This means + that the mount logic is not needlessly duplicated, and does not + require two copies to be kept exactly in sync. This reduces the + risk of problems as a consequence of subtle differences between + the two scripts. + - mount options may be specified in either /etc/default/tmpfs or + in /etc/fstab, and will supersede hard coded defaults. The + the values in fstab (if any) will supersede those in + /etc/default/tmpfs should an entry be present. These values are + also used for remounting, which means that filesystems mounted in + an initramfs and moved onto the root filesystem prior to init + starting will be remounted with the correct user-specified + options. + - Improve robustness of stat checks when comparing directories. + - mountkernfs.sh and mountdevsubfs.sh are idempotent, so allow for + repeated invocation. This is needed to allow the same code to + be used for mounting, remounting and mtab generation. + - Enabling RAMLOCK, RAMSHM and RAMTMP in /etc/default/rcS is no longer + required if the filesystems are present in /etc/fstab + * /etc/default/tmpfs is deprecated + - If changing the default size limits, adding an entry to /etc/fstab + is preferred compared with editing /etc/default/tmpfs. This also + permits modifying the default mount options, and setting additional + mount options. + - If /etc/default/tmpfs has been modified from the defaults, any + needed entries will be created in /etc/fstab on upgrade, to + preserve the settings from /etc/default/tmpfs. The entries in + /etc/fstab will subsequently override the settings in + /etc/default/tmpfs. + * The mount options for /run are made stricter when possible. For + example, if /run/shm is a separate filesystem, it may be safely + mounted with "noexec". + * Compatibility symbolic links are relative, not absolute. e.g. + /var/lock is ../run/lock rather than /run/lock. This means that if + you're using a chroot from the host system, you'll always be using + locations in the chroot, rather than the host, when following the + links. + * Updated documentation in initscripts README.Debian and rcS(5). + + [ Kel Modderman ] + * Consider rpcbind as alternative to portmap in mountnfs ifupdown + script. Thanks to Jamie Heilman and Arthur de Jong. + (Closes: #620788) + + -- Roger Leigh Fri, 22 Apr 2011 15:25:25 +0100 + +sysvinit (2.88dsf-13.4) experimental; urgency=low + + [ Roger Leigh ] + * Non-maintainer upload. + + [ Kel Modderman ] + * Remove code from /etc/init.d/bootmisc.sh which is not needed with modern + kernel which do not support BSD ptys. The udev check is not reliable + anymore due to /run/. Thanks Marco d'Itri (Closes: #620784) + * Handle user interupt of fsck in etc/init.d/checkfs.sh and + init.d/checkroot.sh. Trap SIGINT and handle fsck exit status of 32. + (Closes: #608534) + + -- Roger Leigh Sat, 16 Apr 2011 16:50:51 +0100 + +sysvinit (2.88dsf-13.3) experimental; urgency=low + + [ Roger Leigh ] + * Non-maintainer upload. + * Support for new top-level directory /run to replace /var/run, + /var/lock, /dev/shm and /lib/init/rw as a place to store transient + writable data which should not be preserved across a system + reboot (Closes: #186892, #616571, #620191). /run fixes existing + issues with RAMRUN and RAMLOCK options using tmpfs on /var/run and + /var/lock (Closes: #423405, #481546, #564635, #607136, #620735). + Additionally, /run/shm replaces /dev/shm and may share the same + tmpfs as /run if RAMSHM is set to "no" in /etc/default/rcS. /tmp + may also be configured to be a tmpfs if RAMTMP is set to "yes" in + /etc/default/rcS. /tmp may also be configured to use /run directly if + it is symlinked to /run/tmp, for example. + Summary: + /var/run → /run + /var/lock → /run/lock + /dev/shm → /run/shm + /lib/init/rw → /run (not transitioned automatically) + /dev/.* → /run (not transitioned automatically) + These changes do not take effect until the system is rebooted as + is currently done for /lib/init/rw setup. Prior to a reboot, the + paths are made available via bind/nullfs/firmlink mounts, depending on + the platform. Following a reboot, the old paths will be converted to + symlinks, or bind/nullfs/firmlink mounts where symlinking is not + possible, to allow access via either the old or new paths, to permit + programs using the old paths to transition to use the new paths for + wheezy. + - debian/initscripts.postinst: + Take chroot detection logic from udev postinst (existing logic was + broken). Add detection logic for vserver environments and Hurd. + Trigger reboot to complete transition. + If the system has not yet transitioned to a tmpfs-based /run, set up + bind mounts as follows: + /var/run → /run + /var/lock → /run/lock + /dev/shm → /run/shm + On reboot, the system will complete the migration to a tmpfs-based + /run; this creates the directory heierachy from the old paths to + enable the use of the new /run paths prior to a restart. This means + packages may transition to using /run with a versioned dependency + upon initscripts. + Remove special handling for RAMRUN and RAMLOCK, which is now taken + care of by /run. + If in a chroot environment, just create symlinks from the new names + to the existing locations, since otherwise the changes would be + lost, and since rcS scripts aren't run the transition won't + complete. + - debian/src/initscripts/Makefile: + Provide top-level /run. + - debian/src/initscripts/doc/README.Debian: + Document new use of RUN_SIZE and LOCK_SIZE. + Document use of /run rather than /lib/init/rw. + Document use of SHM_SIZE and TMP_SIZE. + - debian/src/initscripts/etc/init.d/checkroot.sh: + Use /run in place of /lib/init/rw. + - debian/src/initscripts/etc/default/tmpfs: + Document TMPFS_SIZE, RUN_SIZE and LOCK_SIZE (Closes: #483643). + Document TMP_SIZE and SHM_SIZE. + - debian/src/initscripts/etc/init.d/mountkernfs.sh: + Create /run, /run/sendsigs.omit.d and /run/lock. + Mount /run/lock as a separate tmpfs if RAMLOCK=yes. + /run/lock has 01777 permissions to match /var/lock. + Mount /tmp as a separate tmpfs if RAMTMP=yes or / is being mounted + read-only (Closes: #503805, #585543). + Drop mounting of /var/run and /var/lock. + - debian/src/initscripts/etc/init.d/mountdevsubfs.sh: + Create /run/shm. Mount /run/shm as a separate tmpfs if RAMSHM=yes. + - debian/src/initscripts/etc/init.d/mtab.sh: + domtab mirrors behaviour of domount in mount-functions exactly, to + prevent duplicate mounts (required for bind mount support). + Bind mount /run/init and drop mounting of /var/run. Mount /run/lock + in place of /var/lock. + Mount /tmp if RAMTMP=yes. + Mount /run/shm if RAMSHM=yes. + - debian/src/initscripts/etc/init.d/sendsigs: + Use new paths: + files: /run/sendsigs.omit /lib/init/rw/sendsigs.omit + dirs: /run/sendsigs.omit.d/ /lib/init/rw/sendsigs.omit.d/ + - debian/src/initscripts/etc/init.d/umountfs: + Ignore /run. Continue to ignore /lib/init/rw in order to handle + clean shutdown. No longer ignore /var/run and /var/lock. + - debian/src/initscripts/etc/init.d/umountnfs.sh: + Check for presence of .ramfs than configuration variable when + skipping /var/run and /var/lock. + Ignore /run. Continue to ignore /lib/init/rw in order to handle + clean shutdown. No longer ignore /var/run and /var/lock. + - debian/src/initscripts/lib/init/bootclean.sh + Don't clean /var/run and /var/lock (Closes: #378776). Because + these directories are now a tmpfs, cleaning no longer makes sense. + - debian/src/initscripts/lib/init/tmpfs.sh: + Read /etc/default/tmpfs and provide defaults if unset. + - debian/src/initscripts/lib/init/mount-functions.sh: + Support bind mounts in domount() (Closes: #353943). + Drop support for mounting /var/run and /var/lock as separate + tmpfs filesystems. Symlink /var/run to /run and /var/lock to + /run/lock if possible. If /var/run and /var/lock are directories, + attempt to remove and symlink if successful, or else bind mount. + - debian/src/initscripts/lib/init/vars.sh: + Read /etc/default/rcS and provide defaults if unset. + - debian/src/initscripts/man/rcS.5: + Drop documentation of RAMRUN. + Update documentation for RAMLOCK (Closes: #406685). + Document RAMTMP and RAMSHM. + - debian/src/initscripts/share/default.rcS: + Remove RAMRUN. + Add RAMSHM and RAMTMP. + RAMLOCK, RAMSHM and RAMTMP default to enabled for new installs. + + [ Michael Biebl ] + * Remove dead usplash support code (Closes: #599241, #599734, #612594). + + [ Martin F. Krafft ] + * Add comments to /etc/default/rcS (Closes: #530582). + + [ Samuel Thibault ] + * Hurd portability for initscripts postinst and init scripts. + Hurd does not currently support tmpfs mounts, but will do in the + future. Use firmlinks in place of bind mounts. + + -- Roger Leigh Sat, 16 Apr 2011 01:17:29 +0100 + +sysvinit (2.88dsf-13.2) unstable; urgency=low + + * Non-maintainer upload. + * Fix pending l10n issues. Debconf translations: + - Danish (Joe Hansen). Closes: #599430 + - Brazilian Portuguese (Adriano Rafael Gomes). Closes: #605851 + - Slovak (Slavko). Closes: #614193 + + -- Christian Perrier Tue, 05 Apr 2011 07:24:09 +0200 + +sysvinit (2.88dsf-13.1) unstable; urgency=low + + * Non-maintainer upload. + * Disable SIGINT for non-interactive init scripts (Closes: #582442) + + -- Ben Hutchings Sat, 01 Jan 2011 03:45:28 +0000 + +sysvinit (2.88dsf-13) unstable; urgency=low + + [ Kel Modderman ] + * Remove runlevel duration printing code from init.d/rc script + as it was scheduled for removal before squeeze and imperfect. + (Closes: #584862) + * Prevent init.d/rc script from executing stop scripts twice + in runlevels 0 and 6 when conccurrent boot is enabled. + (Closes: #594253) + * Modify debian/startpar/patches/06_stdin_notty.patch so it applies + without fuzziness. + * Add debian/startpar/patches/08_kfreebsd_proc_error_debug.patch to + prevent frequent messages on Debian GNU/kFreeBSD from littering boot + messages. Thanks Petr Salinger for the patch. (Closes: #590560) + * Avoid umounting virtual filesystems (eg, cgroup) mounted under + /sys/* as there is no good reason to do so. Thanks Michael Biebl + for the patch. (Closes: #597338) + + [ Petter Reinholdtsen ] + * Update Standards-Version from 3.8.4 to 3.9.1. No changes needed. + + -- Petter Reinholdtsen Sun, 14 Nov 2010 23:08:45 +0100 + +sysvinit (2.88dsf-12) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Fix typo introduced when fixing #526398 and make sure the root + file system is only checked if it is specified in /etc/fstab that + it should be checked, to avoid breaking boot when root is on NFS + (Closes: #592427). + + -- Petter Reinholdtsen Sun, 15 Aug 2010 20:05:30 +0200 + +sysvinit (2.88dsf-11) unstable; urgency=low + + * Avoid /usr/bin/find in init.d/urandom to be able to run it before + /usr/ is mounted (Closes: #587665). + + -- Petter Reinholdtsen Sat, 03 Jul 2010 09:54:01 +0200 + +sysvinit (2.88dsf-10) unstable; urgency=low + + * Change init.d/urandom depend from $remote_fs to $local_fs. As far + as I can see, it do not use anything in /usr/. + * Change warning message from invoke-rc.d when called during shutdown + to also include the requested action name. + + -- Petter Reinholdtsen Wed, 30 Jun 2010 14:06:17 +0200 + +sysvinit (2.88dsf-9) unstable; urgency=low + + * Drop soft dependency from init.d/bootlogs to gdm3 until gdm3 stop + depending on bootlogs, to avoid init.d script loop (Closes: #577146). + * Rewrite rm command in initscripts.postrm to avoid bogus lintian + error. + * Extend startpar patch 05_pri_kdm_gdm.patch to also give priority + to gdm3. + + -- Petter Reinholdtsen Fri, 11 Jun 2010 08:47:28 +0200 + +sysvinit (2.88dsf-8) unstable; urgency=low + + * New startpar patch 06_stdin_notty.patch to make sure startpar run + programs also when stdin is a pipe, to get it working on OpenVZ + (Closes: #584102) + * New startpar patch 07_nocrash_missing_arg.patch to make sure + missing argument (-a) do not cause startpar to segfault. + * Change startpar patch 05_pri_kdm_gdm.patch to also give priority + to udev to get kernel module loading started as early as possible + during boot. Based on idea from live-net-startpar. + * Make init.d/bootlogs soft depend on gdm3 while we wait for gdm3 to + provide $x-display-manager. + * Make sure to create /dev/pts/ and /dev/shm/ in mountdevsub.sh + before mounting them to allow udev to stop creating them at boot + (Closes: #584742). Thanks to Marco d'Itri for the patch. + * Drop support for the now obsolete devfs file system in the init.d + scripts bootmisc.sh, checkroot.sh, mountdevsubfs.sh, umountfs and + umountnfs.sh. + * Loosen up the migration check to dependency based boot sequencing, + to only report removed but not purged packages if insserv detected + problems with the init.d script dependencies. + * Add Norwegian Bokmål (nb) debconf translation. + + -- Petter Reinholdtsen Thu, 10 Jun 2010 15:41:18 +0200 + +sysvinit (2.88dsf-7) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Protect new code calling initctl in sendsigs to only run when + /sbin/initctl is available. + + -- Petter Reinholdtsen Sun, 30 May 2010 14:57:17 +0200 + +sysvinit (2.88dsf-6) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Update comment in init.d/rc explaining the CONCURRENCY value to + reflect that 'startpar' is no longer a useful value and that + dependency based boot sequencing with parallel boot is the + default. + * Additional upstart jobs may be /started/ on shutdown after + init.d/sendsigs has first been invoked; so don't assume the list + of known jobs is constant, instead requery initctl before each + killall5 -CONT to properly exclude any new jobs upstart knows + about so that we aren't waiting an extra 10 seconds for no reason. + Patch from Steve Langasek and Ubuntu. + * Print to the console how many seconds were spent running boot + scripts, to get more focus on boot speed while we prepare Squeeze. + * Add workaround in sysv-rc.postinst for systems migrating from + file-rc to make sure their use of legacy boot ordering is detected + and handled (Closes: #575080). + + -- Petter Reinholdtsen Sat, 29 May 2010 21:08:23 +0200 + +sysvinit (2.88dsf-5) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Make sure now obsolete startpar and shell concurrency setting + work as aliases for makefile style concurrency (Closes: #581704). + + -- Petter Reinholdtsen Sat, 15 May 2010 20:31:19 +0200 + +sysvinit (2.88dsf-4) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Fix typo in code detecting legacy boot ordering when concurrent + startup is enabled. + * Call splash_stop early during boot when using concurrent booting, + to stop usplash from confusing X. + + -- Petter Reinholdtsen Fri, 14 May 2010 21:39:27 +0200 + +sysvinit (2.88dsf-3) experimental; urgency=low + + * New 30_killall5_hurd.patch to fix build problem on Hurd. Patch + from Werner Fink. + * Fix typo in invoke-rc.d (Closes: #580298). + * Switch to concurrent booting by default, when dependency based + boot sqeuencing is enabled. Make shell and startpar concurrency + aliases for makefile style concurrency, as both are obsolete now. + * Add 64_init_selinux_enabled.patch to try to fix the logic used to + enable SELinux (Closes: #580272). + * Mention the LSB style header now required for init.d scripts in + /etc/init.d/README (Closes: #576788). + + -- Petter Reinholdtsen Wed, 12 May 2010 21:36:01 +0200 + +sysvinit (2.88dsf-2) experimental; urgency=low + + [ Petter Reinholdtsen ] + * Change start dependencies for bootlogs to use new virtual facility + $x-display-manager and also mention wdm and nodm. The individual + display managers should be dropped as stop dependencies when all + of them provide the virtual facility. + * Report script name requested if invoke-rc.d is used during + shutdown. + * Update 63_init_keep_utf8_ttyflag.patch to actually work on kfreebsd. + * New 20_init_freebsd_vswtc.patch to add workaround for missing VSWTC + on kfreebsd (Closes: 579293). + + -- Petter Reinholdtsen Tue, 27 Apr 2010 18:46:02 +0200 + +sysvinit (2.88dsf-1) experimental; urgency=low + + * Upload to experimental for build testing and wider review. + + * New upstream release. + - Drop 11_doc_shutdown-c.dpatch, now included upstream. + - Drop 14_doc_fsf_addr.dpatch, now included upstream. + - Drop 15_doc_upstream_email.dpatch, now included upstream. + - Drop 21_ifdown_kfreebsd.patch, now included upstream. + - Drop 46_pidof_symlinkman.patch, now included upstream. + - Drop 50_bootlogd_devsubdir.dpatch, now included upstream. + - Drop 54_bootlogd_findptyfail.dpatch, now included upstream. + - Drop 55_bootlogd_flush.patch, now included upstream. + - Drop 60_init_selinux_ifdef.dpatch, now included upstream. + - Drop 62_init_freebsdterm.dpatch, now included upstream. + - Drop 70_compiler_warnings.dpatch, now included upstream. + - Drop 94_fstab-decode.dpatch, now included upstream. + - Drop 96_shutdown_acctoff.dpatch, now included upstream. + - Drop 97_init_starttest.dpatch, now included upstream. + - Drop 98_installtarget.dpatch, now included upstream. + - Update 63_init_keep_utf8_ttyflag.patch. + - New upstream do not strip binaries, allowing the nostrip + build option to work (Closes: #438085). + * Update Standards-Version from 3.8.3 to 3.8.4. No change needed. + * Update homepage in control file to the new home + http://savannah.nongnu.org/projects/sysvinit . + * Quiet down init.d/bootlogd when VERBOSE=no. + * Document in init.d/skeleton that lsb-base (>= 3.2-14) is + needed for status_of_proc(). + + -- Petter Reinholdtsen Sun, 25 Apr 2010 19:56:47 +0200 + +sysvinit (2.87dsf-10) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Avoid killing processes managed by upstart in init.d/sendsigs, and + print list of misbehaving processes. Partly based on patch from + Martin Pitt, Scott James Remnant and Ubuntu. + * Change service to use upstart for service management if an upstart + configuration exist. Patch from Dustin Kirkland and Ubuntu. + * Always print message from invoke-rc.d when policy-rc.d denied + execution (Closes: #566783). Patch from Per Wawra. + * Correct use of .IB and .IR macros in update-rc.d manual page + (Closes: 556080). Patch from Matt Kraai. + * Only create /dev/initctl and send SIGUSR to init in + init.d/mountall.sh when sysvinit is installed (Closes: #569032). + * Change lsb-base depend for sysv-rc and initscripts from (>= 3.0-6) + to (>= 3.2-14) for the status_of_proc() function. Patch from + Dustin Kirkland and Ubuntu. + * Adjust init.d/umountfs to avoid using -f when umounting devices + mounted before /, and avoid umounting file systems listed before / + in /proc/mounts to avoid hangs during shutdown. Patch from Colin + Watson and Ubuntu. + * Implement status reporting in init.d/stop-bootlogd and + init.d/stop-bootlogd-single. + + [ Kel Modderman ] + * Exit with value rather than echo the value for the status action in + rmnologin and hostname.sh initscripts. (Closes: #567074, #567069) + + -- Petter Reinholdtsen Mon, 22 Mar 2010 20:21:01 +0100 + +sysvinit (2.87dsf-9) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Correct typo preventing sysv-rc error messages to be sent to stderr. + * Only override VERBOSE in /lib/init/vars.sh based on kernel + argument when called from /etc/init.d/rc (Closes: #505468). + * Only use /proc/cmdline to override VERBOSE setting during boot if + it is readable (Closes: #540008). + * Only send SIGUSR to init from init.d/mountall.sh when /dev/initctl + was created, to reduce the chance of confusing upstart (Related to + #569032). + * Make kernel argument parsing in /lib/init/vars.sh more robust to + avoid incorrect matches (Closes: #557648). + * Enable swap earlier in the boot, to avoid running out of memory + during fsck (Closes: #552029). + * Update upstream email address in the README to the current one. + + -- Petter Reinholdtsen Sun, 21 Mar 2010 08:19:38 +0100 + +sysvinit (2.87dsf-8.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix pending l10n issues. Debconf translations: + - Russian (Yuri Kozlov). Closes: #552415 + - Japanese (Hideki Yamane (Debian-JP)). Closes: #553185 + - Italian (Vincenzo Campanella). Closes: #556075 + - German (Chris Leick). Closes: #550829 + - Galician (Marce Villarino). Closes: #554226 + + -- Christian Perrier Fri, 12 Feb 2010 05:57:33 +0100 + +sysvinit (2.87dsf-8) unstable; urgency=low + + * Update patch 63_init_keep_utf8_ttyflag.patch to try to get it + working on freebsd and hurd too. + * Debconf templates and debian/control changed based on review + by the debian-l10n- english team as part of the Smith review + project (Closes: #549539). Thanks to Christian Perrier for + the patch. + * Added section in README.Debian for sysv-rc, explaining the + migration in more detail. Thanks to Justin B Rye for the text. + * Debconf translations: + - Added Vietnamese from Clytie Siddall (Closes: #550220). + - Added Swedish from Martin Ågren (Closes: #550495). + - Added Czech from Miroslav Kure (Closes: #551325). + - Added Spanish from Francisco Javier Cuadrado (Closes: #551594). + - Added Portuguese from António Moreira (Closes: #551675). + - Added French from Steve Petruzzello (Closes: #551722). + - Added Finnish from Esko Arajärvi (Closes: #551916). + - Added Italian from Luca Monducci (Closes: #551922). + + -- Petter Reinholdtsen Sun, 25 Oct 2009 21:49:44 +0100 + +sysvinit (2.87dsf-7) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Change if-up.d/mountnfs to not claim to wait for the last network + interface when there are no network file systems listed in + /etc/fstab (Closes: #512237, 481028). Patch from Adrian Bridgett. + * Add startpar patch 05_pri_kdm_gdm.patch to try to get gdm and kdm + to start earlier when concurrent booting is enabled. + * Quiet down sysv-rc postinst to not give error when no file exist + in /var/lib/update-rc.d. Discovered from piuparts. + * Report error from update-rc.d when insserv reject a script, to + make it more clear what program call failed in a postinst. + * Drop optional dependency from checkfs to cryptdisks, the + cryptdisks script have a reverse dependency on checkfs, and that + is a better way to do it. + * Rewrite init.d/mtab.sh and init.d/checkroot.sh to not use + /usr/bin/which, as it is running before /usr/ is guaranteed to be + available. + * Rewrite /lib/init/usplash-fsck-functions.sh to use blkid instead of + the now obsolete vol_id. Patch from Martin Pitt and Ubuntu. + * Update 91_sulogin_lockedpw.dpatch to include documentation, + without the Ubuntu references. Based on patch from Scott James + Remnant and Ubuntu. + * Add patch 55_bootlogd_flush.patch to make sure lines are flushed + to the kernel even when not asking the kernel to flush to disk + (Closes: 542515). Patch from Scott Gifford. + * Add patch 63_init_keep_utf8_ttyflag.patch to make sure the utf-8 + tty flag is not cleared (Closes: 547073). Patch from Samuel + Thibault. + * Include url to wiki page with information on how to fix the + problems when unable to migrate to dependency based boot + sequencing. + * Make mountnfs-bootclean.sh also depend on $local_fs, to avoid + surprises on systems where the admin removed mountnfs.sh from + rcS.d/. It is not a good idea to remove it, but there is no need + for the script to fail when someone is crazy enough to remove a + essential init.d script + + [ Henrique de Moraes Holschuh ] + * invoke-rc.d: return exit status 4 when action "status" is denied, + to allow simpleminded policy-rc.d scripts to work well with the + status action (closes: #381497) + + [ Kel Modderman ] + * Fix bootlogs init.d script to output correct name and supported + actions in usage statement. (Closes: #551263) + + -- Petter Reinholdtsen Sun, 25 Oct 2009 11:07:22 +0100 + +sysvinit (2.87dsf-6) unstable; urgency=low + + * Correct code in sysv-rc postinst to avoid failing to install when no + init.d scripts have been removed (Closes: #546405). + * Start bootlogd before lvm2 too, to push it even further forward + in the boot sequence. + + -- Petter Reinholdtsen Tue, 15 Sep 2009 01:28:19 +0200 + +sysvinit (2.87dsf-5) experimental; urgency=low + + * Uploading to experimental, to test the new build rules. + + * Make sysv-rc postinst report detected problems to stderr too when + failing to migrate. + * Fix typo in error message from postinst (Closes: #545409). + * Make initscripts depend on sysvinit-utils (>= 2.86.ds1-64), to + make sure the fstab-decode program is available (Closes: #545356). + * Make sure the calls to 'update-rc.d X remove' in initscripts + postinst do not ignore errors (Closes: #406361). + * Make sysvinit depend on sysvinit-utils (>= 2.86.ds1-66) to avoid + that bootlogd disappear during partial upgrades (Closes: #545368). + * Restructure source package to make it possible to use debhelper in + the common way to build the source, by moving debian/initscripts/ + and debian/sysv-rc/ into debian/src/. Restructure build rules to + use debhelper more, and migrate to debhelper 7. + * New patch 98_installtarget.patch to improve the sysvinit install + target. + * Remove /etc/init.d/.depend.* in prerm, not postrm, to avoid + surprises. + * Remove /var/lib/update-rc.d/* when the package is purged. + * Change cut-off point for the trimmed changelog entries in + sysvinit-utils, initscripts and sysv-rc from version 2.84-3 to + version 2.86.ds1-47, to reduce the package sizes. + * Drop hurd specific dependency on libc0.3 (>= 2.3.2.ds1-12). It is + no longer needed according to Michael Bunk. Patch from Michael + Biebl. + * Remove information about scripts in /var/lib/update-rc.d/ when + their runlevel symlinks are removed (Closes: #545949). Remove + such files left behind earlier during upgrade. + * Bootlogd now starts as late as possible (Closes: #265801) + * Drop the binary /lib/init/readlink from initscripts and depend on + coreutils (>= 5.93) instead. Adjust scripts to use the program + from coreutils from now on (Closes: #239342). + * Make sure insserv exit values propagate through update-rc.d to make + sure packages with errors fail to install. + + -- Petter Reinholdtsen Sun, 13 Sep 2009 00:13:49 +0200 + +sysvinit (2.87dsf-4ubuntu25) oneiric; urgency=low + + * debian/initscripts/etc/init.d/sendsigs: Only omit jobs that + are in the 'start' goal. Those that are destined for 'stop' are + waited on and killed like all other processes. (LP: #616287) Thanks + to Launchpad user "codewarrior". + + -- Clint Byrum Tue, 07 Jun 2011 14:06:07 -0700 + +sysvinit (2.87dsf-4ubuntu24) oneiric; urgency=low + + * debian/sysv-rc/sbin/invoke-rc.d: replace RUNLEVEL with RUNLEVELHELPER. + Using RUNLEVEL causes spurious failures when invoke-rc.d is invoked + with RUNLEVEL already defined in the environment (as it is e.g. during + bootup) since invoke-rc.d's RUNLEVEL will become an exported variable + at that point and cause /sbin/runlevel to return bad data. (LP: #619246) + + -- James Troup Tue, 24 May 2011 11:41:45 +0000 + +sysvinit (2.87dsf-4ubuntu23) natty; urgency=low + + * Fix FTBFS with changed libcrypt multiarch library location. + + -- Matthias Klose Mon, 28 Mar 2011 21:50:35 +0100 + +sysvinit (2.87dsf-4ubuntu22) natty; urgency=low + + [ Dan Muresan ] + * sendsigs: OMITPIDS needs to be reinitalized for every loop iteration + before concatanating pids of upstart jobs to it. Otherwise it overflows + and throws an error. (LP: #665185) + + -- Surbhi Palande Mon, 28 Mar 2011 13:11:49 +0300 + +sysvinit (2.87dsf-4ubuntu21) natty; urgency=low + + * debian/initscripts/etc/init.d/umountnfs.sh: emit a new event, + unmounted-remote-filesystems, to allow stopping portmap + and others. (LP: #711425) + + -- Clint Byrum Fri, 04 Mar 2011 12:18:15 +0000 + +sysvinit (2.87dsf-4ubuntu20) natty; urgency=low + + [ Michael Vogt ] + * debian/patches/100_fix_ftbfs_enoioctlcmd.patch: + - cherry pick upstream fix for missing ENOIOCTLCMD, this + fixes a FTBFS + + [ James Hunt ] + * debian/initscripts/etc/init.d/umountroot: Improve handling of + respawn of init: we now wait for inits map file to change. If this + doesn't happen within 5 seconds, we unmount forcibly. + + -- Michael Vogt Fri, 04 Mar 2011 10:38:34 +0100 + +sysvinit (2.87dsf-4ubuntu19) maverick-proposed; urgency=low + + * debian/initscripts.postinst (LP: #659738): + - do not create motd.tail from motd on systems using update-motd. + - clean up incorrectly created motd.tail from upgrade to Maverick. + + -- Kees Cook Thu, 28 Oct 2010 20:30:54 -0700 + +sysvinit (2.87dsf-4ubuntu18) maverick; urgency=low + + * Allocate pidof/killall5 omitpid buffers dynamically. 16 is too small + for killall5 now that all Upstart jobs are omitted. + * Create /lib/init/rw as a symlink to /var/run on new installations, and + fix it up in /etc/init.d/umountroot on upgrade, as it's difficult to do + this at any other time; this saves us chasing around all the individual + packages that use one or the other for sendsigs.omit.d (LP: #541512). + * Handle /var/run/sendsigs.omit.d explicitly, just in case. + + -- Colin Watson Fri, 24 Sep 2010 10:48:28 +0100 + +sysvinit (2.87dsf-4ubuntu17) lucid; urgency=low + + * debian/initscripts/etc/init.d/sendsigs: additional upstart jobs may be + /started/ on shutdown after this script has first been invoked; so don't + assume the list of known jobs is constant, instead requery initctl before + each killall5 -CONT to properly exclude any new jobs upstart knows about + so that we aren't waiting an extra 10 seconds for no reason. + LP: #537262. + + -- Steve Langasek Tue, 30 Mar 2010 00:08:33 -0700 + +sysvinit (2.87dsf-4ubuntu16) lucid; urgency=low + + * debian/initscripts/etc/init.d/sendsigs: Comment out the + report_unkillable() call. We collected enough data for now from beta-1 + installations. + + -- Martin Pitt Mon, 22 Mar 2010 11:39:24 +0100 + +sysvinit (2.87dsf-4ubuntu15) lucid; urgency=low + + * debian/initscripts/etc/init.d/sendsigs: If we detect processes which don't + want to die on SIGTERM (and thus cause the 10 second timeout until they + get killed), call /usr/share/apport/unkillable_shutdown (if existing), so + that we get reports about those. + + -- Martin Pitt Wed, 10 Mar 2010 14:43:49 +0100 + +sysvinit (2.87dsf-4ubuntu14) lucid; urgency=low + + * debian/patches/92_sulogin_support_static_sh.patch: + - add support for /bin/static-sh as fallback if the regular + shell fails to execute (LP: #505887) + + -- Michael Vogt Mon, 18 Jan 2010 09:40:46 +0100 + +sysvinit (2.87dsf-4ubuntu13) lucid; urgency=low + + * debian/initscripts/etc/init.d/sendsigs: + - Omit any process being controlled by Upstart. + + -- Scott James Remnant Mon, 30 Nov 2009 23:36:47 +0000 + +sysvinit (2.87dsf-4ubuntu12) karmic-proposed; urgency=low + + * debian/initscripts/etc/init.d/umountfs: do not use the -f option when + unmounting WEAK_MTPTS, in the case of bind mounts in particular, that + results in the underlying device being unmounted, LP: #468589 + + -- Agostino Russo Tue, 03 Nov 2009 23:04:53 +0000 + +sysvinit (2.87dsf-4ubuntu11) karmic; urgency=low + + * debian/control: + - Change the upstart dependency to a recommend in sysinit-utils + because its not a hard dependency. This will fix a dependency + cycle that causes kubuntu upgrades to fail (LP: ä452090) + + -- Michael Vogt Mon, 19 Oct 2009 15:12:44 +0200 + +sysvinit (2.87dsf-4ubuntu10) karmic; urgency=low + + * If /var/run/init.upgraded exists, call telinit u before unmounting + the root filesystem. + + * Remove RAMRUN and RAMLOCK settings from default rcS script to avoid + confusion, remove from /etc/default/rcS on upgrade too. + * Always skip these when unmounting filesystems. + * Remove from the manual pages. + + * Remove unsupported ASYNCMOUNTNFS documentation from the manual page. + + * Remove documentation about tmpfs, since mountall handles these. + * Remove documentation about /sys in fstab, since mountall actually lets + you specify options there. + + -- Scott James Remnant Wed, 14 Oct 2009 05:20:19 +0100 + +sysvinit (2.87dsf-4ubuntu8) karmic; urgency=low + + * debian/control: Do not build the sysvinit binary package any more. It + conflicts with upstart, which is required, so it is uninstallable. + + -- Martin Pitt Thu, 01 Oct 2009 16:32:06 +0200 + +sysvinit (2.87dsf-4ubuntu7) karmic; urgency=low + + * debian/rules: add a versioned dependency on the upstart that provides + the reload action + * debian/service/service: handle reload and force-reload actions as + upstart commands, LP: #433544 + + -- Dustin Kirkland Tue, 22 Sep 2009 14:25:37 -0700 + +sysvinit (2.87dsf-4ubuntu6) karmic; urgency=low + + * Remove conffiles that are no longer included in this package. + LP: #430355. + + -- Scott James Remnant Mon, 21 Sep 2009 16:29:34 -0700 + +sysvinit (2.87dsf-4ubuntu5) karmic; urgency=low + + * Restore change made by Martin Pitt in intrepid, but lost recently (LP: + #431789): + - Let sysvinit-utils only replace the old sysvutils, do not conflict to + it. This is a less clean way to do the transition than with a proper + Conflicts/Replaces, but the latter induces a Pre-Depends/Conflicts + loop which is unresolvable. + + -- Colin Watson Sat, 19 Sep 2009 21:33:08 +0100 + +sysvinit (2.87dsf-4ubuntu4) karmic; urgency=low + + * debian/service/service: use upstart for service management, if an + upstart configuration exists, LP: #427277 + + -- Dustin Kirkland Thu, 17 Sep 2009 10:21:05 -0500 + +sysvinit (2.87dsf-4ubuntu3) karmic; urgency=low + + FFE LP: #427356. + + * Various initscripts have been replaced by Upstart jobs shipped in + other packages, the following have been removed: + - hostname.sh + - mountkernfs.sh + - mountdevsubfs.sh + - checkroot.sh + - mtab.sh + - checkfs.sh + - mountall.sh + - mountall-bootclean.sh + - mountoverflowtmp + - mountnfs.sh + - mountnfs-bootclean.sh + - bootmisc.sh + - bootlogs + - rmnlogin + + -- Scott James Remnant Tue, 15 Sep 2009 02:45:59 +0100 + +sysvinit (2.87dsf-4ubuntu2) karmic; urgency=low + + * Use legacy boot ordering on fresh installs too. Ooops. + + -- Scott James Remnant Tue, 15 Sep 2009 02:44:35 +0100 + +sysvinit (2.87dsf-4ubuntu1) karmic; urgency=low + + * Merge from debian unstable, remaining changes: + - Support Cell processor: + + debian/initscripts/postinst: Create spu system group and /spu mount + point if we are running on a Cell processor. + + debian/initscripts/etc/init.d/mountkernfs.sh: Mount spufs if Cell + processor is detected. + + debian/initscripts/lib/init/mount-functions.sh: Modprobe spufs + if not available. + + debian/control: Add initscripts dependency 'passwd' for groupadd. + (Forwarded to Debian #483399) + - Use tmpfs mounts for /var/lock and /var/run: + + debian/initscripts/share/default.rcS: Enable RAMRUN and RAMLOCK by + default. + + debian/initscripts.postinst: Enable RAMRUN and RAMLOCK in + /etc/default/rcS on upgrades. This needs to be kept until the next + LTS. + + debian/initscripts/etc/init.d/mountkernfs.sh: Propagate files from the + initramfs to our new /var/run, so that we can populate + /var/run/sendsigs.omit from initramfs. + - Boot ordering differences: + + mountkernfs.sh: 02 -> 01 + + mountdevsubfs.sh: 04 -> 11 + + bootlogd: disabled by default + + checkroot.sh: 10 -> 20 + + mtab.sh: 12 -> 22 + - debian/patches/91_sulogin_lockedpw.dpatch: Disable "root account is + locked" warning, since this is the default in Ubuntu. Document this in + sulogin.8. + - debian/control: Drop Essential: yes from packages since we use Upstart. + - debian/control: Conflict/Replace sysvconfig which has also previously + provided service(8). + - debian/control, debian/rules: Previous name for sysvinit-utils was + 'sysvutils' in Ubuntu, so Conflict/Replace/Provide it. Also create a + dummy sysvutils package, since Hardy has reverse versioned dependencies + to it. This needs to be kept until after the next LTS. + - debian/control: Depend on lsb-base (>= 3.2-14) for status_of_proc() + function. + - debian/initscripts/etc/init.d/checkfs.sh: Don't depend on hwclockfirst + which Ubuntu does not have. + - debian/initscripts/etc/init.d/mountkernfs.sh: Always mount devpts, and + do not touch /dev/ptmx (which is already managed by udev). + - debian/initscripts/etc/init.d/mountkernfs.sh: mount fusectl if it is + available + - debian/initscripts/etc/init.d/mountkernfs.sh: mount securityfs if it is + available. This allows for easier AppArmor confinement of applications + early in the boot process. LP: #399954 + - debian/initscripts/etc/init.d/mountkernfs.sh: mount debugfs if it is + available. + - debian/initscripts/etc/init.d/ondemand: Sleep for 60 seconds, then + set CPU Frequency Scaling governor to "ondemand". LP: #341573. + - debian/initscripts/etc/init.d/umountfs: Don't unmount filesystems + that precede root or use force for some mountpoints. + - debian/initscripts/etc/network/if-up.d/mountnfs: Rename ifstate + file to /var/run/network/ifstate + - ./debian/initscripts/lib/init/usplash-fsck-functions.sh: Use blkid, + vol_id is gone. + - debian/initscripts.{pre,postinst}: waitnfs.sh -> mountnfs.sh renaming + transition. This needs to be kept until after the next LTS. + + * debian/sysv-rc/sbin/update-rc.d: Dropped support for "multiuser" + command-line option. + * debian/rules: Compat symlink from /usr/bin/service to /usr/sbin/service + * debian/initscripts.postinst: Transition from bootlogs.sh to bootlogs + + * debian/sysv-rc.postinst: Don't try and use insserv by default, though + everything's in place for you to try if you like. It can be activated + with: + USEINSSERV=yes dpkg-reconfigure sysv-rc + + -- Scott James Remnant Mon, 07 Sep 2009 19:56:53 +0100 + +sysvinit (2.87dsf-4) unstable; urgency=low + + * Send all output from the sysv-rc postinst to stderr, to make sure + we do not confuse debconf. + * Fix sysv-rc postinst to not fail when insserv report more than one + error (Closes: #545205) + + -- Petter Reinholdtsen Sat, 05 Sep 2009 22:23:38 +0200 + +sysvinit (2.87dsf-3) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Drop execution of files in /etc/rc.boot from sysv-rc. This feature + have been obsolete since before 1999. Remove the rc.boot(5) manual + page from the source as well. + * Make init.d/rc.local depend on $all to get it to start later in + the boot sequence (Closes: #539084). + * Rewrite message from update-rc.d to make it more obvious that both + start and stop symlinks are taken into account (Closes: #519553). + * Rewrite /etc/rcS.d/README and /etc/rc[2-5].d/README to explain how + to disable a service at a given runlevel with the dependency based + boot sequencing. Remove the list of well known sequence numbers + in rcS.d/ that is no longer valid with dependency based boot + sequencing. + * Make sysv-rc Breaks: initscripts (<< 2.86.ds1-63) to make sure + scripts working with makefile style concurrent booting is + installed. Not using dependency to avoid circular dependency + between initscripts and sysv-rc. + * Move the code to migrate to dependency based boot sequencing + during upgrades from the insserv package to the sysv-rc package. + Depend on insserv (>> 1.12.0-10) for this. Let initscripts depend + on sysv-rc | file-rc to make sure they are installed first. + Migration is a one-way process, enabled after a critical debconf + question during upgrades when it is safe to do so (Closes: + #540546, #541041, 541604). Checks previously done by + update-bootsystem-insserv are now only done once in sysv-rc + postinst (Closes: #538934). Dependency based boot sequencing is + now the default. This change make it possible to remove both + sysv-rc and insserv (Closes: #538959) if other packages want to + take over the boot sequencing resposibility. + * Rewrite initscripts postinst to always use the update-rc.d script + instead of the legacy updatercd() function which was used as a + speed optimization no longer relevant when dependency based boot + sequencing is the default. + + [ Kel Modderman ] + * Migrate from dpatch to quilt for patch management: + - build-depend on quilt (>= 0.40) + - provide patch and unpatch targets in debian/rules. use custom + patch targets to allow for separate debian/patches and + debian/startpar/patches patch series + - keep .dpatch file extenstion to make checking changes easier + - add debian/README.source to describe patch system we use + * Purge debian/patches/12_doc_lastb.dpatch and + debian/patches/68_init_quiet.dpatch, they were never applied and wrong. + * Update patch header for all remaining patches. + * Call dpkg-shlibdeps debian/startpar/startpar for sysvinit-utils package + and not sysvinit, startpar moved in revision 2.86.ds1-62. + * Remove checkdir, checkroot and buildfromsvn targets from + debian/rules. The latter is unused by current maintainers and the + former can be replaced with dh_testdir and dh_testroot instead. + * Fix reject hunk of debian/patches/70_compiler_warnings.dpatch to + fix another compile warning. + * Make sure update-rc.d compares command line parameters for start/stop + runlevel configuration with the Default-Start and Default-Stop values in + LSB info comment of script and warns if there are differences. + * Update sysv-rc debconf templates with text which help explain + dependency based boot to end users, and provide sound advice for + people who encounter problems which prevent the migration. + * Update inittab.kfreebsd-gnu: On GNU/kFreeBSD the serial devices have + change from /dev/cuuaX to /dev/ttydX in kernel 6.0 which is minumum + kernel currently supported in Debian. (Closes: #544555) + * Make sure sysv-rc/etc/init.d/rc checks insserv has reordered boot + system by checking for /etc/init.d/.depend.* when CONCURRENCY=shell + too. (Closes: #544565) + + [ Petter Reinholdtsen ] + * Adjust init.d/bootlogd dependencies to start before hostname, + procps, pcmcia, hwclock, hwclockfirst, hibernate-clean and hdparm, + to get the bootlogger started earlier in the boot (Closes: #538936). + * Extend the update-rc.d(8) manual page to document the new behaviour. + Do not install translated update-rc.d manual pages until they + are updated to reflect this. + * Use versioned conflict on chkconfig (<< 11.0-79.1-2), now that it + dropped the service command (Closes: #541727). + * Drop unneeded dependency rmnologin from init.d/stop-bootlogd, and + correct $remote_fs dependency to $local_fs, as /usr/ is not aused. + * Drop unneeded dependency on udev for init.d/bootlogs, and add ldm + and sdm to list of display managers to start after to get the + complete list. + * Extend boot order migration check to reject migration if init.d + scripts from removed but not purged packages are present. + * Add $syslog as a dependency for init.d/skeleton, as it should + be used in the normal case. + * Change init.d/urandom dependency from $local_fs to $remote_fs, as + it uses /usr/bin/find to handle locally increased pool size + (Closes: #543294). + * Drop initscripts conflict on insserv (<< 1.09.0-12), now that + sysv-rc depend on insserv (>> 1.12.0-10). + * Drop initscripts conflict on udev (<< 0.080-1), which was + before the current oldstable was released. + * Drop initscripts conflict on usplash (<< 0.5.8-2), which was + before the current stable was released. + * Remove code in init.d/killprocs to restart /sbin/update, as it is + only useful for kernels up to linux 2.2, which is no longer + supported (Closes: #544249). Thanks to Marco d'Itri for the tip. + * Update Standards-Version from 3.8.2 to 3.8.3. No changes needed. + * Add code in initscripts.postrm to remove rc settings for init.d + scripts on removal to follow policy and keep lintian happy, even + though removing initscripts will leave the system unbootable. + Update lintian overrides to reflect this. + * Implement status argument to init.d/bootlogs, init.d/checkroot.sh, + init.d/hostname.sh, init.d/rmnologin and init.d/urandom. + + -- Petter Reinholdtsen Sat, 05 Sep 2009 11:52:51 +0200 + +sysvinit (2.87dsf-2) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Start generating MD5 sum files using dh_md5sum, build-depend + on debhelper for this. Use compat level 1 to get it to process + debian/tmp/. + * Drop the stop calls for K11mountoverflowtmp in runlevels 0 and 6. + The umountfs script will take care of that task (Closes: 526733). + * Remove setting of unused makefile variable LIBC6 from rules. + * Move copyright, preinst, postinst and postrm files for initscripts + and sysv-rc to debian/ to make the build system closer to other + source packages. + * Add the sysv-rc saveconfig script to /usr/share/doc/sysv-rc/ + to provide an example. + * Let sysv-rc depend on insserv (>= 1.12.0-10) to activate + dependency based boot sequencing by default (Closes: #472587). + + [ Kel Modderman ] + * Allow forcefsck on kernel cmdline to have same effect as touching + /forcefsck in checkfs.sh and checkroot.sh. (Closes: #529498) + * Also allow fastboot on kernel cmdline to have same effect as touching + /fastboot in checkfs.sh and checkroot.sh. + * Do not use brace expansion in debian/rules and remove need for + setting SHELL to /bin/bash. + + -- Petter Reinholdtsen Mon, 27 Jul 2009 21:12:27 +0200 + +sysvinit (2.87dsf-1) unstable; urgency=low + + * New upstream release. + - Update patch 10_doc_manuals to drop the parts now included upstream. + - Drop patch 11_doc_mountpoint now included upstream. + - Drop patch 13_doc_telinit now included upstream. + - Update patch 14_doc_fsf_addr to drop the parts now included upstream. + - Drop patch 15_doc_pidof now included upstream. + - Drop patch 16_doc_runlevel now included upstream. + - Drop patch 17_doc_halt now included upstream. + - Drop patch 25_last_sanify now included upstream. + - Drop patch 26_last_ipv6 now included upstream. + - Drop patch 27_last_usageopts now included upstream. + - Drop patch 28_last_full-time now included upstream. + - Drop patch 30_strip now included upstream. + - Drop patch 31_build_warnings now included upstream. + - Drop patch 40_selinux now included upstream. + - Drop patch 41_utmp_64bit now included upstream. + - Drop patch 42_utmpdump_retval now included upstream. + - Drop patch 45_pidof_symlink now included upstream. + - Drop patch 47_pidof_chroot now included upstream. + - Drop patch 50_bootlogd_exitcode now included upstream. + - Drop patch 51_bootlogd_syncalot now included upstream. + - Drop patch 52_bootlogd_createlogfile now included upstream. + - Drop patch 53_bootlogd_ttyB now included upstream. + - Drop patch 60_init_race now included upstream. + - Drop patch 61_init_msg now included upstream. + - Drop patch 63_init_longer_procname now included upstream. + - Drop patch 64_init_reexec_env now included upstream. + - Drop patch 64_init_set_PATH now included upstream. + - Drop patch 65_init_u_in_06 now included upstream. + - Drop patch 66_init_emerg_tty now included upstream. + - Drop patch 67_init_hddown now included upstream. + - Drop patch 69_init_waiting now included upstream. + - Drop patch 70_init_consoleopen now included upstream. + - Drop patch 70_wall_ttyname now included upstream. + - Drop patch 71_wall_hostname now included upstream. + - Drop patch 80_killall_pidof now included upstream. + - Drop patch 80_killall_sched now included upstream. + - Drop patch 81_killall_avoid_init now included upstream. + - Drop patch 82_killall_exclude_pids now included upstream. + - Drop patch 82_killall_retval now included upstream. + - Drop patch 83_killall_manref now included upstream. + - Drop patch 84_killall_fuse now included upstream. + - Drop patch 85_killall_safecwd now included upstream. + - Drop patch 90_shutdown_H now included upstream. + - Drop patch 92_sata-hddown now included upstream. + - Drop patch 93_sulogin_fallback now included upstream. + - Drop patch 95_halt-name now included upstream. + * Modify shutdown(8) manual page to make it more clear when -c + work (Closes: #374038). Based on text proposal from Dan Jacobson. + * New patch 50_bootlogd_devsubdir to change bootlogd to recursively + search /dev/ for the correct terminal device (Closes: #376406). + * New patches 60_init_selinux_ifdef and 70_compiler_warnings to get + rid of compiler warnings. + * Rewrite rules to unpatch after the 'make clean' to get rid of binaries + depending on debian patches. + + -- Petter Reinholdtsen Sat, 25 Jul 2009 16:44:55 +0200 + +sysvinit (2.86.ds1-66) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Replace Ó with \['O] and Á with \['A] in spanish + update-rc.d(8) after looking up the correct string in + groff_man(7), to avoid lintian warning. + * Move bootlogd to the sysvinit-utils package, as it is useful also + without the sysvinit init program. Make sysvinit-utils replace + sysvinit (<= 2.86.ds1-65) to handle this. + * Clean up control file, dropping replaces and conflicts on sysvinit + and file-rc packages before oldstable: sysvinit (<< 2.85-1), + sysv-rc (<< 2.86.ds1-1.2), sysvinit (<< 2.86.ds1-12) and file-rc + (>> 0.7.0) (Closes: #509449). + * New patch 54_bootlogd_findptyfail making sure bootlogd findpty() + returns an error value when it fails to find a usable pty + (Closes: #492796). Patch from Rob Leslie. + * New patch 96_shutdown_acctoff making sure to call accton with the + argument off during shutdown to stop accounting (Closes: #536574). + * Modify LSB header of init.d/bootlogd to depend on $all when + starting, to get it to start later in the boot sequence + (Closes: #531198. Patch from Vincent Crevot. + * Modify LSB header of init.d/bootlogd to start earlier when + dependency based boot sequencing is enabled, by stating that + it should start before keymap and keyboard-setup. + * Make sure more verbose temp cleaning always calls log_end_msg + after log_begin_msg (might solve #534713). + * New patch 97_init_starttest solving problem reported to + 2003-03-10. + * Change init.d/bootmisc.sh to not set pseudo-terminal access + permissions when udev is active. Leave that to udev, the same way + it is left to devfs. + * Correct boot dependency, move hostname dependency from bootmisc.sh to + bootlogs. + + [ Kel Modderman ] + * Remove debian/startpar/README, it contains outdated information about + the origin of startpar upstream. + * Update startpar to version 0.53.1 upstream. Add Debian quilt patch series + to ./debian/startpar/patches, while they wait for inclusion upstream. + * Patch startpar makeboot.c to allow a much higher amount of loops when + calculating dependecies from make files. + * Modify all copyright blurbs which refer to the version-less symlink + /usr/share/common-licenses/GPL to point to the versioned GPL-2 license. + + -- Petter Reinholdtsen Fri, 24 Jul 2009 10:51:50 +0200 + +sysvinit (2.86.ds1-65) unstable; urgency=low + + [ Kel Modderman ] + * Patch debian/startpar/startpar.c to enable workaround for missing + /dev/pts in early runlevel S when using CONCURRENCY=startpar. + * Modify debian/patches/85_killall_safecwd.dpatch to make sure /proc + is CWD when killall5 is called as pidof as well. (Closes: #536543) + + -- Petter Reinholdtsen Sat, 11 Jul 2009 19:58:29 +0200 + +sysvinit (2.86.ds1-64) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Make sure only noswap kernel option disable swap (Closes: #523346). + Patch from Michael Tokarev. + * Do not rotate /var/log/dmesg if the file is not present (Closes: + #533047). Patch from Aaro Koskinen. + * Split init.d/bootmisc.sh in two, one part that need to run very early, + and another (bootlogs) which can be executed later, to make it possible + to postpone some work until after gdm/kdm/xdm is started. Based on + patch from Scott James Remnant and Ubuntu. + * Add improved progress bar during fsck when usplash is used, based + on patch from Martin Pitt and Ubuntu. Modified Ubuntu patch to + keep the generic splash support when usplash is not used. + * Avoid bashism in service(8) (Closes: #535883). + * New patch 85_killall_safecwd to chdir to /proc before stopping and + killing processes, to avoid deadlock if / is a fuse file system. + Patch from Goswin von Brederlow, fixing part of 476698. The rest + of the issues reported in #476698 should be handled using omitpids + (Closes: #476698). + * New patch 42_utmpdump_retval fixing unchecked return value from + malloc(). Patch from Christian 'Dr. Disk' Hechelmann and Fedora. + * New patch 46_pidof_symlinkman to improve pidof manual page regarding + its handling of symlinks. Patch from Bill Nottingham and Fedora. + * New patch 94_fstab-decode adding helper program fstab-decode to + sysvinit-utils. Source from the initscripts package in Fedora. + * Rewrite umountfs and umountnfs.sh to use fstab-decode, to handle + mount points with space in their names (Closes: #415482). + * Reduce initscripts dependency on e2fsprogs to recomments and drop + the versioned relation, as the version needed + (1.32+1.33-WIP-2003.04.14-1) was included in a version before + oldstable (Closes: #379340). + * Document in rcS(5) how RAMRUN and RAMLOCK affect packages creating + directories in /var/run and /var/lock (Closes: #422257). + * Drop Miquel van Smoorenburg as uploader. He have not been active + since 2004. + * New patch 17_doc_halt changing halt(8) to make it clear that sync + might happen even when -n is used. Patch from Bill Nottingham and + Fedora. + * New patch 47_pidof_chroot adding -c option to pidof, for only + checking processes with the same file system root. Patch by + Thomas Woerner and Fedora. + * New patch 70_init_consoleopen to give missing console some time to + show up. Patch from Bill Nottingham and Fedora. + * New patch 95_halt-name fixing halt/reboot to work properly when used + as login shells. Dale R. Worley and Fedora. + * Modify 40_selinux patch to avoid aborting if a SE policy is already + loaded in the initrd. Patch from Bill Nottingham and Fedora. + * Use set -e in initscripts.preinst to exit on errors and get rid + of a lintian error. + * Change symlink from /bin/pidof to /sbin/killall5 from relative to + absolute, to get rid of lintian message. + * New patch 28_last_full-time to add a new -F option to last. Patch + from Olaf Dabrunz and SuSe. + * Fix typos in rcS(5) (Closes: #495925). Patch from Michael Biebl. + * Make sourcing of /etc/default/rcS conditional in init.d/rc, to + get rid of lintian error. + * Change LSB header of init.d/rc.local, to depend on $syslog too, + to avoid starting local applications too early. + * Impove initscripts package description (Closes: #535557). Based + on patch from Justin B Rye. + * Add some lintian overrides to hide issues that are intentional. + + -- Petter Reinholdtsen Fri, 10 Jul 2009 09:16:04 +0200 + +sysvinit (2.86.ds1-63) unstable; urgency=low + + [ Kel Modderman ] + * Patch startpar to add compat define for posix_fadvise() when on + platform such as kfreebsd which does not support that. Thanks to + Petr Salinger for the patch. (Closes: #534337) + * Patch startpar to add compat define for O_DIRECT to fix ftbfs on + hurd. Thanks Samuel Thibault for the patch. (Closes: #534471) + + [ Petter Reinholdtsen ] + * Make temp cleaning more verbose (Closes: #534609). + * Use X-Interactive flag in LSB headers of those scripts that should + run on their own, based on the current content of insserv.conf. + Dropped interactive flag from hostname.sh, mountkernfs.sh and + mountdevsubfs.sh, based on testing confirming that the fix in + #457896 made them obsolete. + * Make sure kfreebsd also get /sys in the initscripts + package (Closes: #525787). + * Add new co-maintainer Kel Modderman as uploader. + * Solve charset encoding issues with the french update-rc.d + manual page (Closes: #499863). + * Add 'status' argument to init.d/bootlogd based on patch from + Scott James Remnant and Ubuntu. + * Fix computing of runlevel in init.d/rc by allowing A-Z in init + scripts names (like NetworkManager). Patch from Loic Minier + and Ubuntu. + * Add status argument support to init.d/skeleton. + * Update Standards-Version from 3.8.1 to 3.8.2. No changes needed. + + -- Petter Reinholdtsen Mon, 29 Jun 2009 22:11:17 +0200 + +sysvinit (2.86.ds1-62) unstable; urgency=low + + [ Kel Modderman ] + * Add missing semi-colon in LSB header of init.d/urandom (Closes: + #501724). + * Force C locale for df command used in init.d/mountoverflowtmp. + (Closes: #510912) + * Update startpar source to upstream 0.52 (from 0.50) and apply debian + compatibility patch (sent upstream). Also workaround /dev/pts not + being mounted early in runlevel S by having startpar use an own + version of getpt(2) system call. (Closes: #457896, #484883) + * Enable CONCURRENCY=makefile mode in debian/sysv-rc/etc/init.d/rc. + This mode uses startpar and the /etc/init.d/.depend.* makefile-like + information created by insserv to calculate boot script execution + order. The splash API is not supported in this mode of boot. This + mode of boot is considered very experimental at this time. + * Allow startpar using concurrency modes to operate in runlevel S, now + that startpar can manage to work properly in absence of /dev/pts. + * Use uscan dversionmangle option to remove .ds\d+ string from modifed + orig.tar.gz. This fixes the debian-watch-file-should-mangle-version + lintian warning. Patch taken from diff on LP: #312764. + * Add comment to debian/sysv-rc/etc/init.d/rc about debug=echo, it + should never be left uncommented for a real boot process and should + only be used for interactive debugging. (Closes: #510455) + * Do not mount usbfs any more, it was deprecated long ago. + Applications should all use /dev/bus/usb, which can be managed more + flexibly (assign permissions with udev, and the like). Thanks Martin + Pitt. (Closes: #483392, #422940, #360165, #471101) + * Add Homepage field to debian/control. + * Add interface for disabling system init script start links with + update-rc.d, and enabling them again. (Closes: #67095) + * When update-rc.d in "start|stop"-mode is invoked without the final + dot, script warnings are displayed just before the "usage" message + is shown. Check that last argument to start|stop command is a period + earlier. Thanks to Patrick . (Closes: #512003) + * Use -delete option of find(1) instead of piping through xargs in + debian/initscripts/lib/init/bootclean.sh. (Closes: #316468, #461103) + * Make init.d/rc simpler by dropping support for sourcing .sh files + after the policy finally changed in 3.8.1. Update to Standards + version 3.8.1. (Closes: #339955, #519520) + * Allow initscripts postinst maintainer script to not fail when + attempting to mkdir /dev/pts and /dev/shm when running in a + fakechroot environment. This is done by checking for FAKECHROOT env + variable before bailing out. Patch thanks to Daniel Kahn Gillmor. + (Closes: #504877) + * Update debian/NOTES to reflect current affairs. + + [ Petter Reinholdtsen ] + * Move the startpar binary to a more proper location, from sysvinit + to sysvinit-utils. + * Comment out the code disabling fsck when running on battery. It + need changes in fsck to work properly (Closes: #526398). This + Reopens #326647. + * Add a /usr/sbin/service command (Closes: #534300). Modified the + manual page based on ideas from the sysvconfig package. Thanks to + Steve Langasek and Ubuntu. Add conflict with sysvconfig and + chkconfig providing the same program. + * Improve init.d/umountfs umount ordering code to avoid being + confused while still solving #391673 (Closes: #529805). Patch + from Tim Phipps. + * Make sysv-rc depend on a version of sysvinit-utils with a properly + working startpar, in case concurrent booting is enabled. + * Drop shell style concurrent booting, and make CONCURRENCY=shell + behave like CONCURRENTY=startpar, as startpar concurrency now work + properly. + + -- Petter Reinholdtsen Tue, 23 Jun 2009 18:18:53 +0200 + +sysvinit (2.86.ds1-61ubuntu16) karmic; urgency=low + + * ./debian/initscripts/lib/init/usplash-fsck-functions.sh: Use blkid, vol_id + is gone. + + -- Martin Pitt Fri, 07 Aug 2009 11:22:21 +0100 + +sysvinit (2.86.ds1-61ubuntu15) karmic; urgency=low + + * debian/initscripts/etc/init.d/mountkernfs.sh: mount debugfs if it is + available. + + -- Scott James Remnant Mon, 20 Jul 2009 13:18:35 +0100 + +sysvinit (2.86.ds1-61ubuntu14) karmic; urgency=low + + * debian/initscripts/etc/init.d/mountkernfs.sh: mount securityfs if it is + available. This allows for easier AppArmor confinement of applications + started early in the boot process. LP: #399954 + + -- Jamie Strandboge Thu, 16 Jul 2009 12:52:49 -0500 + +sysvinit (2.86.ds1-61ubuntu13) karmic; urgency=low + + * debian/initscripts/lib/init/bootclean.sh: announce execution + via log_begin_msg so time-consuming clean-ups have an obvious + source, and so that VERBOSE=yes log_action_begin_msg calls have + context (debian bug 534609). + + -- Kees Cook Thu, 25 Jun 2009 11:08:20 -0700 + +sysvinit (2.86.ds1-61ubuntu12) karmic; urgency=low + + * debian/patches/94_service.dpatch: call the init script directly, without + using invoke-rc.d, LP: #390706 + + -- Dustin Kirkland Mon, 22 Jun 2009 10:48:09 -0500 + +sysvinit (2.86.ds1-61ubuntu11) jaunty; urgency=low + + * debian/initscripts/lib/init/mount-functions.sh: Correct syntax of + modprobe quiet when the spufs module gets loaded. LP: #348717 + + -- Arnaud Jeansen Wed, 25 Mar 2009 23:49:06 +0100 + +sysvinit (2.86.ds1-61ubuntu10) jaunty; urgency=low + + * debian/initscripts/etc/init.d/ondemand: Put it into the background + harder so it doesn't get killed when the rest of the rc scripts go + away. + + -- Scott James Remnant Thu, 19 Mar 2009 15:31:37 +0000 + +sysvinit (2.86.ds1-61ubuntu9) jaunty; urgency=low + + * debian/initscripts/etc/init.d/ondemand: Sleep for 60 seconds, then + set CPU Frequency Scaling governor to "ondemand". LP: #341573. + + -- Scott James Remnant Wed, 18 Mar 2009 11:27:23 +0000 + +sysvinit (2.86.ds1-61ubuntu8) jaunty; urgency=low + + * debian/initscripts/etc/init.d/mountkernfs.sh: Mount the fusectl + filesystem on boot, now it's a built-in + + -- Scott James Remnant Thu, 05 Mar 2009 17:33:40 +0000 + +sysvinit (2.86.ds1-61ubuntu7) jaunty; urgency=low + + * Add versioned Conflicts/Replaces against chkconfig (LP: #336100) + + -- Daniel T Chen Tue, 03 Mar 2009 23:08:28 -0500 + +sysvinit (2.86.ds1-61ubuntu6) jaunty; urgency=low + + * debian/rules: install service.8 manpage to man8 rather than + man1, LP: #275697 + * debian/patches/94_service.dpatch: make the --status-all command + useful by filtering unimplemented 'status' actions to stderr, and + standardize the output to something more readable, LP: #289671 + + -- Dustin Kirkland Sat, 28 Feb 2009 13:17:18 -0600 + +sysvinit (2.86.ds1-61ubuntu5) jaunty; urgency=low + + * debian/initscripts: + - etc/init.d/bootlogs.sh: separate out things from bootmisc.sh that + aren't urgent to do before gdm. + - etc/init.d/bootmisc.sh: remove from here, also remove /dev/pts + handling since we use udev. + - conffiles: Add new script + - postinst: install new init script + + -- Scott James Remnant Fri, 20 Feb 2009 14:38:17 +0000 + +sysvinit (2.86.ds1-61ubuntu4) jaunty; urgency=low + + * debian/initscripts/etc/init.d/checkroot.sh: Drop hwclockfirst.sh from + LSB header, since that init script is gone. + + -- Scott James Remnant Wed, 18 Feb 2009 16:50:25 +0000 + +sysvinit (2.86.ds1-61ubuntu3) jaunty; urgency=low + + * debian/initscripts/lib/init/usplash-fsck-functions.sh, + debian/initscripts/etc/init.d/checkroot.sh: Support ext4, too. + + -- Martin Pitt Wed, 11 Feb 2009 14:11:25 +0100 + +sysvinit (2.86.ds1-61ubuntu2) jaunty; urgency=low + + * Avoid script warnings when update-rc.d invoked without final dot + (LP: #312764) + * Satisfy lintian debian-watch-file-should-mangle-version + + -- Patrick Kuijvenhoven Fri, 16 Jan 2009 17:02:21 +0100 + +sysvinit (2.86.ds1-61ubuntu1) jaunty; urgency=low + + * Merge from debian unstable, remaining changes: + - Support Cell processor: + + debian/initscripts/postinst: Create spu system group and /spu mount + point if we are running on a Cell processor. + + debian/initscripts/etc/init.d/mountkernfs.sh: Mount spufs if Cell + processor is detected. + + debian/initscripts/lib/init/mount-functions.sh: Modprobe spufs + if not available. + + debian/control: Add initscripts dependency 'passwd' for groupadd. + (Forwarded to Debian #483399) + - Use tmpfs mounts for /var/lock and /var/run: + + debian/initscripts/share/default.rcS: Enable RAMRUN and RAMLOCK by + default. + + debian/initscripts/postinst: Enable RAMRUN and RAMLOCK in + /etc/default/rcS on upgrades. This needs to be kept until the next + LTS. + + debian/initscripts/etc/init.d/mountkernfs.sh: Propagate files from the + initramfs to our new /var/run, so that we can populate + /var/run/sendsigs.omit from initramfs. + - Different boot order: (to be checked if still required): + + debian/initscripts/postinst: Change the rcS priorities of a bunch of + init scripts. + + Disable bootlogd, since it is handled by upstart in Ubuntu. + + But make it support the "status" action. + - Usplash fsck integration: + + debian/initscripts/lib/init/usplash-fsck-functions.sh: Functions for + reporting fsck progress in usplash. + + debian/initscripts/etc/init.d/check{root,fs}.sh: Include + usplash-fsck-functions.sh and use it if usplash is running. + - debian/initscripts/etc/init.d/sendsigs: Always mount devpts, and do not + touch /dev/ptmx (which is already managed by udev). + - debian/initscripts/etc/init.d/checkroot.sh: If ACPI is available, load + the ac module before checking the root filesystem, so that fsck can + skip the check when running on battery. (LP #89752, forwarded to + Debian #483394) + - debian/initscripts/etc/init.d/mountkernfs.sh: Drop mounting of usbdevfs + (/proc/bus/usb), it was deprecated long ago. (Forwarded to Debian #483392) + - debian/patches/91_sulogin_lockedpw.dpatch: Disable "root account is + locked" warning, since this is the default in Ubuntu. Document this in + sulogin.8. + - debian/patches/94_service.dpatch: add "service" shell script and manpage + - debian/initscripts/etc/init.d/mountall.sh: Set $LANG from + /etc/default/locale, so that ntfs-3g and friends can get correct file + name encodings. (LP #132357, forwarded to Debian #483396) + - debian/initscripts/etc/init.d/umountroot: mkdir a few essential + directories (/proc, /sys, /var/{run,lock}), right before mounting root + r/o. It is a convenient (and one of the very few possible) place to + ensure that the next boot will succeed. (Forwarded to Debian #483393) + - debian/initscripts/preinst: Fix typo in eliminate_conffile() which broke + the entire function. (Forwarded to Debian #483391) + - debian/control: Do not make sysvinit essential, so that we can replace + it with upstart. + - debian/sysv-rc/sbin/update-rc.d: Support 'multiuser' argument for + backwards compatibility. This is deprecated now, since Debian adopted a + different strategy, and for getting in sync with Debian the runlevels + should be specified manually. + - debian/control: Previous name for sysvinit-utils was 'sysvutils' in + Ubuntu, so Conflict/Replace/Provide it. Also create a dummy sysvutils + package, since Hardy has reverse versioned dependencies to it. This + needs to be kept until after the next LTS. + - debian/initscripts/{pre,postinst}: waitnfs.sh -> mountnfs.sh renaming + transition. This needs to be kept until after the next LTS. + - debian/initscripts/preinst: Install new version of /etc/init.d/rc.local + if unmodified. + - debian/initscripts/etc/init.d/umountfs: Don't unmount filesystems + that precede root or use force for some mountpoints. + - debian/sysv-rc/etc/init.d/rc: fix computing of runlevel by allowing + A-Z in init script names. + + -- Scott James Remnant Wed, 05 Nov 2008 07:29:32 +0000 + +sysvinit (2.86.ds1-61) unstable; urgency=low + + * Fix typo in rcS(5), proberly->properly (Closes: #484233). Thanks to + Julien Danjou for noticing. + * Fix typo in rcS(5), maually->manually (Closes: #493680). Thanks to + Xr for noticing. + * Modify runlevel detection code in invoke-rc.d to notice the + difference between runlevels 0 and 6, and the boot runlevel, to + make it possible to use invoke-rc.d during boot (Closes: 384509). + * Make sure to call restorecon after mounting tmpfs file systems, to + set SELinux permissions (Closes: #493679). Patch from Russell + Coker. + * Move responsibility of stopping the splash screen process from + individual init.d scripts to init.d/rc. This make sure the + progress calculation reflect reality, and that the splash screen + is taken down in runlevel 1 (Closes: #431560) and that it stop + before gdm and kdm (Closes: #422922, #489734). + * Skip error message from checkfs.sh when / is read-only. Patch + from Mirek Slugen (Closes: #492214). + + -- Petter Reinholdtsen Tue, 12 Aug 2008 16:07:50 +0200 + +sysvinit (2.86.ds1-60) unstable; urgency=low + + * Make bootmisc.sh depend on $remote_fs instead of $local_fs, to + make sure it is executed after mountnfs-bootclean.sh to avoid + cleaning up /var/run/ twice (Closes: #491059). + * Drop support for experimental flag file /etc/update-rc.d-lsbparse. + People should use insserv if they want the boot system sequencing + to use the LSB headers. Patch from Kel Modderman. This fixes + typo in update-rc.d, making sure it ignore the LSB Default-Start + header. + * Updated Standards-Version from 3.7.3 to 3.8.0. No changes needed. + * Remove obsolete linda overrides. Linda is removed from Debian. + + -- Petter Reinholdtsen Fri, 18 Jul 2008 20:57:59 +0200 + +sysvinit (2.86.ds1-59ubuntu13) intrepid; urgency=low + + * Fix computing of runlevel in debian/sysv-rc/etc/init.d/rc by allowing A-Z + in init scripts names; the 30NetworkManager script was launched twice, + once as level 30N and once as part of the globbing of runlevel 30; + LP: #283200. + + -- Loic Minier Tue, 14 Oct 2008 14:33:25 +0200 + +sysvinit (2.86.ds1-59ubuntu12) intrepid; urgency=low + + * debian/initscripts/etc/init.d/check{root,fs}.sh: Disable indeterminate + progress bar pulsing. Usually it is fast enough, and if there is a real + fsck going on, we already have textual feedback (which is less confusing + than the progress bar jumping back and forth). Thanks to "Coucouf" for the + patch. (LP: #264767) + * debian/initscripts/lib/init/usplash-fsck-functions.sh: Do not allow + cancelling fsck if state is "clean with errors". + + -- Martin Pitt Mon, 13 Oct 2008 11:24:41 +0200 + +sysvinit (2.86.ds1-59ubuntu11) intrepid; urgency=low + + * sendsigs: Don't call usplash_down anymore. This was a holdover from when + usplash was being killed by this script. Now, usplash_down should be + already running by this point, and if it isn't, there's no point in + starting it (LP: #277058) + + -- Matt Zimmerman Thu, 02 Oct 2008 11:31:01 +0100 + +sysvinit (2.86.ds1-59ubuntu10) intrepid; urgency=low + + [ Dan Munckton ] + * Try to modprobe spufs if it isn't already available (LP: #274854). + * Update mountkernfs.sh to use five-parameter version of domount when + mounting spufs (LP: #274858). + + -- Colin Watson Tue, 07 Oct 2008 12:13:08 +0100 + +sysvinit (2.86.ds1-59ubuntu9) intrepid; urgency=low + + * Restore lost changes from hardy, needed by Wubi (thanks, Agostino Russo + and Evan Dandrea; LP: #151579): + - Don't unmount filesystems that precede root. + - Don't use force for some mountpoints in umountfs. + + -- Colin Watson Thu, 02 Oct 2008 11:25:20 +0100 + +sysvinit (2.86.ds1-59ubuntu8) intrepid; urgency=low + + * if-up.d/mountnfs: + Replace /etc/network/run with /var/run/network (mentioned in + LP #223759). + * Prepend 'XS-Debian-' to Vcs headers. + + -- Soren Hansen Thu, 25 Sep 2008 14:24:33 +0200 + +sysvinit (2.86.ds1-59ubuntu7) intrepid; urgency=low + + * Restore mountkernfs.sh at S01, no migration code was included, so this + is likely simply a typo or mis-merge. + + -- Scott James Remnant Wed, 24 Sep 2008 12:02:28 -0700 + +sysvinit (2.86.ds1-59ubuntu6) intrepid; urgency=low + + [ Dan Munckton ] + * debian/initscripts/postinst: Keep going if mounting /spu fails + (LP: #251593, #261490). + + -- Colin Watson Wed, 24 Sep 2008 14:50:04 +0100 + +sysvinit (2.86.ds1-59ubuntu5) intrepid; urgency=low + + * debian/initscripts/lib/init/usplash-fsck-functions.sh, get_fsck_status(): + fsck -C recently started to report a fourth parameter (current device) + which was not expected by the read shell command, causing abortion of the + script due to a division by zero error. Now use "read pass cur max tail" + to allow for arbitrary extra info in the fsck progress lines. + (LP: #255563) + + -- Martin Pitt Wed, 03 Sep 2008 19:12:41 +0200 + +sysvinit (2.86.ds1-59ubuntu4) intrepid; urgency=low + + * debian/control: updated to mention that sysvinit-utils provides "service", + added Conflicts/Replaces for other similar packages. + * debian/control: update lsb-base to depend on 3.2-14 (LP: #259530). + * debian/patches/00list: added 94_service.dpatch (LP: #259043). + * debian/patches/94_service.dpatch: patch to add the service shell script to + src/, and the manpage to man/. + * src/service: imported and Debianized the Red Hat "service" shell script. + * man/service.8: imported the Red Hat manpage for "service". + + -- Dustin Kirkland Wed, 20 Aug 2008 00:12:47 +0100 + +sysvinit (2.86.ds1-59ubuntu3) intrepid; urgency=low + + * debian/control: updated to depend on lsb-base (>=3.2.14), which has the + status_of_proc() function. + * debian/initscripts/etc/init.d/bootlogd: add the "status" action (LP: #). + + -- Dustin Kirkland Tue, 19 Aug 2008 15:28:26 +0100 + +sysvinit (2.86.ds1-59ubuntu2) intrepid; urgency=low + + * Since our last merge, /etc/init.d/rc.local was marked as a conffile. + Detect if it's unmodified, and if so, install the new version without + bothering the user with questions (LP: #246550) + + -- Soren Hansen Tue, 22 Jul 2008 15:59:40 +0200 + +sysvinit (2.86.ds1-59ubuntu1) intrepid; urgency=low + + * Merge with Debian unstable. Remaining Ubuntu changes: + - Support Cell processor: + + debian/initscripts/postinst: Create spu system group and /spu mount + point if we are running on a Cell processor. + + debian/initscripts/etc/init.d/mountkernfs.sh: Mount spufs if Cell + processor is detected. + + debian/control: Add initscripts dependency 'passwd' for groupadd. + (Debian #483399) + - Use tmpfs mounts for /var/lock and /var/run: + + debian/initscripts/share/default.rcS: Enable RAMRUN and RAMLOCK by + default. + + debian/initscripts/postinst: Enable RAMRUN and RAMLOCK in + /etc/default/rcS on upgrades. This needs to be kept until the next + LTS. + + debian/initscripts/etc/init.d/mountkernfs.sh: Propagate files from the + initramfs to our new /var/run, so that we can populate + /var/run/sendsigs.omit from initramfs. + (Ubuntu specific policy, Debian does not want to use tmpfs by default) + - Different boot order: + + debian/initscripts/postinst: Change the rcS priorities of a bunch of + init scripts. + + Disable bootlogd, since it is handled by upstart in Ubuntu. + - Usplash support: + + debian/initscripts/etc/init.d/sendsigs: Call usplash_down on stop. + - Usplash fsck integration: + + debian/initscripts/lib/init/usplash-fsck-functions.sh: Functions for + reporting fsck progress in usplash. + + debian/initscripts/etc/init.d/check{root,fs}.sh: Include + usplash-fsck-functions.sh and use it if usplash is running. + - debian/initscripts/etc/init.d/sendsigs: Always mount devpts, and do not + touch /dev/ptmx (which is already managed by udev). + - debian/initscripts/etc/init.d/checkroot.sh: If ACPI is available, load + the ac module before checking the root filesystem, so that fsck can + skip the check when running on battery. (LP #89752, Debian #483394) + - debian/initscripts/etc/init.d/mountkernfs.sh: Drop mounting of usbdevfs + (/proc/bus/usb), it was deprecated long ago. (Debian #483392) + - debian/patches/91_sulogin_lockedpw.dpatch: Disable "root account is + locked" warning, since this is the default in Ubuntu. Document this in + sulogin.8. + - debian/control: Do not make sysvinit essential, so that we can replace + it with upstart. + - debian/sysv-rc/sbin/update-rc.d: Support 'multiuser' argument for + backwards compatibility. This is deprecated now, since Debian adopted a + different strategy, and for getting in sync with Debian the runlevels + should be specified manually. + - debian/control: Previous name for sysvinit-utils was 'sysvutils' in + Ubuntu, so Conflict/Replace/Provide it. Also create a dummy sysvutils + package, since Hardy has reverse versioned dependencies to it. This + needs to be kept until after the next LTS. + - debian/initscripts/{pre,postinst}: waitnfs.sh -> mountnfs.sh renaming + transition. This needs to be kept until after the next LTS. + + -- Martin Pitt Wed, 18 Jun 2008 11:57:12 +0200 + +sysvinit (2.86.ds1-59) unstable; urgency=low + + * Fix uninitialised previous_stop caused by typo in fix for + bug #483172 (Closes: #484607). + * Set $LANG from /etc/default/locale in mountall.sh, so that ntfs-3g and + friends can get correct file name encodings. (Closes: #483396) + + -- Petter Reinholdtsen Fri, 6 Jun 2008 10:02:32 +0200 + +sysvinit (2.86.ds1-58) unstable; urgency=low + + * Optimize start symlinks as if they are stop symlinks for runlevels 0 and + 6, to avoid problems with portmap during shutdown (Closes: #483172). + * Repair eliminate_conffile() in initscripts preinst, making sure + unchanged conffiles are properly handled (Closes: #483391). + Patch from Martin Pitt and Ubuntu. + * Make sure a few essential directories (/proc, /sys, /var/{run,lock}) is + created in init.d/umountroot if missing, right before mounting root r/o. + It is a convenient (and one of the very few possible) place to ensure that + the next boot will succeed (Closes: #483393). Patch from Martin Pitt + and Ubuntu. + + -- Petter Reinholdtsen Thu, 29 May 2008 20:10:17 +0200 + +sysvinit (2.86.ds1-57) unstable; urgency=low + + * Remove another bashism in init.d/rc blocking startpar concurrency + (Closes: #481770). + * Fix wake on lan issue introduced with freebsd patch in version + 2.86.ds1-4 (Closes: #405870). Patch from Lucas Nussbaum. + * Convert files debian/patches/12_doc_lastb.dpatch, + debian/sysv-rc/man8/es/update-rc.d.8, + debian/sysv-rc/man8/fr/update-rc.d.8, + debian/sysv-rc/man8/ja/update-rc.d.8 and + debian/sysv-rc/etc/init.d/rc to UTF-8 (Closes: #478657). + Patch from Ben Finney. + * New patch 84_killall_fuse.dpatch to avoid shutdown problems with + user space file systems, by not stat()-ing files when killing + processes during shutdown (Closes: #476695). Patch from Goswin + von Brederlow. + * Remove special case handling of splash screens in sendsigs. + The usplash and splashy packages are expected to use the + omitpid feature from now on. + + -- Petter Reinholdtsen Tue, 20 May 2008 09:23:13 +0200 + +sysvinit (2.86.ds1-56ubuntu3) intrepid; urgency=low + + * Let sysvinit-utils only replace the old sysvutils, do not conflict to it. + This is a less clean way to do the transition than with a proper + Conflicts/Replaces, but the latter induces a Pre-Depends/Conflicts loop + which is unresolvable. (LP: #237276) + + -- Martin Pitt Thu, 05 Jun 2008 08:44:44 +0200 + +sysvinit (2.86.ds1-56ubuntu2) intrepid; urgency=low + + * debian/control: Use versioned Conflicts: of sysvinit-utils not unconfuse + apt during upgrades. + + -- Martin Pitt Tue, 03 Jun 2008 22:10:02 +0200 + +sysvinit (2.86.ds1-56ubuntu1) intrepid; urgency=low + + * Merge with Debian unstable (first time since Dapper!). Debian adopted most + of our changes, sometimes with slight modifications. Adopt to the Debian + structure as far as possible to minimize the delta. Remaining changes: + - Support Cell processor: + + debian/initscripts/postinst: Create spu system group and /spu mount + point if we are running on a Cell processor. + + debian/initscripts/etc/init.d/mountkernfs.sh: Mount spufs if Cell + processor is detected. + + debian/control: Add initscripts dependency 'passwd' for groupadd. + (Forwarded to Debian #483399) + - Use tmpfs mounts for /var/lock and /var/run: + + debian/initscripts/share/default.rcS: Enable RAMRUN and RAMLOCK by + default. + + debian/initscripts/postinst: Enable RAMRUN and RAMLOCK in + /etc/default/rcS on upgrades. This needs to be kept until the next + LTS. + + debian/initscripts/etc/init.d/mountkernfs.sh: Propagate files from the + initramfs to our new /var/run, so that we can populate + /var/run/sendsigs.omit from initramfs. + - Different boot order: (to be checked if still required): + + debian/initscripts/postinst: Change the rcS priorities of a bunch of + init scripts. + + Disable bootlogd, since it is handled by upstart in Ubuntu. + - Usplash support: + + debian/initscripts/etc/init.d/sendsigs: Call usplash_down on stop. + (This should go away and get integrated into the existing splash API.) + - Usplash fsck integration: + + debian/initscripts/lib/init/usplash-fsck-functions.sh: Functions for + reporting fsck progress in usplash. + + debian/initscripts/etc/init.d/check{root,fs}.sh: Include + usplash-fsck-functions.sh and use it if usplash is running. + - debian/initscripts/etc/init.d/sendsigs: Always mount devpts, and do not + touch /dev/ptmx (which is already managed by udev). + - debian/initscripts/etc/init.d/checkroot.sh: If ACPI is available, load + the ac module before checking the root filesystem, so that fsck can + skip the check when running on battery. (LP #89752, forwarded to + Debian #483394) + - debian/initscripts/etc/init.d/mountkernfs.sh: Drop mounting of usbdevfs + (/proc/bus/usb), it was deprecated long ago. (Forwarded to Debian #483392) + - debian/patches/91_sulogin_lockedpw.dpatch: Disable "root account is + locked" warning, since this is the default in Ubuntu. Document this in + sulogin.8. + - debian/initscripts/etc/init.d/mountall.sh: Set $LANG from + /etc/default/locale, so that ntfs-3g and friends can get correct file + name encodings. (LP #132357, forwarded to Debian #483396) + - debian/initscripts/etc/init.d/umountroot: mkdir a few essential + directories (/proc, /sys, /var/{run,lock}), right before mounting root + r/o. It is a convenient (and one of the very few possible) place to + ensure that the next boot will succeed. (Forwarded to Debian #483393) + - debian/initscripts/preinst: Fix typo in eliminate_conffile() which broke + the entire function. (Forwarded to Debian #483391) + - debian/control: Do not make sysvinit essential, so that we can replace + it with upstart. + - debian/sysv-rc/sbin/update-rc.d: Support 'multiuser' argument for + backwards compatibility. This is deprecated now, since Debian adopted a + different strategy, and for getting in sync with Debian the runlevels + should be specified manually. + - debian/control: Previous name for sysvinit-utils was 'sysvutils' in + Ubuntu, so Conflict/Replace/Provide it. Also create a dummy sysvutils + package, since Hardy has reverse versioned dependencies to it. This + needs to be kept until after the next LTS. + - debian/initscripts/{pre,postinst}: waitnfs.sh -> mountnfs.sh renaming + transition. This needs to be kept until after the next LTS. + * This version from Debian now kills processes using remote file systems in + a proper way. (LP: #42121) + + -- Martin Pitt Wed, 28 May 2008 17:58:44 +0200 + +sysvinit (2.86.ds1-56) unstable; urgency=low + + * Avoid bashism in init.d/rc (Closes: #473694). + + -- Petter Reinholdtsen Sat, 12 Apr 2008 09:32:18 +0200 + +sysvinit (2.86.ds1-55) unstable; urgency=low + + * Use $(MAKE) instead of make in debian/rules, to make it easier to + use make -j. + * Adjust debian/rules to support cross building (Closes: #466148). + * Change init.d/rc to disable startpar concurrency if insserv isn't + enabled and if startpar fail to run. + * Adjust init.d script dependencies for bootmisc.sh, as it can run + before $remote_fs and need to run after both udev and hostname. + * Change update-rc.d to warn about scripts missing LSB style + dependency information. + * Updated all patches to make sure they apply without offset and + fuzzying to the current source. + + -- Petter Reinholdtsen Wed, 26 Mar 2008 10:03:05 +0100 + +sysvinit (2.86.ds1-54) unstable; urgency=low + + * Fix shell quoting typo in conffile removal code (Closes: #464869). + * Make sure to only check for conffile removal on upgrades. + * Improve displayed text when removing unused obsolete conffiles. + * Update version trigger for the /etc/init.d/bootclean to this + version, to make sure those left with the file because of bug + #464869 get it removed on this upgrade. + * Patch startpar to use the correct path to the rcX.d/ directories + in "make mode". + * Update LSB dependency for mountnfs.sh to make sure it is started + after portmap. + * Make sure init.d/sendsigs work even when /proc/cmdline is missing + as it is on vserver clients (Closes: #468473). + + -- Petter Reinholdtsen Sun, 02 Mar 2008 00:32:55 +0100 + +sysvinit (2.86.ds1-53) unstable; urgency=low + + * Correct file name in output when removing conffiles, to + use the correct file ending .dpkg-old, not .dpkg-bak. + * Fix typo in omitpid handling in init.d/sendsigs (Closes: #462354) + * Change progress bar calculations to not divide by zero when there + are no progress steps to be taken (Closes: #463504). + * Fix quoting typo in initscripts.preinst (Closes: #463551) + + -- Petter Reinholdtsen Fri, 01 Feb 2008 19:37:42 +0100 + +sysvinit (2.86.ds1-52) unstable; urgency=low + + * Rewrite conffile removal code in initscripts.preinst to use the + original *.dpkg-old and not the *.dpkg-bak introduced by mistake + when changing to use dpkg-query. + * New patch 83_killall_manref to add references between killall5 and + pidof, and mention pidof in killall5(8) (Closes: #461160). + * Improve documentation for the CONCURRENCY option in /etc/init.d/rc + (Closes: #408491). + * New patch 93_sulogin_fallback to let sulogin fall back to the + staticly linked /bin/sash if both roots shell and /bin/sh fail to + execute. Add suggests for sysvinit-utils to sah, for those that + want this extra level of redundancy (Closes: #43317). + + -- Petter Reinholdtsen Sun, 20 Jan 2008 15:27:16 +0100 + +sysvinit (2.86.ds1-51) unstable; urgency=low + + * Remove debug code left by mistake in if-up.d/mountnfs when fixing + bugs #460463 and 461011 (Closes: #461406). + + -- Petter Reinholdtsen Fri, 18 Jan 2008 12:10:56 +0100 + +sysvinit (2.86.ds1-50) unstable; urgency=low + + * Rewrite conffile removal code in initscripts.preinst to use dpkg- + query instead of reading /var/lib/dpkg/status directly. + * Do not allow "make -C debian/startpar clean" to fail, it should + work every time. + * Handle both trailing space after interface names and multiple + interfaces on one auto line in /etc/network/interfaces when + checking if the last interface has been enabled for NFS mounting + (Closes: #460463, 461011). + + -- Petter Reinholdtsen Thu, 17 Jan 2008 22:36:41 +0100 + +sysvinit (2.86.ds1-49) unstable; urgency=low + + * Handle trailing space after interface names in + /etc/network/interfaces when checking if the last interface has + been enabled for NFS mounting (Closes: #460463). + * New patch 27_last_usageopts to document options -adi in last usage + output (Closes: #415525). + + -- Petter Reinholdtsen Sun, 13 Jan 2008 10:19:22 +0100 + +sysvinit (2.86.ds1-48) unstable; urgency=low + + * Removed unused mountvirtfs as a dependecy provides for + init.d/mountdevsubfs.sh, to avoid duplicate provides. + * Removed hostname as a dependency for init.d/bootmisc.sh, as it is + now a dependency of checkroot.sh and thus still will have a known + order in the boot. + * Removed stop dependencies in the LSB header of bootmisc.sh. Its + stop operation is a no-op, and it is not run in any level to stop. + * Document in stop-bootlogd-single why bootlogd has to be stopped in + rcS.d/ for single user boots. + * Specify that one is to read the init.d/bootlogd script in the + stop-bootlogd* scripts. (Closes: #372676) + * Drop libdevmapper as a dependency for init.d/checkfs.sh, as the + init.d script was removed in devmapper version 2:1.02.24-1. + Conflict initscripts with libdevmapper1.02.1 versions before that. + * Drop modutils as a dependency for init.d/checkfs.sh, as the + modutils package was removed 2007-07-04. + * Drop $syslog as a dependency for init.d/rmnologin, as it seem to + be redundant. + * Extend waiting time of init.d/sendsigs from 0-5 seconds to 0-10 + seconds, to give slow processes more time to shut down properly. + * Extend init.d/sendsigs to sync before killing processes, and to + detect and report as a failure if it had to use SIGKILL to + terminate processes. Based on ideas from Gabor Gombas. + * Drop lvm as optional depend for checkfs, mountall and umountfs, + and conflict with insserv versions before 1.09.0-12 to make sure a + version with the override file providing the same dependencies as + reverse dependencies is used. + * Extend sendsigs code to omit some pids during shutdown to also + load pids from /lib/init/rw/sendsigs.omit and + /lib/init/rw/sendsigs.omit.d/packagename, to make it easier for + systems starting very early in the boot, or systems that need to + modify the pid list at run time, to update their pid list (Closes: + #459146). Based on patch from Kel Modderman. + * Change init.d/bootlogd to not report failure when trying to stop + an already stopped bootlogd. + * Change init.d/killprocs to use the same optimization as sendsigs, + to avoid having to wait 5 seconds if there is no more processes. + * Document the way to list /sys/ in /etc/fstab in initscripts + README.Debian (Closes: #401424). + * Reduce stop dependency for mountoverflowtmp from $local_fs to + umountfs, to allow it to stop later during shutdown, and to make + it possible to make it part of the $local_fs dependencies. + * Remove initscripts conflict on mdutils. mdutils was removed in + woody. + * Move optional start dependency on udev-mtab from checkfs to + mountnfs, to better reflect the current ordering of these scripts. + * Improve content of initscripts README.Debian, and document the new + sendsigs omitpid interface there (Closes: #459425). Based on + patch from Kel Modderman. + * Updated the startpar source to version 0.50 from + . + * Optimized the startpar case of init.d/rc to only call the progress + bar API once for each startpar invocation. + * Drop redundant optional dependency on kdm, gdm and xdm for + rmnologin, as it already depend on $all. + + -- Petter Reinholdtsen Sat, 12 Jan 2008 13:10:12 +0100 + +sysvinit (2.86.ds1-47) unstable; urgency=low + + * Added hostname as dependency and hdparm and bootlogd as optional + dependencies for checkroot, to make sure the script are run before + the root file system is checked when present. + * Added libdevmapper, mtab and udev-mtab as optional dependencies + for checkfs to make sure the script are run after the root is + writable and before the other file system is checked. + * Added lvm as optional stop dependency for umountfs, to make sure + LVM is available when all non-root file systems are umounted. + + -- Petter Reinholdtsen Mon, 31 Dec 2007 12:18:42 +0100 + +sysvinit (2.86.ds1-46) unstable; urgency=low + + * Move from experimental to unstable. + * Remove debug code from init.d/mountoverflowtmp that was included + by mistake. + * Reduce output from init.d/mountoverflowtmp when VERBOSE!=yes. + * Add $all as a dependency for init.d/single, to make sure it is + started last in runlevel 1. + * Change runlevel setting in LSB header for init.d/rmnologin and + init.d/stop-bootlogd to not start in runlevel 1 (single user). + This reflect the current and correct setting specified in the + postinst. + * Remove redundant $local_fs dependency from init.d/bootmisc.sh, + init.d/rc.local, init.d/rmnologin and init.d/skeleton + * Move /lib/init/bootclean to /lib/init/bootclean.sh and source it + instead of running it. + + -- Petter Reinholdtsen Sun, 30 Dec 2007 10:32:52 +0100 + +sysvinit (2.86.ds1-45) experimental; urgency=low + + * Replace log_daemon_msg() in init.d/rc with log_action_msg() to + improve visual layout when parallel booting is enabled. + * Avoid using startpar for rcS.d/. It does not work properly before + ptys are available. Related to bug #457896. + * Correct init.d/rc progress bar calculations for the startpar + option, counting each script that is started in parallel too. + * Patch startpar to not print exit codes for each subprocess, to + reduce the noise during boot. + * Remove usplash progress bar support from initscripts and use the + API hook file provided by usplash version 0.5.8-2 instead. Add + conflict on earlier versions of usplash. + + -- Petter Reinholdtsen Fri, 28 Dec 2007 10:32:16 +0100 + +sysvinit (2.86.ds1-44) experimental; urgency=low + + * Add debian/watch file pointing to ftp.cistron.nl. + * Change init.d/mountnfs.sh dependencies to list nfs-common in + should-start (Closes: #433359). + * Change init.d/umountnfs.sh dependencies to list nfs-common in + should-start too. + * Mount a 1 MiB tmpfs on /tmp if /tmp is otherwise less than + 1 MiB to make sure one can still log in when /tmp/ is too + full (Closes: #430814). Based on patch from Ian Jackson and Ubuntu. + * Rewrote ifup.d/mountnfs to wait for all 'auto' interfaces to be + initialized before trying to mount network file systems (Closes: + #386959, #390404, #418596, #419195, #426071, #428823, #432511, + #432511, #432750, #433119, #434177). Based on patch from Phil + Snowdon. + + -- Petter Reinholdtsen Thu, 27 Dec 2007 13:19:14 +0100 + +sysvinit (2.86.ds1-43) experimental; urgency=low + + * Fix typo in /etc/network/if-up.d/mountnfs fstab option parsing used to + detect kerberos v5. (Closes: #416223) + * Update sysv-rc documentation based on text and suggestions + from Alessandro Vesely (Closes: #382410). + * Modify rules to install /lib/init/bootclean with the execute flag + set (Closes: 457847). + + -- Petter Reinholdtsen Wed, 26 Dec 2007 19:36:43 +0100 + +sysvinit (2.86.ds1-42) experimental; urgency=low + + * Change XS-Vcs-Svn to Vcs-Svn as the control flags are official now. + * Add Vcs-Browser flag in debian/control, documenting the browsable source. + * Change how init.d/rc call scripts, to make sure sourced scripts + get the correct argument. + * Reduce redundant code in init.d/rc, to make it easier to enable + sourcing of *.sh scripts. It is still not possible to source + scripts, as some of them use exit and terminate the boot. This is + related to bug #339955. + + -- Petter Reinholdtsen Tue, 25 Dec 2007 20:56:44 +0100 + +sysvinit (2.86.ds1-41) experimental; urgency=low + + * Update standards-version from 3.7.2 to 3.7.3. No change needed. + * Remove empty /lib/ directory from the sysvinit and sysvinit-utils + packages. + * Remove the empty /usr/share/man/man5/ from the sysv-rc package. + * Remove the registration of init.d/modutils from + initscripts/postinst, as the package is removed from Debian. + + -- Petter Reinholdtsen Mon, 24 Dec 2007 13:49:17 +0100 + +sysvinit (2.86.ds1-40) experimental; urgency=low + + [ Petter Reinholdtsen ] + * Rewrite libata shutdown handling to use patch from + Werner Fink at SuSe to handle each disk individually and + automatically instead of guessing in the init.d script how + to handle them collectively (Closes: #426224). This removes + the HDDOWN variable from /etc/default/halt. + * Improve usage information in update-rc.d by using the same + notation as the one used in the manual page (Closes: #268713) + * Implement noswap kernel boot option to stop automatic + swap activation at boot time (Closes: #388525). Based on patch + from Michael Prokop. + * Rewrite init.d/rc to use shell features instead of calling sed + (Closes: #406393). Patch from Ivan Baldo. + * Fix typo in update-rc.d example code (Closes: #433378). + * Fix minor typo in rc*.d/README files (Closes: #452384). + * Make sure init.d/rc do not complain because the new progress bar + API is unavailable (Closes: #457544). + * New patch 26_last_ipv6 from Fedora to recognize more IPv6 + addresses. + * Extend the 68_init_quiet patch based on patch from Fedora to also + suppress the "Switching to runlevel" message. This patch is + currently disabled because the 'quiet' flag is removed by the + kernel when init is called. + * New patch 69_init_waiting from Fedora to make sure the init + waiting status is preserved across re-exec. + * New patch 41_utmp_64bit from Fedora to avoid writing past the + utmp.ut_tv struct on 64 bit architectures. (Closes: #450543) + * New patch 64_init_init_reexec_env from Fedora to fix typo. Now + passes environment on to the new process when re-exec is used. + + -- Petter Reinholdtsen Sun, 23 Dec 2007 19:44:13 +0100 + +sysvinit (2.86.ds1-39) experimental; urgency=low + + [ Petter Reinholdtsen ] + * Upload to experimental to get more feedback from testers. + * Change checkfs.sh dependency info, make modutils an optional + dependency as it is no longer installed by default. + * Move /etc/init.d/bootclean to /lib/init/bootclean, as it is not an + init.d script but a library. + * Acknowledge NMU. (Closes: #433386) + * Make /lib/init/vars.sh usable when 'set -e' is in effect. Patch + from Ubuntu. + * Rename 20_pidof.dpatch to 80_killall_pidof.dpatch, to group the + killall5 patches together. + * New patch 82_killall_exclude_pids.dpatch adding new option -o + to killall5, to omit killing the pid given on the command line. + Based on patch from Ubuntu. (Closes: #453042) + * Use new killall5 -o option in init.d/sendsigs, reading pids to + omit from /var/run/sendsigs.omit. This make it possible to list + pids there if the process is required to umount the file systems + during shutdown. Make initscripts depend on sysvinit-utils + (>= 2.86.ds1-39) to make sure killall5 support the -o option. + Based on patch from Ubuntu. + * Stop progress bar on ltsp-client-core too. The script was renamed + in recent ltsp versions. Based on patch from Ubuntu. + * Add linux-gnulp to debian/deps-mount, to get the correct behaviour + with regard to initscripts dependencies on lpia. Patch from Adam + Conrad in Ubuntu. + * Add splash screen / progress bar API to initscripts in + /lib/init/splash-functions-base, overridable by the splash + implementations in /lib/init/splash-functions. Based on patch + from David Härdeman. (Closes: #423095) Make initscripts conflict + with usplash (<< 0.5) to make sure a version with PULSATE support + is used. + * Rewrite init.d/rc progress bar support to use new API. Move + usplash calls to separate file splash-functions-usplash. This + file should be moved to the usplash package. Based on patch from + David Härdeman. + * Do not mount gfs2 as a local file system. It is a network file system. + Patch from Guido Guenther (Closes: #454468). + * Modify update-rc.d to refuse to install init.d scripts with illegal + characters in the names. Only accept [a-zA-Z0-9+.-] to match the + limits on package names. Correct handling of init.d scripts with + + in their name (Closes: #431224). + + [ Henrique de Moraes Holschuh ] + * libata shutdown handling fixes: + Check http://linux-ata.org/shutdown.html for information + * init.d/halt: do not issue -h to halt(8) when the kernel supports + auto-shutdown + * init.d/halt, default/halt: add HDDOWN option to override initscript + halt -h logic + * Add halt(5) manpage, updated for HDDOWN. Thanks to Casper Gielen for + the manpage. (Closes: #407211) + + -- Petter Reinholdtsen Sat, 22 Dec 2007 17:49:42 +0100 + +sysvinit (2.86.ds1-38.1) unstable; urgency=low + + * Non-maintainer upload. + * Rework starting of portmap and nfs-common to better fit the new and + stricter mount.nfs; in particular, statd must be started for almost all + mounts, so start nfs-common even for non-NFSv4 and non-Kerberos mounts. + (Closes: #433386) + + -- Steinar H. Gunderson Tue, 24 Jul 2007 19:31:27 +0200 + +sysvinit (2.86.ds1-38) unstable; urgency=medium + + * Medium urgency as it solve an RC bug in etch. + * New upload, this time with only the files included in svn, and without + the cruft included by mistake last time. No idea why svn-buildpackage + didn't behave as I expected it to. + + -- Petter Reinholdtsen Tue, 30 Jan 2007 23:14:04 +0100 + +sysvinit (2.86.ds1-37) unstable; urgency=medium + + * Medium urgency as it solve an RC bug in etch. + * Replace 66_init_emerg_tty patch with one only creating a new + session group when sulogin is called directly from init, and not + as part of the runlevel start scripts, to avoid leaving the single + user shell behind when switching runlevel. Updated patch from Samuel + Thibault. (Closes:406587) + * Speed up shutdown 1 second by dropping sleep 1 in init.d/halt + introduced 2.86.ds1-12. + + -- Petter Reinholdtsen Sat, 13 Jan 2007 20:04:35 +0100 + +sysvinit (2.86.ds1-36) unstable; urgency=medium + + * Medium urgency as it solve some RC bugs in etch. + * Don't reset step to 0 between running Kill and Start scripts + (this is why the progress bar jumps during splash down). Patch from + Scott James Remnant and Ubuntu. + * Also consider ltsp-client as end-point for the usplash + progress bar. Patch from Scott James Remnant and Ubuntu. + + -- Petter Reinholdtsen Tue, 28 Nov 2006 19:56:20 +0100 + +sysvinit (2.86.ds1-35) unstable; urgency=medium + + * Medium urgency as it solve some RC bugs in etch. + * Make sure init.d/umountfs umount tmpfs file systems in order of + decreasing length, to avoid problems on systems with chroots. + Patch from Peter Rabbitson. (Closes: #391673) + * Add boot option ASYNCMOUNTNFS=no to get the old init.d/mountnfs.sh + behaviour until ifup work properly with / on NFS. The default is + 'yes' as it has the highest chance of success for non-diskless machines. + It is also useful for machines with multiple network cards. + (Closes: #388761, #393532) + * Fix syslogging code in if-up.d/mountnfs to find logger if it exist. + Patch from John Morrissey. (Closes: #398644) + * Avoid file descriptor leak to mount in init.d/mtab.sh. Based + on patch from David Härdeman. (Closes: #397525). + * Fix typo in message added in 91_sulogin_lockedpw.dpatch. + Thanks to Robert Bihlmeyer. (Closes: #399715) + * Undo use of fuser to kill processes in umountnfs before unmounting + partitions, as it will kill init and /etc/init.d/rc during + shutdown if root is on NFS or tmpfs file systems are bind-mounted + into chroots. Use sendsigs and move it before umountnfs, and thus + reopen bugs #258420, #367944. (Closes: #392861, #391375) + + -- Petter Reinholdtsen Sun, 26 Nov 2006 20:06:00 +0100 + +sysvinit (2.86.ds1-34) unstable; urgency=medium + + * Medium urgency as it solve some RC bugs. + * Remove the postinst code in initscripts for mounting /lib/init/rw/. + Just require a reboot for it to take effect, instead of trying to + make sure it is mounted when the package is installed. Flag this + need using /usr/share/update-notifier/notify-reboot-required if it + exist. (Closes: #393465, #391605, #390126) + * Remove debian/sysv-rc/postinst as well as it is unused now. + * Replace SElinux patches 40_selinux and 41_selinux_console with updated + 40_selinux from Manoj Srivastava. (Closes: #394304) + * Print message when refusing to mount nfs directories because the + lockdir exist. + * Add exit handler in if-up.d/mountnfs to make sure the lock directory + is removed when the script is interrupted. + * Remove NEWS entries explaining how to recover from the version of + sysv-rc present 6th to 8th of September in unstable. Remove + update-rc.d-recover as it should no longer be needed. (Closes: + #394332) + * Add XS-Vcs-Svn entry in the control file, to make the subversion + repository easier to find. + + -- Petter Reinholdtsen Sun, 29 Oct 2006 18:33:33 +0100 + +sysvinit (2.86.ds1-33) unstable; urgency=low + + * Do not insert /dev/.static/dev in /etc/mtab, and do not try to + umount it either. Avoids confusing users. (Closes: #391122) + * Let initscripts conflict with udev << 0.080-1, and stop calling + mountdevsub.sh from mtab.sh. (Closes: #391312) + * Do not fail to install initscripts even if /lib/init/rw/ can + not be mounted. (Closes: #391115) + * Adjust how fuser is called by umountnfs, using the exit code from + fuser instead of looking at its output. Based on patch from Markus + Schoder. (Closes: 390936) + + -- Petter Reinholdtsen Fri, 6 Oct 2006 19:51:05 +0200 + +sysvinit (2.86.ds1-32) unstable; urgency=low + + * Set SE context on /dev/pts and /dev/ptm if they are created by + mountdevsubfs.sh to work better with SELinux. Patch from Erich + Schubert. (Closes: 390897) + + -- Petter Reinholdtsen Wed, 4 Oct 2006 20:39:56 +0200 + +sysvinit (2.86.ds1-31) unstable; urgency=low + + * Fix calls to fuser in umountnfs.sh. Thanks to Frank Mehnert for the tip. + * Correct code detecting single-user in stop-bootlog-single to only + trigger on '1' as single word and not as option argument. (Closes: + #390572, #387340) + + -- Petter Reinholdtsen Mon, 2 Oct 2006 19:55:11 +0200 + +sysvinit (2.86.ds1-30) unstable; urgency=low + + * Avoid mounting /lib/init/rw/ during installation and upgrades if + the kernel do not support tmpfs. (Closes: #390339) + + -- Petter Reinholdtsen Sun, 1 Oct 2006 20:03:33 +0200 + +sysvinit (2.86.ds1-29) unstable; urgency=low + + * Ignore problems with creating /var/run and /var/lock during + installation and upgrades. This should avoid installation problem + in vserver environments. + * Only try to create /var/run and /var/lock on the root file system + in non-chroot environments? + * Use 'mkdir -p' when creating /.root, to avoid failing if it + already exist. (Closes: #390327) + * Do not try to create /var/run and /var/lock during installation or + upgrades if /var is a relative symlink. It is not going to + work. (Closes: #390328) + * List the options found in /etc/fstab after the default options + used when mounting virtual file systems, to allow options in fstab + to override the defaults. (Closes: #390181) + + -- Petter Reinholdtsen Sat, 30 Sep 2006 18:42:44 +0200 + +sysvinit (2.86.ds1-28) unstable; urgency=low + + * Avoid mounting /lib/init/rw/ when being installed in a chroot + environment. (Closes: #390126) + * Update init.d/mtab.sh to make sure it store the correct options + used to mount /dev/shm in /etc/mtab. + * Drop the 'noexec' flag from the /dev/shm/ mount point until etch + is released, to avoid breaking dosemu and user-mode-linux. It will + be reintroduced after etch is released. This is related to + bugs #386945 and #386368. + + -- Petter Reinholdtsen Fri, 29 Sep 2006 18:36:13 +0200 + +sysvinit (2.86.ds1-27) unstable; urgency=low + + * Make sure to mount /lib/init/rw/ during upgrades if it isn't mounted + already, to make it sure available for its users when the new initscripts + package is installed + + -- Petter Reinholdtsen Thu, 28 Sep 2006 20:40:12 +0200 + +sysvinit (2.86.ds1-26) unstable; urgency=low + + * Change umountnfs to use /etc/mtab instead of /proc/mounts, to make + sure it see the _netdev option. umountfs still uses /proc/mounts + to make every non-root file system is unmounted before halt or + reboot. (Closes: #383124) + * Correct exit code handling in init.d/rc.local. (Closes: #389435) + + -- Petter Reinholdtsen Thu, 28 Sep 2006 19:26:54 +0200 + +sysvinit (2.86.ds1-25) experimental; urgency=low + + * Improve manual entry for RAMRUN and RAMLOCK run rcS(5). + * Correct mtab.sh to make sure the mtab content matches the options used + when mounting /var/run/. + * New defaults/tmpfs options RUN_SIZE and LOCK_SIZE, controlling the + tmpfs size. Modified the mount code to also use TMPFS_SIZE if + set as a fallback value. + + -- Petter Reinholdtsen Tue, 26 Sep 2006 15:09:30 +0200 + +sysvinit (2.86.ds1-24) experimental; urgency=low + + * Make sure we do not umount /lib/init/rw/ during shutdown. + * Make it easier to debug the splash progress bar in init.d/rc. + * Correct mtab entry for /sys, to make sure its 'device' is sysfs. + * Include vars.sh in mtab.sh, to make sure the RAMRUN and RAMLOCK + options are available when used. + * Add defaults/tmpfs option RW_SIZE to control the size of + /lib/init/rw/, and change mountkernfs.sh to use TMPFS_SIZE too if + it is set. + * Rewrite post_mountall() function to avoid mounting /var/run/ and + /var/lock/ on top of themselves when RAMRUN or RAMLOCK is enabled. + + -- Petter Reinholdtsen Sat, 23 Sep 2006 19:01:38 +0200 + +sysvinit (2.86.ds1-23) experimental; urgency=low + + * Make the tmpfs on /var/run/ and /var/lock/ optional, and provide + RAMRUN and RAMLOCK options in /etc/default/rcS to control this. + Remove code to convert to this feature when the package is + upgraded or installed. It will take effect after a reboot if + /etc/default/rcS is modified. Keep them disabled for now. + Create .ramfs files in the directories if tmpfs is used to make it + easier for other scripts to know if they are safe to use early in + the boot. + * Create /lib/init/rw/, and mount a tmpfs there to garantee some + writable area very early in the boot. Use this in checkroot.sh if + a device node need to be created. Create .ramfs indicator when + it is mounted. + * Move sulogin to the sysvinit-utils package as well. (Closes: #388417) + * Add new halt option NETDOWN to make it easier to enable + wake-on-lan. (Closes: #388244) + * Add a stop dependency for umountroot on kexec, to document the + correct location for a kexec script. Related to bug #387599. + * Make sure update-rd.d-recover is not compressed to make it easier to run. + + -- Petter Reinholdtsen Fri, 22 Sep 2006 21:34:37 +0200 + +sysvinit (2.86.ds1-22) experimental; urgency=low + + * Let mountdevsubfs provide mountvirtfs to work with init.d scripts + with obsolete dependency information. + * Change mounting of virtual file systems to specify the device name + explicitly, to make sure /proc/mounts and /etc/mtab end up with + the same device name. + * Split killall5, last, lastb, mesg and pidof out of the sysvinit + package into a new sysvinit-utils package to make it easier to + replace sysvinit. (Closes: #385722) + * Mount /var/run/ as tmpfs in mountkernfs.sh, to have some place to + write state information very early in the boot, and thus avoid a + lot of cludges in scripts running before partitions are checked + and mounted. Mount /var/lock/ as tmpfs to avoid having to clean + it during boot, and to have some place to store locks for the + things running before partitions are checked and mounted. + Packages need to create the directories they expect to find in + these directories from now on. Patch from Scott James Remnant and + Ubuntu. + * Adjust checkroot.sh to create the root device node in /var/run/ + when needed, instead of mounting its own tmpfs. Modified + /var/run/ to allow devices and executables. + + -- Petter Reinholdtsen Sat, 16 Sep 2006 12:14:36 +0200 + +sysvinit (2.86.ds1-21) experimental; urgency=low + + * Correct status report handling in umountnfs.sh. Based on patch + from Markus Schoder. (Closes: #386893) + * Change mountnfs.sh, rc.local and skeleton to use /lib/init/vars.sh + instead of sourcing /etc/default/rcS, to activate the INIT_VERBOSE + variable for these scripts. + * Add support in the init.d scripts for the 'quiet' kernel option. + Keep support for the experiemental INIT_VERBOSE, to make it + possible to override VERBOSE=no on the kernel command line. + * New draft patch 68_init_quiet to make init less verbose when the + 'quiet' kernel option is used. If it worked, it would solve bug + #326677. + * Add a few lintian overrides for things that are correct though strange. + * Rewrite sendsigs to sleep up to 5 seconds (instead of always + sleeping 5 seconds) during shutdown if there are no processes left + to wait for. Modify killall5 to make it report if it found any + processes to kill to make this possible. + * Modify mtab.sh to include /dev/.static/dev in /etc/mtab, to avoid + message from umountfs during shutdown about it being missing in mtab. + * Now that mtab is properly updated by mtab.sh before mountall.sh, + there is no need to have special handling of proc file systems. + Remove the code from mountall.sh. (Closes: #359651) + * Only kill processes using remote file systems before trying to + umount them, if fuser from the psmisc package is available, and + move sendsigs to a point between where remote and local file systems + are umounted. Recommend psmisc for package initscripts. + (Closes: #258420, #367944) + * Add conditional dependency on glibc for hostname.sh and + mountkernfs.sh, to allow the glibc warnings to show up without + anything running in parallel. + * Change default PATH in initscripts and init to prefer sbin/ over + bin/, to avoid picking user visible replacement for system + binaries. This avoids shutdown problems on some + machines. (Closes: #354163) + * Fix typo in init.d/README. (Closes: #387236) + * Add /usr/bin/ to the checkroot and checkfs PATH, to make sure + on_ac_power is used if it is available. (Closes: #387308) + * Modify mtab.sh to insert the device name used when mounting + /dev/shm/ in /etc/mtab. (Closes: #387216) + + -- Petter Reinholdtsen Thu, 14 Sep 2006 15:09:33 +0200 + +sysvinit (2.86.ds1-20) unstable; urgency=low + + * Change initscripts postinst to use update-rc.d program instead of + its shell script function when insserv is installed. + * Change updatercd call order in initscripts postinst to make sure + they are called in dependency order, to work better with insserv. + * Improve update-rc.d-recover script to look in /var/log/dpkg.log + for version 2.86.ds1-17 as well as 2.86.ds1-16. Patch from Stefan + Bellon. + * LSB header updates: + - sendsigs should stop before umountnfs, and umountnfs should stop + before umountfs, until we have a solution for bug #258420 and + #367944. + - mountnfs.sh should list $network as an optional dependency like + for umountnfs, to work on machines without network. + + -- Petter Reinholdtsen Sun, 10 Sep 2006 17:45:19 +0200 + +sysvinit (2.86.ds1-19) unstable; urgency=low + + * Add new NEWS entry with a better shell fragment for recovering + from the update-rc.d problem. Add script + /usr/share/doc/sysv-rc/update-rc.d-recover to make it easier for + people to recover from problems introduced in versions 2.86.ds1-16 + and 2.86.ds1-17.(Closes: #386649) + * Rewrite checkroot.sh to not use lazy umount and a private tmpfs, + and keep the tmpfs mounted on /tmp/ as long as checkroot.sh need + it. It seem that fsck did not like relative device paths. + (Closes: #386347, #386699) + * LSB header updates: + - umountfs should execute before umountroot, not before halt or + reboot. + - umountroot should stop in runlevel 0 and 6, and execute before + halt or reboot. + + -- Petter Reinholdtsen Sat, 9 Sep 2006 20:12:47 +0200 + +sysvinit (2.86.ds1-18) unstable; urgency=low + + * Make sure running update-rc.d several times do not remove the + rc*.d/ symlinks, fixing bug introduced in 2.86.ds1-16. Patch from + Arjan Oosting. (Closes: #386500) Added entry in NEWS file to give + clues on how to fix the breakage in upgraded packages introduced + by this. Print a warning when upgrading from the broken versions. + * Change checkroot.sh to use a private tmpfs file system for its + device file if it is missing from /dev/. (Closes: #386347) + * Also create possibly non-existant parent directory of lock directory + /var/run/network/mountnfs in ifup script. Patch from Arjan + Oosting. (Closes: #386449). + * Mark /etc/init.d/rc.local as a conffile, to make sure we do not + replace an exisitng rc.local file without warning the system + admin. (Closes: #386418) + * Mount /dev/pts/ with noexec,nosuid, as it is only used for device files. + * Change sysv-rc to print a message when enabling concurrent boot, + specifying the concurrency style. Recommend lsb-base and use it + if available. + * Teach init.d/stop-bootlogd-single to accept the kernel arguments + 'S' and '1' as well as 'single' as single-user mode triggers. + (Closes: #367465, #372669) + * Only report umounting of remote file systems when there are remote + file systems to umount. + * Remove 'S' from default-stop in skeleton. It never make sense to add + stop links in rcS.d/. + * Remove execute bit from /etc/init.d/skeleton. (Closes: #372666) + * LSB header updates: + - stop-bootlogd should run after rmnologin. + - mountdevsub.sh should start after udev, if it exist. + - rc.local should not depend on $all to allow it to start earler + in the boot. + - stop-bootlogd-single should depend on $all, to get it last in + the rcS.d/ sequence. + - umountnfs.sh should stop in runlevel 0 and 6, and execute before + umountnfs, sendsigs, portman and $network. + - sendsigs should stop in runlevel 0 and 6, and execute before + umountfs. + - umountfs should stop in runlevel 0 and 6, and execute before halt + or reboot, if it exist. + - halt should stop in runlevel 0, and not run before any other script. + - reboot should stop in runlevel 6, and not run before any other script. + + -- Petter Reinholdtsen Fri, 8 Sep 2006 19:07:43 +0200 + +sysvinit (2.86.ds1-17) unstable; urgency=low + + * Make some log messages more usplash friendly in the VERBOSE=yes case. + * Undo fix for #309813, it was correct before. + + -- Petter Reinholdtsen Wed, 6 Sep 2006 20:20:06 +0200 + +sysvinit (2.86.ds1-16) unstable; urgency=low + + * Fix emergency mode's tty, making sure ^C and ^Z work when booting + with 'emergency' kernel option. Patch from Samuel + Thibault. (Closes: #374543) + * Rewrite usplash reactivation code in init.d/sendsigs to match the + code in Ubuntu. It need to behave the same way as the usplash + startup code, and should not match the code deciding if + usplash_write should be used. + * Change handling of CONCURRENCY in init.d/rc, to make sure an + unrecognized value is treated as 'none'. (Closes: #380602) + * Make sure SATA disks are powered down as well as IDE disks. Patch + from Sebastian Reichelt. (Closes: #348172) + * Mount /dev/shm, /sys, /proc and /proc/bus/usb using + noexec,nodev,nosuid to make it harder to misuse. + (Closes: #378182, #378280) + * Move NFS mounting to an if-up.d script, to make sure we try to + mount NFS file systems after the network is available. Based on + patch from Ubuntu. Modified to rewrite mountnfs.sh instead of + renaming it to waitnfs.sh. (Closes: #360123) + * Add rc.local support to be more compatible with non-Debian + distributions. Patch from Fabio M. Di Nitto via Ubuntu. Modified to + not print messages when VERBOSE=no. + * Drop and remove /etc/init.d/mountvirtfs. It is obsolete. + * Do not try to mount netdev file systems in mountall.sh. + (Closes: #383073, #386063) + * Mount netdev file systems when the network is up. (Closes: #383123) + * Umount netdev file systems in umountnfs.sh. (Closes: #383124) + * Remove obsolete code in init.d/rc to execute /sbin/unconfigured.sh + and /sbin/setup.sh. It was only to be used during installation, + and the installer no longer need it. Add a init.d script if you + need the functionallity. + * Change LSB dependency info for mtab.sh. It need a writable root + file system to update /etc/mtab, and should thus depend on + checkroot, not mountall. + * Move mtab to rcS.d/S12mtab.sh, to make sure it is the first script + to run after checkroot.sh. + * Change init.d/mtab.sh to be more self-contained, and update + /etc/mtab with info on all file systems mounted before /etc/mtab + was writable by processing /proc/mounts. Based on patch from + Scott James Remnant and Ubuntu. + * Add empty functions pre_mountall and post_mountall to reduce the + difference between the Ubuntu version + * Modify update-rc.d to run properly with perl error checking enabled. + * Add support for parsing LSB headers in update-rc.d, and use the + runlevel information in the default-start and default-stop headers + if they are present. Document this in update-rc.d(8). This can + be used instead of the 'multiuser' extention in Ubuntu, by setting + the 'default-stop' value to '1' in the init.d script. + Only enable this feature when /etc/update-rc.d-lsbparse exist + while we verify that LSB headers are correct. + * Change the default VERBOSE value from yes to no. + * Move init.d/hostname.sh to the very top of the boot sequence, + as it only require a readable /etc/hostname and a working kernel. + * Use the stop scripts from the runlevel we are leaving, not the one + we are entering, when switching between runlevels. (Closes: #309813) + + -- Petter Reinholdtsen Wed, 6 Sep 2006 15:29:01 +0200 + +sysvinit (2.86.ds1-15) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Modify LSB header for init.d/rmnologin, to make sure it is + executed with the 'stop' argument for runlevel 0 and 6, and make + it depend on '$all' to put it last in the startup sequence. + * Update the LSB descripton header for init.d/hostname.sh. + * Make sure hostname.sh return error code when it fail. (Closes: #365062) + * Fix 'startpar' concurrency option to only run start and stop + scripts only once. Patch from Sören Köpping. (Closes: #378092) + * Fix init.d/rc to make it possible to specify the CONCURRENCY + setting in /etc/default/rcS. + * Fix typo in update-rc.d.8 manual page. Patch from Justin + Pryzby. (Closes: #374476) + * Improve text in init.d/README to make it more obvious that the .sh + scripts should be working also when executed individually. Patch + from Bart Martens. (Closes: #362888) + * Modify the comment before the conditional calls to on_ac_power, to + document that checkfs.sh and checkroot.sh are written to work just + fine also when /usr/bin/on_ac_power is unavailable. (Closes: #367867) + * Integrate the patches from Ubuntu where I understand why they are + useful: + - Change runlevel manpage to be less misleading. + - Make messages in init.d/sendsigs less technical. Based on patch + from Ubuntu. + - Update progress bar changes in init.d/sendsigs and init.d/rc. + Based on patch from Ubuntu. Changed patch to check only once in + init.d/rc if the progress bar is enabled, and to use the same + way in sendsigs and rc to decide if it is enabled or not. It + will be enabled if /sbin/usplash_write is executable. + - If /dev/.udev.log exists, move it to /var/log/udev.log. Patch + from Scott James Remnant. + - Do not umount /dev/shm in umountnfs.sh. It is a tmpfs and can be + safely left behind when shutting down the system. + * Update standards version from 3.6.2.1 to 3.7.2. No changes required. + * Acknowledge NMU. Thanks, Steinar H. Gunderson . (Closes: #359176) + + [ Thomas Hood ] + * Remove myself from uploaders list. + + -- Petter Reinholdtsen Tue, 25 Jul 2006 19:42:27 +0200 + +sysvinit (2.86.ds1-14.1) unstable; urgency=low + + * Non-maintainer upload. + * mountnfs.sh: If needed, call nfs-common's init.d script to start + rpc.gssd or rpc.idmapd as needed. This is needed for Kerberized + NFS mounts and NFSv4 mounts. (Closes: #359176) + + -- Steinar H. Gunderson Sat, 6 May 2006 21:12:39 +0200 + +sysvinit (2.86.ds1-14) unstable; urgency=low + + [ Thomas Hood ] + * umountfs: Unmount in order of decreasing mount point length + without making use of the sort program (Closes: #356226) + Thanks to Jiri Polach for assistance + * Don't Build-Depend on selinux stuff on kfreebsd-amd64 + (Closes: #357245) + * Make initscripts Conflict with sysvinit (<< 2.86.ds1-12) because + bootlogd initscript uses an option that was introduced in + 2.86.ds1-12 (Closes: #357667) + * bootlogd: Mention -p and -c options in usage message + (Closes: #357667 too) + + -- Thomas Hood Thu, 16 Mar 2006 19:45:04 +0100 + +sysvinit (2.86.ds1-13) unstable; urgency=low + + [ Thomas Hood ] + * umountfs: Unmount even if sort not available (Addresses #356226) + * last: Fix strncmp bug (Closes: #353585) + * umountroot: Tweak handling of error messages from mount + (Closes: #352398) + * /etc/init.d/skeleton: Source init-functions (Closes: #353212) + * initscripts.postrm: Don't remove /etc/init.d/mountdevsubfs + * mount{all,nfs}.sh: Don't set TMPTIME cuz it's not used here + * pidof.8: Don't imply that pidof is in /sbin (Closes: #352741) + * sysv-rc: /etc/init.d/README: Refer user to /usr/share/doc/sysv-rc/ + (Closes: #353083) + * Add NEWS.Debian with entry for 2.86.ds1-10 which reports the + replacement of the bootclean.sh function library by the + bootclean initscript. (Closes: #355746) + + [ Petter Reinholdtsen ] + * Silence init.d/hostname.sh when VERBOSE=no. + * /etc/init.d/skeleton: Show how to use the VERBOSE variable. + + -- Thomas Hood Mon, 13 Feb 2006 08:42:44 +0100 + +sysvinit (2.86.ds1-12) unstable; urgency=low + + [ Thomas Hood ] + * Aim for testing: Closes: #341075 + * Fix dependency on mount for GNU/kFreeBSD (Closes: #349984) + This involved updating deps-mount and deps-glibc (Closes: #335297) + * bootlogd: 51_bootlogd_syncalot: Don't sync after each line unless + the (new) -s option is given + (Closes: #205724) + * bootlogd: 52_bootlogd_createlogfile.dpatch: Don't write to logfile + if it doesn't exist unless the (new) -c option is given + (Closes: #341167) + * bootlogd: 53_bootlogd_ttyB.dpatch: Also try ttyB0 + (Closes: #348506) + * last: 25_last_sanify: In "last -x" output: + + On "reboot" line print endpoint of uptime too + + On "shutdown" line print downtime rather that time between downs + (Closes: #58119) + * init: 41_selinux_console.dpatch: print to same console as others do + (Closes: #349149) + * bootclean: Don't fail to clean all directories in /tmp + (Closes: #350218) + * mountall.sh: Suppress error message about /proc already being mounted + (Closes: #349275) + * checkroot.sh: Don't try to enable swap if a swap device is + /dev/mapper/* or a swapfile (Closes: #346329, #348534) + * checkroot.sh: Remove some code specific to pre-2.4-Linux + * umountfs + - Don't try to unmount tmpfs on /dev (Closes: #350998) + - Improve comment explaining use of sort (Closes: #351497) + * several scripts: messages: Tweak; better condition them on $VERBOSE + * initscripts postinst: Don't run mount{kern,devsub}fs.sh + * initscripts postinst: Actually remove some things on purge + * rcS(5): Improve; mention that if UTC=no then admin must ensure + that zoneinfo is available + * shutdown(8): Fix typo (Closes: #350830) + * Add README.Debian for sysv-rc + * debian/rules: + + Handle older dpkg-architecture + + Tweak Build-Depends on libselinux1-dev (Closes: #340285, #351906) + + [ Robert Millan / TH ] + * inittab on GNU/kFreeBSD: (Closes: #351615) + - Pass "cons25" as parameter to getty (leaving it unspecified + required hacks in the getty side). + - "translate" all device names into kfreebsd ones, including those + in comments. + + [ A Costa / TH ] + * man pages: 10_doc_manuals.dpatch: Fix a shipload o' typos + (Closes: #349768, #349769, #349770, #349771, #349772, #349773) + + [ Ruben Porras / TH ] + * Fix typos in Spanish update-rc.d(8) (Closes: #349805) + + [ Henrique de Moraes Holschuh ] + * [S390] inittab: rename inittab.s390-linux to inittab.s390-linux-gnu + (Closes: #351871) + + -- Henrique de Moraes Holschuh Thu, 9 Feb 2006 09:27:51 -0200 + +sysvinit (2.86.ds1-11) unstable; urgency=low + + [ Thomas Hood ] + * rcS(5): Improve + * sulogin(8): Improve; mention -t option (Closes: #186880) + * bootlogd(8): Improve; mention need for PTY support + * initscripts postinst: Update to reflect script name changes + * initscripts: Harmonize PATH settings + * checkroot.sh: Don't check for need to start /sbin/update. + We don't support pre-2.4 kernels any more. + * checkroot.sh, mountall.sh: Run swapon with -v if VERBOSE!=no + * Remove obsolete lintian overrides + * Previous release also + closes: #258290 "bootlogd: Bad file descriptor" + closes: #327865 "bootlogd stopped working" + closes: #328764 "bootlogd fails to start" + + [ Petter Reinholdtsen ] + * Time to upload all these changes into unstable (Closes: #341075) + * Revert default VERBOSE value to "yes" to reduce the amount of + user visible changes in this upload. + + -- Petter Reinholdtsen Sun, 22 Jan 2006 22:17:38 +0100 + +sysvinit (2.86.ds1-10) experimental; urgency=low + + [ Thomas Hood ] + * bootclean: Adapt from old bootclean.sh; handle return status more + carefully; print diagnostic messages on failures; eliminate use of + subshells; add comments; improve deletion code + * bootclean: Always rm /tmp/.X*-lock + * mountall.sh: Eliminate unnecessary check for pre-2.4 Linux kernel + * mountnfs.sh, mountall.sh: Choose different names for intnl. functions + * mountnfs.sh: Only sleep 1 second after starting portmap; note that + the code to start portmap will disappear someday + * various scripts: Make more messages depend on VERBOSE being != "no" + * various scripts: Handle return status more carefully + * various scripts: Eliminate unnecessary uses of subshell + * mountvirtfs -> mountkernfs.sh; mountdevsubfs -> mountdevsubfs.sh; + mountvirtfs now calls the above two (for backward compatibility); + mtab.sh now runs mountkernfs.sh and mountdevsubfs.sh to update + the mtab file after mountall.sh. + * /etc/init.d/rc: Restore PATH after sourcing an initscript + * debian/rules: + + Use ':', not the deprecated '.' between owner and group names + in chown commands + + Use '-o root' with install + * /etc/init.d/README: Note that /etc/init.d/*.sh must have '#!/bin/sh' + and must follow policy 10.4. + * Override lintian and linda warnings + + [ Ubuntu backports by T.H. ] + * During shutdown and reboot take the progress bar from 100 to 0 + * Reduce diff with 2.86.ds1-6ubuntu1 + + Thanks to Mark Hatle and Marco d'Itri for help with this release. + + -- Petter Reinholdtsen Sun, 15 Jan 2006 13:38:42 +0100 + +sysvinit (2.86.ds1-9) experimental; urgency=low + + [ Thomas Hood ] + * Split mountdevsubfs out of mountvirtfs and run it at S04 and S37. + [Note added in 2.86.ds1-10: these scripts were renamed] + This should not behave any differently, but the split will allow + packages that futz with /dev to do this at S03. + * umountfs: Only run umount if there is something to unmount + (Closes: #345272) + * urandom: Set PATH so that find can be found (Closes: #345273) + * init: 64_init_set_PATH.dpatch: Set PATH if it's unset on re-exec + (Closes: #345370) + * init: 65_init_u_in_06.dpatch: Allow 'telinit u' in runlevels 0, 6 + (Closes: #345719) People running Debian from unusual media (such + as filesystems embedded in NTFS files) are wanting to unmount + /sbin at the last moment and need to re-exec init to do so. + * umountroot: Remount ro with -f on GNU/kFreeBSD (Closes: #344547) + * checkroot.sh, checkfs.sh: Pause for five seconds if sulogin fails + so that the user can see the error message (Addresses #337444) + * Include /var/log/fsck/ in initscripts package (Closes: #346139) + * Replace /lib/init/functions.sh with /lib/init/mount-functions.sh + for use by mountvirtfs and mountdevsubfs + * various initscripts: Clean up code that reads fstab + * various scripts: Redirect which program's stderr to /dev/null + since the GNU version prints an error message when the command is + not found (Closes: #345321) + * /etc/default/rcS: Make VERBOSE and DELAYLOGIN default to "no" + * /etc/default/rcS: Remove descriptions of variables; leave behind + a reference to rcS(5). This eliminates the problem of comments + becoming outdated without our being able to update them. + * Remove obsolete docs + * Make initscripts Depend on mount >= 2.11x-1 (Closes: #345968) + * Remove obsolete dependencies on bsdutils, coreutils, dpkg, kbd and + util-linux: the versions in question are older than oldstable, so + any newly installed system and any system that has upgraded to + sarge (or even woody) satisfies the constraints. + * Remove obsolete dependency on the last package: last was forced off + systems when they upgraded to buzz + * Add Replaces to Conflicts: mdutils which no longer exists even in + oldstable + * initscripts postinst: Remove obsolete GMT-to-UTC code: this + conversion was performed when systems were upgraded to potato + * sysvinit: Depend on libc6 rather than Pre-Depending on it; we don't + do anything special in the preinsts any more + * Correct documentation of init's -e and -t options + * Tweak descriptions + * Add READMEs for remaining runlevel dirs (Closes: #242957) + * Previous release also + closes: #227540 "skeleton: Don't include /usr/local/* in PATH" + closes: #346415 "mountnfs.sh doesn't work with the "bg" mount option" + + [ Petter Reinholdtsen ] + * sysv-rc: Fix some typos in the startpar handling. (Closes: #345269) + * Add code to detect and report bad 'exit' calls in init.d scripts, + if they kill /etc/init.d/rc. + * Make sure sourcing work with dash /bin/sh, by using 'set $action' + to pass arguments to the script. (Closes: #345267) + + Thanks to Mark Hatle for help with this release. + + -- Petter Reinholdtsen Sun, 8 Jan 2006 18:08:51 +0100 + +sysvinit (2.86.ds1-8) experimental; urgency=low + + [ Thomas Hood ] + * Omit /run until we are sure it's needed (Closes: #344001) + * Previous release also + closes: #338736 "mountvirtfs: Succeeds in various cases it should fail" + closes: #342160 "checkroot.sh ignores fsck result" + closes: #342744 "checkroot.sh sources mountvirtfs, yet supplies arguments" + * Use /proc/mounts instead of /etc/mtab when unmounting (Closes: #338801) + * Check for files under mountpoints more thoroughly + * initscripts.postinst: + + Don't fail to install on file-rc systems (Closes: #343993) + + Don't fail to install in chroots (Closes: #344089) + * No longer keep the dynamic nologin flag file on the root filesystem; + instead, keep it at /var/lib/initscripts/nologin. Note to admins: + initscripts's postinst symlinks /etc/nologin to the latter location. + To switch login delaying on or off permanently, set DELAYLOGIN=no in + /etc/default/rcS and either create or delete (respectively) + /var/lib/initscripts/nologin. + * mountvirtfs: Mount /dev/shm earlier; move long comment to README.Debian + * Add 45_pidof_symlink.dpatch: Make pidof an absolute symlink + (Closes: #343862) + * debian/rules, 30_strip.dpatch: Strip .comment section from executables + (Closes: #343863) + * In umountfs, run umount with -f (Closes: #344547) + + [ Petter Reinholdtsen ] + * Enable the startpar option as it should work now that .sh scripts + are serialized. The clock should no longer jump while startpar + is used. + + -- Petter Reinholdtsen Tue, 27 Dec 2005 14:18:19 +0100 + +sysvinit (2.86.ds1-7) experimental; urgency=low + + [ Petter Reinholdtsen ] + * Add commented-out code to /etc/init.d/rc for sourcing + *.sh scripts for runlevel 'S'. This is preparation for fixing + #339955. Actually fixing it has to wait until other packages + remove "exit" from their .sh scripts. + * Implement progress bar support for splash screen. Enabled when + usplash_write is in PATH. Patch from Scott James Remnant and Ubuntu. + + [ Thomas Hood ] + * *.sh: Make sure that these do their thing when they aren't given any + command line arguments (as is the case when they are sourced) + * initscripts: Improve use of log_* functions + (Closes: #55143, #116366, #323749) + * bootclean.sh: Do not delete symlinks-to-directories from /var/run/ + (Closes: #272066) + * checkroot.sh: Fix double printing of 'Done checking root file system'; + mountall.sh: Fix chopped-up printing of mount information + (Closes: #339979, #331397, #341097 and presumably closes: #332309) + * checkroot.sh, checkfs.sh: Save fsck logs (Closes: #189356) + Thanks to Theodore Y. Ts'o. + * checkroot.sh, mountvirtfs: Eliminate use of dir_writable in order to + try to please selinux (Closes: #333836) + * checkroot.sh: Only run findfs for mount on / (Closes: #275680) + Thanks to Cameron Hutchison for the patch. + * mountall.sh, mountnfs.sh: Split call to bootclean out into separate + script called at the next sequence number (Closes: #286479) + * bootmisc.sh: Shorten motd header (Closes: #340017) + * bootmisc.sh: Store dynamic motd in /var/run/ and make /etc/motd a + symbolic link. The EDITMOTD variable no longer has any effect; to + disable updating of the motd just point the /etc/motd symlink to a + static file such as /etc/motd.static. + * bootmisc.sh: Rotate dmesg log with savelog (Closes: #237074) + and chgrp adm. + * umountroot: Change mount command in order to exclude bind mounts of + the root directory (Closes: #339023) + * Replace /etc/rc1.d/20single by /etc/rc1.d/S30killprocs and + /etc/rc1.d/S99single so that packages can insert scripts to do + things between the "killall5" in the former and the "exec init -t1 S" + in the latter. This may help to address #145280. + * umountfs: Unmount tmpfs before swapoff and other fs's afterwards + (Closes: #328582, hopefully without reopening #84782) + * Make stop-bootlogd a distinct script rather than a symlink to bootlogd. + Give it its own LSB header. + * Add stop-bootlogd-single initscript to stop bootlogd in "single" mode + (Closes: #213028, #220025) + * checkfs.sh: Implement FSCKTYPES (Closes: #89481) Set, e.g., + FSCKTYPES="ext2,msdos" to fsck only file system types ext2 and msdos + See fsck(8) for syntax. FSCKTYPES="none" disables fsck of file + systems (other than the root filesystem) altogether. + * all initscripts: Set variables using common script + * all initscripts: Fix usage messages + * all initscripts: Allow VERBOSE to be set via the INIT_VERBOSE=yes + kernel argument (Closes: #286082) Experimental. The name of the + kernel argument may change in the future if we decide to implement + this more generally. + * Improve skeleton initscript + * all scripts: Clean up; standardize indentation + * all scripts: Use the "which" program to test for executability + * initscripts: Experimentally include /run; include /sys in Linux + builds + * mountvirtfs: Mount a tmpfs on /run + * mountvirtfs: Warn if mount point has stuff under it (Closes: #95390) + * initscripts postinst: Mount virtual filesystems + * initscripts preinst: Remove ancient /etc/init.d/boot conversion code + (Closes: #343596) + * default config files: Clean up comments + * Make initscripts Depend on debianutils >= 2.13.1 in order to prevent + #295850. Note that debianutils also has to be >= 2.12.0 so that the + "which" program is available in /bin. + * Remove currently unneeded sysvinit Dependency on coreutils + (Closes: #316423) + * pidof: If the program is specified with a path, don't match processes + of programs run from different paths (Closes: #160329) + * init: 40_selinux.dpatch: Remove superfluous printf argument + * init: Add 63_init_longer_procname.dpatch (Closes: #336172) + * init.8: Mention that entering runlevel 1 kills all processes + (Closes: #238861) + * update-rc.d.8: Mention that update-rc.d will not create multiple start + or multiple stop symlinks for a service in a single runlevel directory. + (Closes: #330155) + * Update FSF address + + -- Petter Reinholdtsen Sat, 17 Dec 2005 21:26:03 +0100 + +sysvinit (2.86.ds1-6) unstable; urgency=low + + [ Petter Reinholdtsen ] + * Updated versioned dependency of sysvinit from sysv-rc version + 2.85-2 to version 2.86.ds1-1.2, to make sure init.d/rcS calls all + init.d scripts with 'start' argument. Let initscripts conflict + with sysv-rc (<< 2.86.ds1-1.2) as well, to document that it need a + newer sysv-rc to work properly. (Closes: #338966) + * Added 91_sulogin_lockedpw.dpatch to make sure file systems can be + fixed on machines with locked root accounts too, by presenting a + shell in these cases. Patch from Ubuntu and Thom May. + (Closes: #326678) + * Make sure checkroot.sh calls mountvirtfs with argument 'start', to + avoid usage message and making sure it is executed as it + should. (Closes: #338966, #339351) + * Print message when hostname is set. Use default 'localhost' if no + hostname is set in /etc/hostname, and no current hostname is set. + * In mountall.sh, add '-e' to swapon call, to ignore missing devices + when enabling swap. Because of this, show error messages from + swapon. + * Add link to alioth project page in the Debian README. + * Created new file /lib/init/functions.sh for functions common to + scripts in initscripts. Moved dir_writable() into it. + * Add new function selinux_enabled(). Use it before running + /sbin/restorecon. + + [ Thomas Hood ] + * Improve update-rc.d man page text. + * Use log_action_* functions from recent (>= 3.0-6) lsb-base, to + improve output formatting. (Closes: #338967) + * Clean up initscript messages a bit, making them easier to + understand for non-technical users. + + -- Petter Reinholdtsen Sat, 19 Nov 2005 15:07:33 +0100 + +sysvinit (2.86.ds1-5) unstable; urgency=low + + [Petter Reinholdtsen] + * Make sure init.d/bootmisc.sh depend on hostname, as it uses the + host name when generating motd. + * Improve update-rc.d(8) manual page, documenting how to remove + services and how to make sure services are not started. Patch + from Peter Valdemar Mørch. + * Add sysv-rc-conf(8) to the SEE ALSO section of update-rc.d(8). + * Add suggest to bum for sysv-rc. Also added bum(8) to the SEE ALSO + section of update-rc.d(8). (Closes: #332823) + * Get update-rc.d to understand symlinks to /etc/init.d/ as well as + symlinks to ../init.d/. (Closes: #338666) + * Adjust and clean up init.d dependecy information. + * Added 90_shutdown_H.dpatch to make sure shutdown flags -P and -H + require the -h flag, and document this in the manual page. + (Closes: #331041) + * Added 71_wall_hostname.dpatch to include hostname in wall message + from halt. (Closes: #325772) + * Add comment in freshly installed /etc/default/rcS mentioning its + origin. (Closes: #336873) + * Revert fix for bug #295335, as the manual page patch is reported + to be incorrect. Commented out 10_doc_lastb.dpatch from patches/00list. + * Improve argument handling for init.d scripts. Based on patch from + Enrico Zini. + * On FreeBSD, set TERM=cons25 in init as the kernel isn't setting + TERM. Patch from Robert Millan. (Closes: #335023) + + -- Petter Reinholdtsen Sun, 13 Nov 2005 12:55:47 +0100 + +sysvinit (2.86.ds1-4) unstable; urgency=low + + [Petter Reinholdtsen] + * Add '#! /bin/sh' to the init.d scripts missing those. + * Improve boot message for init.d/bootlogd. + * Make sure init.d/checkroot.sh only print status of swap mounting + when VERBOSE!=no. Improve boot message for this case. + * Improve usage message of update-rc.d. Uncredited patch from Ubuntu. + * Set pkg-sysvinit-devel@lists.alioth.debian.org as the package + maintainer, and move Miquel van Smoorenburg into the uploaders list. + * Get bootlogd working, by fixing the exit code patch. (Closes: #327865) + * Get ifdown working on kFreeBSD. (Closes: #327031) + * Quiet down update-rc.d by removing unnecessary warning. Patch + by Thomas Hood. (Closes: #164471) + * Improve update-rc.d(8) manual page. (Closes: #243154) + * Fix typo in pidof(8) manual page. + * Update FSF address in copyright files. + + -- Petter Reinholdtsen Sun, 2 Oct 2005 11:44:07 +0200 + +sysvinit (2.86.ds1-3) unstable; urgency=low + + * Fixed typo in last(1) manual page. (Closes: #326408) + * Documented -e and -t option in telinit. (Closes: #272657) + * Rewrote init.d/rc to avoid error from ls when no start or stop + script is present in one rcX.d directory. + * Updated the startpar source to version 0.49 from + . Still hanging the + boot on my test machine, so it is not included in the binary + package. Added 01_enable_startpar.dpatch to document how to + enable it. + * Changed section of packages from base to admin, to match override + file. + * New lsb-base package avoid error during shutdown. (Closes: #327570) + + -- Petter Reinholdtsen Sun, 25 Sep 2005 10:40:03 +0200 + +sysvinit (2.86.ds1-2) unstable; urgency=low + + * This package is now maintained on Alioth as the pkg-sysvinit project. + * Add myself as uploader. + * Add support for linprocfs on kFreeBSD. Patch from Robert + Millan. (Closes: #300963) + * Rewrote /etc/mtab handling in mountvirtfs to work with SELinux. + Based on patch from Luke Kenneth Casson Leighton. + (Closes: #270919) + * Add SELinux support to sysvinit on linux. Add build-depend on + libselinux1-dev and libsepol1-dev for all linux archs. Patch from + Manoj Srivastava, based on patch from Fedora. (Closes: #242900, + #249515,#315611) + * Drop redundant build-depend on essensial package bash. + * Add version 0.47 of startpar(8) program from SuSe. Part of + experimental parallel booting system. Not included by default + yet, as it tend to hang during boot. + * Add support for starting init.d scripts on the same level in + parallel, to speed up the boot process a bit. Currently, only a + simple system is implemented (and enabled by adding + CONCURRENCY=shell in /etc/default/rcS). This simple system messes + up the script output during boot. Disabled by default. (Closes: + #316290) + * Add 'kdm xdm gdm $syslog' as conditional dependencies of + rmnologin, to move it further back in the boot process. + * Make sure bootlogd return non-error exit code after forking off + the child. (Closes: #326640) + * Add more warning flags to list of compiler flags, to get more + info about problematic code. + * Avoid race-condition while fork()ing. Patch from SuSe. + (Closes: #327612) + * Improve error message when fork() fail in init. Patch from SuSe. + * Avoid hardcoding tty name length in wall, use UT_LINESIZE instead. + Patch from SuSe. + * Force kernel to reschedule after killing processes. Patch from SuSe. + * Make sure killall never tries to kill init (pid 1). Patch from SuSe. + * Acknowledge NMUs. (Closes: #30659, #85221, #204857, #225476, + #247102, #248739 #252059, #267935, #269774, #269894, #272588, + #272916, #273496, #277204, #281782, #284426, #286081, #287243, + #288098, #289562, #295094, #295335, #296489, #300645, #311741, + #314351, #316431, #317385, #317704, #318453, #318857, #323749, + #325933, #326460, #326495, #326647) + + -- Petter Reinholdtsen Sat, 11 Sep 2005 17:46:54 +0200 + +sysvinit (2.86.ds1-1.2) unstable; urgency=low + + * Non-maintainer upload to fix bugs. + * Moved all changes to upstream source to debian/patches/, and use + dpatch to apply them. + * Modified pidof to not print empty line if no pid was found. + (Closes: #225476) + * Merged rcS into rc. (Closes: #326460) + * Convert french version of update-rc.d(8) from UTF-8 to + ISO-8859-1. (Closes: #273496) + * Make sure binaries are stripped when installed, to avoid lintian + warning. + * Fix typo in debian/README (seperate->separate). + * Modify debian/rules to install Debian changelog for sysv-rc and + initscripts as changelog.Debian to keep lintian happy. + * Corrected section of mountpoint(1) manual page. + * Improve lastb(1) manual page. (Closes: #295335) + * Changed init.d/rc to short-circit stop scripts when switching + runlevels. Based on patches from Lukas Eppler and Steven + Barker. (Closes: #30659) + * Optimize boot speed by enabling the short-circit of start-scripts + when switcing from rcS.d to the real runlevel. + * Splitted umountfs in umountfs and umountroot. (Closes: #252059) + * Avoid umounting /dev/ in umountfs. (Closes: #287243) + * Made sure all init.d scripts handle start or stop + argument. (Closes: #326495) + * Added GFS file system to list of networked file systems. + (Closes: #295094) + * Added ocfs2 file system in to list of networked file systems. Patch + from Fabio M. Di Nitto and Ubuntu. + * Added trailing newline to the rebooting message, to make sure + kernel messages end up on lines of their own during + reboot. (Closes: #323749) + * Added init.d script dependency info in LSB format. (Closes: #325933) + * Do not fsck when running on battery. Patch from Thom May and + Ubuntu. (Closes: #326647) + * Updated initscripts to depend on lsb-base, and use the LSB + functions in all init.d scripts. Patch from Ubuntu. (Closes: #269774) + * Added some support for VERBOSE in checkfs.sh. + * Make sure urandom pool size is restored on boot. (Closes: #267935) + * Make it easier to override /etc/defaults/rcS parameters. (Closes: #286081) + * Accept 96 (32/mount failure + 64/some mount succeeded) as a valid + exit code from mount in mountall.sh. It seem to be returned when + some mount points already was mounted. + * Updated Standards-Version to 3.6.2.1 (no changes needed). + + -- Petter Reinholdtsen Sat, 10 Sep 2005 12:50:10 +0200 + +sysvinit (2.86.ds1-1.1) unstable; urgency=low + + * Non-maintainer upload (bug cleanup) + * Fix stupid find warning by ordering the arguments correctly in + /etc/init.d/bootclean.sh (closes: #284426, #316431) + * Have cleantmp() in bootclean set TMPTIME to 0 if undefined to prevent + from breaking if the variable is not defined properly. (Closes: #314351) + * Introduce a better warning message in checkroot.sh when it fails + to fsck the root filesystem (Closes: #272916) + * Added a comment in /etc/init.d/skeleton regarding the use of 'sleep 1' + and describing possible changes maintainers might need to introduce + (Closes: #277204) + * Remove .clean files if not owned by root in bootclean.sh to prevent users + from tricking us to _not_ clean up some directories (Closes: #289562) + * Do not remove nologin twice (i.e. in checkroot.sh and in rmnologin) + (Closes: #317704) + * Check if there is a portmapper running before starting it up in + mountnfs.sh, also, use the portmap init.d script instead of running it + through start-stop-daemon if it is available (Closes: #85221) + * Do not install manpages with the execute permission bit (Closes: #281782) + * Clarify semantics of TMPFS_SIZE in /etc/default/tmpfs (Closes: #317385) + * Add feedback to user based on start-stop-daemon exit code + in the skeleton init script (Closes: #296489) + * Document the fact that shutdown touches /etc/nologin only 5 minutes + before shutting down the system (Closes: #204857) + * Add '-f' option to last manpage (Closes: #247102) + * Fix man page and help screen of update-rc.d (Closes: #268713, #288098) + * Changed 'editted' to 'regenerated' in /etc/default/rcS (Closes: #269894) + * Fix formatting issue in mesg(1) (Closes: #272588) + * Fix typo in bootlogd(8) manpage (Closes: #300645) + * Document exit status of pidof(1) (Closes: #311741) + * Point to proper chapter in init.d/README (Closes: #318453) + * Describe the proper behaviour in rcS's README (Closes: #318857) + * Added watch file provided by Stefano Fabri (Closes: #248739) + + -- Javier Fernandez-Sanguino Pen~a Wed, 10 Aug 2005 18:58:47 +0200 + +sysvinit (2.86.ds1-1) unstable; urgency=low + + * New upload with a clean .orig.tar.gz archive without the .o files. + No other changes from 2.86-5. Used the .ds naming convention + that is suggested for packages which need to have their + docs removed (thanks, Marc Haber) + + -- Miquel van Smoorenburg Fri, 10 Dec 2004 00:04:18 +0100 + +sysvinit (2.86-5) unstable; urgency=high + + * Remove leftover debugging "echo" that prevented + /etc/init.d/mountnfs.sh from actually doing anything (closes: #270894) + + -- Miquel van Smoorenburg Fri, 10 Sep 2004 16:57:34 +0200 + +sysvinit (2.86-4) unstable; urgency=high + + * Same upload, this time built without -sa so that original source + isn't included (archive rejects it). + + -- Miquel van Smoorenburg Wed, 8 Sep 2004 11:59:08 +0200 + +sysvinit (2.86-3) unstable; urgency=high + + * Upload of -3 to unstable so that -2 can go into testing-proposed-updates + + -- Miquel van Smoorenburg Mon, 6 Sep 2004 20:07:38 +0200 + +sysvinit (2.86-2) testing-proposed-updates; urgency=high + + * Remove .clean file before touching it; prevents symlink attack + which in rare circumstances could result in random file creation + (closes: #264234) + * Do the above in a noclobber environment (Martin Pitt). + * Don't mount network filesystems multiple times (closes: #264894) + * Include .orig.tar.gz source in -2 again ("dpkg-buildpackage -sa") - + the one that comes with -1 erronously includes .o files and + binaries (oops!). + + -- Miquel van Smoorenburg Mon, 6 Sep 2004 19:02:19 +0200 + +sysvinit (2.86-1) unstable; urgency=medium + + * Better algorithm for pidof (closes: #248210) + * Include fsck.nfs.8 (closes: #250089) + * Include new skeleton script (closes: #244908) + * Better error message on failure to find path to mtab (closes: #255820) + * Add support for fstype ncp (alias for ncpfs) (closes: #259971) + * Touch /tmp/.clean earlier (closes: #255303) + * Don't include halt and reboot for hurd-i386 (closes: #255880) + * Remove XSIisms in mountvirtfs and invoke-rc.d (closes: #256726) + * Add "-t $roottype" to mount -f for / (closes: #255849) + * Always initialize PATH (to /bin:/usr/bin:/sbin:/usr/sbin) (closes: #258065) + * Try harder to remount ro and rw (closes: #259979) + * Add support for LABEL=/UUID= in checkroot.sh (closes: #261342) + + -- Miquel van Smoorenburg Fri, 30 Jul 2004 14:17:05 +0200 + +sysvinit (2.85-22) unstable; urgency=medium + + * Fix typo in /etc/init.d/halt (closes: #255133) + + -- Miquel van Smoorenburg Sat, 19 Jun 2004 12:40:12 +0200 + +sysvinit (2.85-21) unstable; urgency=medium + + * Create dependencies on glibc (>= 2.3.2.ds1-12) not through the + shlibs.local hack anymore. That might clash with a future system + shlibs file. Use the same method as we use to generate the + mount dependency - with a script (closes: #253314). + * In checkroot.sh always use the two-argument version of mount + so that mount doesn't confuse device and directory (closes: #254724) + * Change [ cond1 -a cond2 ] to [ cond1 ] && [ cond2 ] everywhere. + * Fix mountvirtfs, it broke for virtual filesystems mentioned in + fstab without any options (closes: #254271) + + -- Miquel van Smoorenburg Fri, 18 Jun 2004 13:43:55 +0200 + +sysvinit (2.85-20) unstable; urgency=low + + * Create /dev/pts in mountvirtfs for Linux + devfs (closes: #252625) + + -- Miquel van Smoorenburg Mon, 7 Jun 2004 13:45:12 +0200 + +sysvinit (2.85-19) unstable; urgency=low + + * Create /dev/{pts,shm} and /sys in postinst (closes: #252820, #252925) + + -- Miquel van Smoorenburg Mon, 7 Jun 2004 13:30:31 +0200 + +sysvinit (2.85-18) unstable; urgency=medium + + * Fix typo in /etc/init.d/single (closes: #252611) + + -- Miquel van Smoorenburg Fri, 4 Jun 2004 14:38:55 +0200 + +sysvinit (2.85-17) unstable; urgency=low + + * On Debian/k*BSD, dmesg is in /sbin (closes: #252518) + * On Debian/k*BSD, RB_HALT_SYSTEM is called RB_HALT + * RB_POWEROFF can be RB_POWER_OFF (closes: #252547, #252598) + * Add /sys, /dev/pts and /dev/shm to sysvinit. Remove the + mkdir's for those directories from mountvirtfs. + + -- Miquel van Smoorenburg Fri, 4 Jun 2004 11:51:46 +0200 + +sysvinit (2.85-16) unstable; urgency=high + + * Remove /etc/init.d/{mountkernfs,devpts.sh) that glibc installed + since mountvirtfs now provides these. (closes: #230857) + * Remove -e from mountvirtfs (closes: #232122) + * Add some more comments/documentation to mountvirtfs + * Initscripts depends on libc6 anyway right now, so we let it + depend on libc6 (>= 2.3.2.ds1-12) via shlibs.local + * Suggest sysv-rc-conf (closes: #244643) + * Updated french manpage for update-rc.d (closes: #245007) + * Use larger dmesg buffer (-s option) (closes: #242923) + * Fix up comments in /etc/default/tmpfs (closes: #245681) + * Added GNU/Hurd and kFreeBSD fixes (closes: #246743) + * Run mountvirtfs again at S36 so that it mounts /proc/bus/usb in + case usb was loaded as a module (closes: #249031) + * Don't mkdir /dev/pts if it's not there - and don't mount devpts + filesystem on it either in that case. Should help udev. + * mountvirtfs now uses the options from /etc/fstab (closes: #251016) + * add filesystem type "cifs" as network fs (closes: #248919) + + -- Miquel van Smoorenburg Thu, 3 Jun 2004 20:03:33 +0200 + +sysvinit (2.85-15) unstable; urgency=high + + * Drop bogus dependency on fileutils (closes: #241570) + + -- Miquel van Smoorenburg Mon, 5 Apr 2004 17:07:24 +0200 + +sysvinit (2.85-14) unstable; urgency=high + + * When remounting "/", just use "mount -n -o remount,rw /" and don't + bother with the device or other arguments - "mount" will look up the + root device in /etc/fstab, but the device argument to the mount + system call is ignored by the kernel for remount anyway. So this + doesn't hurt even if the device is incorrect, and it fixes a + platform dependant case where "mount -n -o remount,rw /" + fails with "mount: you must specify the filesystem type". That + is a bug in mount(8): if you don't specify the type, it passes + garbage to the kernel, and some archs choke on that. + (closes: #239735) + * change checkroot.sh so that it never checks the root filesystem + if root is on NFS even if fs_passno is set (closes: #240470) + * Reckognize type "nfs4" as network filesystem + * Better check for file-rc in postinst of initscripts (closes: #240066) + * Use /proc/sys/kernel/random/poolsize in urandom script (closes: #240057) + * Applied Debian/KFreeBSD patches. Moved initctl to /etc/.initctl + for the FreeBSD kernels. (closes: #226939) + + -- Miquel van Smoorenburg Wed, 31 Mar 2004 13:10:48 +0200 + +sysvinit (2.85-13) unstable; urgency=low + + * Add /etc/default/halt (closes: #196983) + * Set default variables used in every /etc/init.d script explicitly + and only source /etc/default/rcS if it is present (closes: #239439) + * Fix MOTD typo in bootmisc.sh (closes: #239279) + * Include lastb (closes: #239586) + * Remove /lib/init/realpath (closes: #239343) + + -- Miquel van Smoorenburg Tue, 23 Mar 2004 16:55:38 +0100 + +sysvinit (2.85-12) unstable; urgency=low + + * Support for root on devices with a dynamic major, such as + LVM and partitionable RAID. If the root device in /etc/fstab doesn't + match up with the actual root device, we try to create a temporary + device node in /dev/shm/root so fsck and remount rw can be done. + * Use lstat() instead of stat() in the mountpoint(8) utility. + * Fix checkroot devfs behaviour. + * Hmm, /usr/bin/test -w works to check if a filesystem is readonly, + but bash's built-in doesn't. Work-around with touch -a. + * /lib/init/readlink was completely broken, argh. Fixed borkenness. + Also changed behaviour so that readlink -ff is equivalent to realpath, + and -f doesn't insist on the path being a symlink. (closes: #238611) + * Removed one more init_setenv debug message from init.c + * Move mountpoint and readlink to initscripts, so that initscripts + doesn't have to depend on a specific version of sysvinit anymore + (closes: #239059) + * Make initscripts non-essential (needed for Hurd) (closes: #219969). + * Remove period from short description (closes: #239098) + * Improved handling of /etc/nologin symlink (closes: #184402) + * Make sure 'skeleton restart' restart the service even if it is not + running in accordance to policy 3.5.9.0 (closes: #184342) + * Change -name x into -path ./x in bootclean.sh (closes: #193627) + * Remove /usr/local from bootlogd path, move /sbin:/bin to the + front of the PATH. /usr/bin:/usr/sbin is kept around because the + stop action needs it for savelog. (closes: #230763) + * Remove x bit from bootclean.sh (closes: #230762) + * Consolidate variables in skeleton (closes: #122486) + * Move set -e up in skeleton (closes: #148847) + * Include spanish manpage for update-rc.d (closes: #209199) + * In /etc/init.d/README change http: URL to file: URL (closes: #151761) + + -- Miquel van Smoorenburg Sun, 21 Mar 2004 13:10:09 +0100 + +sysvinit (2.85-11) unstable; urgency=high + + * Move runlevel back to /sbin (closes: #238261) + * Move killall5 back to /sbin (closes: #238416) + * More finetuning of the included readlink program. It now has a much + more correct version of realpath() than glibc (famous last words). + + -- Miquel van Smoorenburg Wed, 17 Mar 2004 00:29:53 +0100 + +sysvinit (2.85-10) unstable; urgency=low + + * Provide mountvirtfs. It mounts /proc,/sys, etc at early boot. + Libc6 does this too with a script called mountkernfs which is called + later, but that shouldn't matter. Libc6 must remove it later on. + Perhaps we should remove the symlink - I'm not sure. + * Add /etc/default/{devpts,tmpfs} to initscripts. Add Replaces: libc6, + libc6.1 to control for initscripts. + * Add /lib/init/readlink which we can use until the standard + readlink has the features we need. + * Fix maxproclen issue (closes: #236138) + * Remove INIT_HALT debug message (closes: #230743) + * When cleaning /tmp, don't look at directory atime for aging info + (closes: #236709,#205486,#221622) + * bootclean.sh: only run if find and xargs are available (closes: #232635) + * Depend on mount (>= 2.11l-1) for the -l option (closes: #217702) + * Mount non-/ proc filesystems in mountall.sh. This will not work + if you want to mount /foo/bar/proc if /foo/bar is an NFS filesystem, + but this will do for now (closes: #234152) + * Add coda to list of networked filesystems in mountall.sh/mountnfs.sh + + -- Miquel van Smoorenburg Tue, 16 Mar 2004 01:04:06 +0100 + +sysvinit (2.85-9) unstable; urgency=low + + * Fix typo in /etc/init.d/halt (closes: #224626) + * Fix /etc/mtab-is-a-symlink corner cases (closes: #204619) + * Fix /etc/init.d/mountall.sh to only mount local fses (closes: #224720) + * Replace reference to dpkg programmer's manual in update-rc.d.8 + with reference to Debian Policy (closes: #223658) + + -- Miquel van Smoorenburg Tue, 23 Dec 2003 12:16:14 +0100 + +sysvinit (2.85-8) unstable; urgency=low + + * Clean /tmp, /var/run and /var/lock directly after mounting all + local filesystems and once more after mounting network filesystems, + but not more than once per directory (closes: #208226,#223495) + * Do not run bootlogd by default - it's a bit to experimental for + the "stable" release. Can be turned on manually (closes: #217582) + * Fix /etc/init.d/bootlogd (closes: #208578) + * Rework umountnfs.sh/umountfs (closes: #204425, #206111, #20863, #203050) + * Depend on mount >= 2.11l (closes: #217702) + * Don't use umount -l on 2.4 kernels < 2.4.11 (closes: #217701) + * /var/log/boot mode 640, group adm (closes: #204400) + * Deal correctly with /etc/mtab being a symlink (closes: #204619) + * Set TMPTIME to "infinite" to not clean /tmp (closes: #205894) + * Mount all proc filesystems (closes: #206979) + * Fix typo in invoke-rc.d manpage (closes: #196135) + * Set correct permissions on /etc/{rcS.d,init.d}/README (closes: #201467) + * Update /etc/init.d/README (refer to correct paragraph) (closes: #206411) + * bootlogd: handle comma's in console= (closes: #213749) + * Remove trailing space from 'echo -n "something ... "' (closes: #219202) + * Include documentation on invoke-rc.d and policy-rc.d (closes: #219245) + * Remove empty /usr/include from sysv-rc (closes: #222538) + * Let sysvinit Pre-Depend on file-rc | sysv-rc (closes: #221808) + + -- Miquel van Smoorenburg Thu, 18 Dec 2003 23:11:20 +0100 + +sysvinit (2.85-7) unstable; urgency=low + + * Fix devfs mtab fixup in checkroot.sh (closes: #202421) + * pidof symlink should be in /bin (closes: #202611) + + -- Miquel van Smoorenburg Wed, 23 Jul 2003 19:11:59 +0200 + +sysvinit (2.85-6) unstable; urgency=high + + * When bootlogd gets an error writing to the real console, try + to re-open. If that fails, roll over and die (closes: #202382) + + -- Miquel van Smoorenburg Tue, 22 Jul 2003 12:43:07 +0200 + +sysvinit (2.85-5) unstable; urgency=low + + * Allow "init u" to fail in postinst without bailing out with an error + (closes: #197991, #198216, #198309, #198937) + * Revert changes to bootmisc wrt /etc/nologin, leave out the + /etc/nologin.boot stuff (which never worked anyway), /etc/nologin + is now always cleaned out on boot. + (closes: #198444, #184402, #199943, #199401) + * Block signals in syslog(), since syslog() is not re-entrant + (James Olin Oden , redhat bug #97534) + * Remove rc.boot manpage completely instead of installing it first + and then removing it in sysv-rc's postinst + * When unmounting all filesystems, do not unmount /proc, /dev and /sys + (closes: #198970, #184594, #173878, #200147, #198793) + * Umount network filesystems lazily (-l) (closes: #164503) + * Clarify initscript manpage (closes: #174058) + * Use /proc as reference to see if files in /var/lock and /var/run + are stale (closes: #198792). I should look at #120545 to + actually fix this right, I guess. + * Include bootlogd (closes: #151880, #15447, #132662) + * Move update-rc.d for initscripts to the initscrips packages' postinst + instead of doing it in the postinst of sysv-rc + + -- Miquel van Smoorenburg Mon, 21 Jul 2003 12:48:11 +0200 + +sysvinit (2.85-4) unstable; urgency=medium + + * Move default.rcS to /usr/share/initscripts, fix postinst (closes: #190921) + * Only clean /tmp if it is mode 777 (really in -3) (closes: #139870) + * Move initscripts and sysv-rc to binary-indep target (closes: #190801) + * Save fsck exit code in variable (closes: #189917,#194827,#197483) + * If /etc/motd is a symlink, follow it when + editting /etc/motd (closes: #150355) + * If /etc/nologin is a symlink, remove the destination file after + bootup instead of the link itself (closes: 191041) + * Don't remove /etc/mtab~ if /etc/mtab is a symbolic link + * Only start 'update' when running kernels < 2.4 + * Mount /proc before mounting other filesystems, umount all proc + filesystems at shutdown except /proc (closes: #140591,#197317) + * Add 'set -e' to postinst (closes: #148465) + * Don't umount devfs at shutdown time (closes: #156490) + * When cleaning /tmp, first remove old files then remove old + empty directories (closes: #193623) + * Don't remove /tmp/...security* (closes: #195760) + + -- Miquel van Smoorenburg Wed, 18 Jun 2003 16:08:09 +0200 + +sysvinit (2.85-3) unstable; urgency=high + + * Move sample inittab files to /usr/share/sysvinit (closes: #189761) + * Make sysv-rc point update-rc.d and invoke-rc.d to the dummy + /usr/share/sysvinit/update-rc.d script in the postrm script, so + that dpkg remains happy when installing file-rc or another package + to replace sysv-rc. + * Minor adjustements so that sysvinit compiles on the Hurd (closes: #43575) + * For now set Architecture: all on sysv-rc and initscripts + (closes: #190179, #190182) + * Add upstream source to copyright file (closes: #15183) + * Remove /etc/rc.boot from sysv-rc (closes: #113821) + + -- Miquel van Smoorenburg Wed, 23 Apr 2003 15:26:21 +0200 + +sysvinit (2.85-2) unstable; urgency=high + + * sysv-rc must not Depend: on sysvinit, otherwise sysvinit/sysv-rc + is not installable. + + -- Miquel van Smoorenburg Tue, 22 Apr 2003 12:40:54 +0200 + +sysvinit (2.85-1) unstable; urgency=low + + * Support for IPv6 in 'last'. + * Fix -i/-d options in last (closes: #171134) + * /dev/.devfsd: check only for existance, not for type (closes: #170852) + * Don't remove pump.sock from /var/run/utmp (closes: 167572) + * Get rid of /etc/ioctl.save, it's a legacy thing from Unices with + a serial console and no way to set reset the linespeed at boot. + With Linux we have console=tty0,speed as bootparameter anyway. + * Remove support for file-based runlevel signalling. All systems + use /dev/initctl by now (I hope, but we'll see). + * When cleaning /tmp, check atime and mtime as well (closes: #179006) + and do not remove aquota.user and aquota.group (closes: #175874) + * Only clean up /tmp at boot if it is world-writable. + * If fsck of the rootfs returns 2 or 3, reboot (closes: #170442,#167300) + * Sulogin: even if the root password is empty, ask for a password- + otherwise there is no way to set a timeout (closes: #180246) + * Split up sysvinit into sysvinit, sysv-rc and initscripts. + + -- Miquel van Smoorenburg Fri, 18 Apr 2003 21:26:53 +0200 + +sysvinit (2.84-3) unstable; urgency=low + + * Upload into unstable of 2.84-3 so 2.84-2woody1 can go into + woody-proposed-updates tomorrow or so. + + -- Miquel van Smoorenburg Tue, 28 May 2002 11:44:26 +0200 + +sysvinit (2.84-2woody1) woody-proposed-updates; urgency=high + + * On some systems, /proc didn't get mounted because there is junk + under the /proc mountpoint, makeing the system unuseable. Fixed + by an extra check. Also warns the user. (closes: #134316) + * Fix typos in README.runlevels (closes: #94745) + * Update /etc/init.d/skeleton to comply with policy (closes: #96711,#121947) + * On some systems "init" might show up as "ini" in "ps" output + due to a off-by-one error in maxproclen calculation (closes: #132870) + * Fix typo (SBM - SMB) in /etc/init.d/mountnfs.sh (closes: #139251) + * Fix typo in debian/rules that installed prerm as preinst, and + preinst not at all (closes: #148174) + * Up severity to "high" since any program with write access to + /var/run/utmp (group utmp) could trick the "shutdown" command into + corrupting random files (note that currently there are no known + exploits for setgroup-id-utmp programs). + + -- Miquel van Smoorenburg Mon, 27 May 2002 22:37:23 +0200 + +sysvinit (2.84-2) unstable; urgency=low + + * modernized inittab manpage. + * Don't shut down IDE drives on halt if RAID is active (closes: #127635) + * Add /etc/init.d/umountnfs.sh to conffiles (closes: #122190) + * Only mount /proc in checkroot.sh if it's not mounted yet. This + gives earlier scripts the possibility to mount /proc and just + leave it mounted. + * Set maxproclen correctly on re-exec. Make sure setproctitle() leaves + at least two zeroes at the end of the argv array. + * Don't put IDE drives into standby mode at halt time if RAID is still + active, since the RAID halt/reboot/poweroff codepath in the kernel + still needs to flush the RAID metadata to disk. (closes: #127635) + * Use 'dmesg -s 65536' when writing /var/log/dmesg (closes: #128568) + * Mount /proc only if not mounted yet, don't unmount (closes: #118977) + * Commented out kb line in sample inittab (closes: #130126) + * Update /etc/rcS.d/README (closes: #130225) + * Don't duplicate options when remounting rootfs (closes: #119381) + + -- Miquel van Smoorenburg Fri, 25 Jan 2002 14:02:17 +0100 + +sysvinit (2.84-1) unstable; urgency=high + + * Don't use /etc/initlvl interface for telinit; only use /dev/initctl, + and give a clear error when that fails (closes: #116829) + * Add -i/--init command line flag to init - this tells init + 'behave as system init even if you're not PID#1'. Useful for + testing in chroot/jail type environments. + * Use --print-installation-architecture in postinst instead of + --print-architecture. + + -- Miquel van Smoorenburg Tue, 27 Nov 2001 13:08:45 +0100 + +sysvinit (2.83-3) unstable; urgency=low + + * Don't disable write caching on IDE disks before unmounting file + systems, since that flag is kept over reboot. Instead the + halt program now has an extra -h switch that makes it send all + IDE drives a "standby" command that as a side effect flushes + the write-cache. That flag is used in /etc/init.d/halt + + -- Miquel van Smoorenburg Wed, 7 Nov 2001 16:11:28 +0100 + +sysvinit (2.83-2) unstable; urgency=high + + * Only disable write caching on disks, not on all IDE devices + such as CDROMs (closes: #115354,#115822,#117390) + * Mount verbose, except for proc (closes: #115362,#111481) + * Add comments about not using tty7 to default inittab (closes: #117618) + * Install inittab.$(arch) as default inittab in the installation + process, if it exists. Add inittab.s390 (closes: #113495) + * Appears that the 'shutdown to fast' bug is closed by + turning off the IDE write cache at shutdown (closes: #110804). + Only thing is that this should probably get in the kernel + somehow, as it's really a kernel bug. + + -- Miquel van Smoorenburg Thu, 1 Nov 2001 13:21:58 +0100 + +sysvinit (2.83-1) unstable; urgency=high + + * Upstream fix: race condiction in wait() [Andrea Arcangeli] + * shutdown.allow processing broke due to typo (closes: #111199) + * Call closelog() after openlog()/syslog() since recent libc's + keep the logging fd open and that is fd#0 aka stdin (closes: #111901) + * Typo in shutdown manpage fixed (closes: #112815) + * Don't remove .journal file during tmp cleanup (closes: #113564) + * Don't use '-v' flag to mount in mountall.sh (closes: 111481) + * Fix policy reference in README (closes: #97925) + * Treat 'ncpfs' as remote filesystem (closes: #94510) + * Don't do fsck -C if $TERM is unset or set to dumb|network|unknown. + Also don't do fsck -C if `uname -m` = s390 + * Turn off write-caching on all IDE disks prior to unmounting + filesystems. On some systems that poweroff on halt the system + powers off before the IDE disk write cache is flushed. You do + need to have hdparm installed to get this to work. + + -- Miquel van Smoorenburg Fri, 5 Oct 2001 14:37:42 +0200 + +sysvinit (2.82-1) unstable; urgency=low + + * New upstream version. + * Now prints out correct version at startup (closes: #109558,#108377) + * Versioned replaces (dpkg << 1.9.17) (closes: #109557) + * Mount all proc filesystems in fstab (closes: #108109) + * Fix spelling of initttab in init(8) (closes: #100659) + * Clarify "usage" message of update-rc.d (closes: #108391) + + -- Miquel van Smoorenburg Thu, 23 Aug 2001 17:50:03 +0200 + +sysvinit (2.81-1) unstable; urgency=low + + * New upstream version. + * 'pidof' now finds processes that do weird stuff with their + name in 'ps' listings (i.e. use setproctitle()) (closes: #67021) + + -- Miquel van Smoorenburg Tue, 31 Jul 2001 18:25:11 +0200 + +sysvinit (2.80-3) unstable; urgency=high + + * The diff that dpkg-source builds doesn't include empty directories + so we now create them in the debian/rules file. + * Make /etc/init.d/* executable (closes: #107018) + + -- Miquel van Smoorenburg Mon, 30 Jul 2001 16:15:29 +0200 + +sysvinit (2.80-2) unstable; urgency=high + + * Use install -m 755 instead of copy for the pre/post install/remove + scripts (closes: #106730) + + -- Miquel van Smoorenburg Thu, 26 Jul 2001 22:46:52 +0200 + +sysvinit (2.80-1) unstable; urgency=medium + + * New upstream version + * Don't prevent raid-rebuild from activating swap on 2.4 and up + (closes: #80446, #83118). + * Document IO redirection in wall manpage (closes: #79491) + * Use -x in skeleton file (closes: #67143) + * Update README (closes: #85650) + * Unmount tmpfs before turining off swap (closes: #84782) + * Fix check for passno in checkroot.sh (closes: #84035) + * Make sure scripts exit with code 0 if succesful (closes: #83410) + * Don't try to set hostname if /etc/hostname is not present (closes: #81711) + * Mount /proc early and keep it mounted (closes: #75936, #71433, #88352) + * Fix init.8 manpage (closes: #75268) + * Small fix to rc script (closes: #72859) + * Optimize /tmp cleaning (closes: #71176) + * Check for update before executing it in "single" script + (closes: #68983, #103144) + * Build package with SHELL=/bin/bash (closes: #68623) + * Fix typo in halt(8) manpage (closes: #67875) + * Check time argument of shutdown(8) for correctness (closes: #67825) + * Don't chown ptys on devfs system (closes: #88300) + * Check for stale sessions in last(1) (Chris Wolf ) + * Include invoke-rc.d (closes: #94140). Conflicts: file-rc (<= 0.5.7) + * Move random-seed to /var/lib/urandom (closes: #102216) + * Moved update-rc.d from dpkg to sysvinit + * Didn't include the UPS changes yet, that will come in a later + 2.80-xyz version -- needed to get 2.80 out of the door first. + + -- Miquel van Smoorenburg Thu, 26 Jul 2001 14:07:03 +0200 + +sysvinit (2.78-4) frozen unstable; urgency=high + + * In /etc/init.d/checkroot.sh, change 10>&0 into 9>&0, since + ash doesn't handle file descriptors > 9 + + -- Miquel van Smoorenburg Sun, 25 Jun 2000 14:03:04 +0200 + +sysvinit (2.78-3) frozen unstable; urgency=medium + + * Fix critical bug #61227: Kernel panic/filesystem corruption if + swapping started while software RAID resyncing. As this doesn't + matter on 99% of the installs out there it's up to the release + manager to decide whether to put this in potato or not (closes: #61227). + * Fix up /etc/init.d/README paths (closes: #58935,#58595) + * Don't check root filesystem if "pass" in /etc/fstab is 0 (closes: #65125) + * Unmount remote filesystems before network is shut down + (closes: #60898,#61907). This also was a release-critical bug. + * Changed "file systems" to "filesystems". + + -- Miquel van Smoorenburg Tue, 6 Jun 2000 11:08:24 +0200 + +sysvinit (2.78-2) frozen unstable; urgency=high + + * Change "booting" to "reloading" message at reload + * Don't create /etc/init.d/network if missing (closes: #56373) + * Treat SMB filesystems like NFS ones in mountall.sh and + mountnfs.sh (fixes: #55414) + * bootmisc.sh: do not remove files in /var/run that are newer + than /etc/mtab. This should preserve pid files created before + this script ran (closes: #49816) + * Add "-z xxx" dummy command line argument (closes: #54717) + + -- Miquel van Smoorenburg Fri, 11 Feb 2000 12:17:54 +0100 + +sysvinit (2.78-1) unstable; urgency=low + + * 2.78 will be the new upstream version, I'm skipping 2.77 + * Update /etc/init.d/rc (closes: #48764) + * Add -C argument to fck (closes: #47914, #53335) + * don't remove files in /var/run and /var/lock that are newer + than /etc/mtab (may fix the dhcpcd problems) + * Save kernel messages in /var/log/dmesg like RedHat does (closes: #47574) + * Shutdown now calls sync before switching the runlevel to 0 or 6, + or before unmounting filesystems if -n was used (closes: #46461) + * Call umount with -f option to force NFS umounts (closes: #45715) + * Fix TMPTIME documentation in rcS(5) (closes: #42570, #53224) + * Some cosmetic changes to init.c (closes: #32079) + * Move to /usr/share to comply with latest policy + + -- Miquel van Smoorenburg Thu, 30 Dec 1999 20:40:23 +0100 + +sysvinit (2.77-3) unstable; urgency=low + + * Remove hwclock.sh initialization and script itself (closes: #45164) + + -- Miquel van Smoorenburg Tue, 5 Oct 1999 21:52:02 +0200 + +sysvinit (2.77-2) unstable; urgency=low + + * Recompile against glibc 2.1 instead of 2.0 + * Fix compilation problems with glibc 2.1 + * Fix last -i option + + -- Miquel van Smoorenburg Tue, 5 Oct 1999 21:51:50 +0200 + +sysvinit (2.77-1) unstable; urgency=low + + * Write reboot record into utmp file as well to make rms happy + * Change GMT to UTC in /etc/default/rcS + * Change /var/run/utmp to mode 664 group utmp if utmp group exists + * Fork and dump core in / if SIGSEGV is received for debugging purposes + * Patch by Craig Sanders for "last" -i option + * Fixes: + #35429: sysvinit: bad comments in /etc/defaults/rcS + #37807: mountnfs.sh should start rpc.statd if available + #38384: sysvinit: Slight gramitical error in /etc/init.d/README + #41660: [Patch] bootmisc.sh: Change /var/run/utmp ownership to [...] + #41458: mountnfs.sh: should ignore noauto + #40923: sysvinit: /etc/ioctl.save a state file? + #42183: util-linux: hwclock.sh depends on UTC which is not defined + + -- Miquel van Smoorenburg Wed, 4 Aug 1999 11:16:23 +0200 + +sysvinit (2.76-4) unstable; urgency=low + + * Change dowall.c to handle Unix98 ptys correctly + * Add comment in rcS about usage of setup.sh and unconfigured.sh + * Shutdown now removes nologin file just before calling telinit + * SEGV handler now tries to continue after sleep of 30 seconds. + On a 386-class processor it also prints out the value of EIP. + * Fix for racecondition in check_init_fifo() by Richard Gooch + * Fixes: + #32698: sysvinit: checkroot.sh: should add devfs entry to mtab + #35689: wall/shutdown cannot handle Unix98 PTYs + #30392: sysvinit scripts are not executable + #32699: bootmisc.sh: should check for existence of /dev/tty[p-za-e][0-9a-f] + #34062: mountnfs.sh: ignore comments in fstab [patch] + #34780: sysvinit: ignores most options for rootfs + #35017: sysvinit: nologin after sungle user mode [sic] + #36209: init: segmentation violation (possibly kernel) + #36294: sysvinit: sulogin does not appear to recognize shadow passwords + #36705: README in init.d has section number off by 0.1 + #36849: sysvinit: shutdown doesn't send shutdown message to unix98 ptys + #36856: sysvinit: /etc/init.d/rc calls bash for no reason + #37265: sysvinit: devpts incompatibility? + #32698: sysvinit: checkroot.sh: should add devfs entry to mtab + #33954: sysvinit: [wishlist] bootmisc.sh: touch /var/run/utmpx + + -- Miquel van Smoorenburg Sat, 8 May 1999 17:22:57 +0200 + +sysvinit (2.76-3) frozen unstable; urgency=high + + * Small bugfix to last.c courtesy of Danek Duvall + * Recompile with latest libs, so dependency on libc6 (>= 2.0.7u) is gone. + * Fixes bugs: + #31601: sysvinit: Doesn't wipe new files from /tmp + #28132: checkroot.sh parsing of /etc/fstab is incorrect. + #29729: sysvinit: references wrong policy homepage + #27949: last: should use down instead of crash + + -- Miquel van Smoorenburg Tue, 12 Jan 1999 12:12:44 +0100 + +sysvinit (2.76-2) frozen unstable; urgency=high + + * Minor fix in debian/rules for dependency problem on the Alpha. + + -- Miquel van Smoorenburg Thu, 5 Nov 1998 10:54:28 +0100 + +sysvinit (2.76-1) frozen unstable; urgency=high + + * Fix bug in check_pipe() which crashes init on the Alpha. + * Re-upload since this should go into frozen too, ofcourse. + * Changed the version number to 2.76, even though it's a minor + upgrade. I want to release this version outside Debian too. + + -- Miquel van Smoorenburg Tue, 3 Nov 1998 11:09:13 +0100 + +sysvinit (2.75-4) unstable; urgency=low + + * Change sulogin password buffer to 128 characters. + * Don't print control characters in dowall.c + * Try to open getenv ("CONSOLE"), /dev/console and /dev/tty0 in order. + For backwards compatibility when you try to boot a 2.0.x kernel + with a linux > 2.1.70 /dev/console device. + * Change src/Makefile for non-debian systems (mainly, RedHat) + * Try to create /dev/initctl if not present; check every time to see + if the dev/ino of /dev/initctl has changed and re-open it. This should + help devfs a bit. + * Send SIGUSR1 to init at bootup to let it re-open /dev/initctl; + again in support of devfs. + * Rewrite of mountnfs.sh by Chris Ulrich + * Moved pidof to /bin (it's only a link to killall5 anyway) + * Fixes bugs: + #11895: pidof exists, is unreliable, and is not deprecated + #23943: `"$FSCKFIX" = yes' needed in "checkroot.sh", too + #24190: sysvinit: postinst and telinit u + #25531: sysvinit: README refers to the fatman website + #26115: sysvinit: There is no support for a read only root + #26179: sysvinit: pidof in /sbin ? why ? + #26281: sysvinit: Obsolete location for Policy Manual in /etc/init.d/README + #15739: libc6: strange interferention between sleep() and fork() + + -- Miquel van Smoorenburg Mon, 5 Oct 1998 14:03:14 +0200 + +sysvinit (2.75-3) frozen unstable; urgency=high + + * Source /etc/default/rcS in all scripts, otherwise file-rc is broken. + * Do not call update-rc.d for isapnp + * Fixes: + #23556: sysvinit tries to install isapnp + #23270: sysvinit: /etc/default/rcS: comment should indicate time units + #23191: /etc/default/rcS + #23651: sysvinit: sysvinit fails to clean stale X locks in /tmp + + -- Miquel van Smoorenburg Mon, 22 Jun 1998 14:48:53 +0200 + +sysvinit (2.75-2) frozen unstable; urgency=medium + + * Fix last.c again. + * Add check to see if /dev/initctl is really a FIFO + * In ifdown.c first down all shaper devices then the real devices + * Fixes bugs: + #22840: sysvinit (2.75-1): patch request for sparc + #22965: rcS is not sh independent + #22945: Problems with last ( bug in sysvinit package)? + #23005: sysvinit: [patch] install initreq.h for `genpowerd' patch. + + -- Miquel van Smoorenburg Tue, 2 Jun 1998 22:43:01 +0200 + +sysvinit (2.75-1) frozen unstable; urgency=low + + * Rewrote last.c to be much more memory friendly and correct, + thanks to Nick Andrew and + David Parrish + * Fixes bugs: + #21616: sysvinit: sulogin thinks md5 root password is bad + #21765: sysvinit: Typo in `killall5.c' + #21775: sysvinit: sysvinit does not support MD5 hashed passwords + #21990: /usr/bin/last: unnecessary memset and off-by-one bug + #22023: sysvinit: nfs isn't mounted + #22084: sysvinit 2.74-4: SIGPWR missing on sparc + #21900: init, powerfail events, and shutdown.allow + #21702: init 0 does not work as expected... + #21728: sysvinit: Typo in `init.c' + #22363: sysvinit: discrepance btw. manpage and /sbin/init + #22579: power-off on halt + + -- Miquel van Smoorenburg Tue, 19 May 1998 11:02:29 +0200 + +sysvinit (2.74-4) frozen unstable; urgency=medium + + * Add -o option to last to process libc5 utmp files. + * Buffer overflow fixed in init.c (not very serious; only exploitable + by root). Thanks to Chris Evans + * Fixes: + #20147: filesystems not unmounted on reboot + #20702: sysvinit: example inittab is broken + #20957: errors mounting remote filesystems + #20063: fsck is _always_ called with -y option + + -- Miquel van Smoorenburg Wed, 15 Apr 1998 17:04:33 +0200 + +sysvinit (2.74-3) frozen unstable; urgency=high + + * Install hwclock.sh (was missing!) + + -- Miquel van Smoorenburg Thu, 19 Mar 1998 20:15:06 +0100 + +sysvinit (2.74-2) frozen unstable; urgency=high + + * Fix problem with removing kbd startup file + * Fixes bugs; + #19711: sysvinit: postinst uses /tmp/*.$$ + #14785: sysvinit: non executable scripts from examples + #17004: suggestion for raidtools + + -- Miquel van Smoorenburg Mon, 16 Mar 1998 12:56:10 +0100 + +sysvinit (2.74-1) unstable; urgency=low + + * Should compile with glibc 1.99 :) + * Now confirms to policy manual 2.4.0.0 + * Change behaviour of reboot(1) and halt(1) so that the default when + the runlevel can't be determined is to call shutdown. + * Updated README and skeleton + * Depends on new dpkg for the new update-rc.d + * Added re-exec patch from Al Viro (21 Feb 1998): + 'U' flag added to telinit. It forces init to re-exec itself + (passing its state through exec, certainly). + May be useful for smoother (heh) upgrades. + 24 Feb 1998, AV: + did_boot made global and added to state - thanks, Miquel. + Yet another file descriptors leak - close state pipe if + re_exec fails. + * Now no longer contains mdutils.sh and conflicts with older mdutils + * /etc/rc.S/*.sh scripts that use set -e or exit no longer stop + the whole boot process. + * Fixes: + #16082: sysvinit: filesystems do not get unmounted properly on shutdown + #16977: sysvinit: libc6 twice into Pre-Depends + #17012: sysvinit: minor typo in install + #17084: /etc/rcS does not use a start arg + #17276: sysvinit: SIGUSR1 causes init to eat CPU + #18541: sysvinit: ^C aborts entire rcS script + + -- Miquel van Smoorenburg Thu, 12 Mar 1998 17:42:46 +0100 + +sysvinit (2.73-2) unstable; urgency=low + + * Change _NSIG to NSIG for 2.1.x kernel includes. + * Hopefully fixes bug 16082, but we'll see.. + * Fixes bugs: + #16622 sysvinit: should not depend on kbd + #16807: /etc/init.d/mdutils.sh is started at bootup _and_ halt/reboot. + + -- Miquel van Smoorenburg Thu, 8 Jan 1998 16:01:02 +0100 + +sysvinit (2.73-1) unstable; urgency=low + + * Use siginterrupt, now that system calls are restarted by default. + Main symptom was that the sulogin timeout didn't work but there + might have been more hidden problems. + * Kill process immidiately if turned off in inittab + * Fixed sulogin check on tty arg. + * Use strerror() instead of sys_errlist + * Chop up the reboot and halt scripts into seperate scripts. I had to + take some liberties so they are called with the argument "stop" even + though the scripts are Sxx scripts .. (start scripts in runlevel 0&6 + seem non-intuitive anyway) + * wall now supports a '-n' option to suppress [most of] the banner. + Debian doesn't use sysvinit's wall, but apparently Redhat does. + * Add '-F' (forcefsck) option to shutdown + * Depends on kbd_0.95-2 (or higher) package for /etc/rcS.d stuff. + * Close and reopen /dev/initctl on SIGUSR1 (mainly for a /dev in ram) + * Add FSCKFIX option to /etc/default/rcS + * Wrote rcS.5 manpage describing /etc/default/rcS + * Fixes bugs: + #13435: Could shutdown provide a way to force fsck? + #14108: sysvinit: sulogin's timeout does not work anymore + #14179: sysvinit: /etc/init.d/(halt|reboot) need to call mdstop + #14357: sysvinit: typo errors into script shells + #15010: shutdown is too fast + #15405: sysvinit: changelog uncompressed + #15751: "sulogin -t " does not time out + #15758: Outdated reference in README + + -- Miquel van Smoorenburg Sat, 3 Jan 1998 16:32:39 +0100 + +sysvinit (2.72-3) unstable; urgency=low + + * Remove perl check from preinst + * Add extra fork() in dowall.c to avoid hanging in rare cases + * Conflict with file-rc (<= 0.4.1) + * The 2.72 series fix the following bugs: + #9819: sysvinit: Typo in `pidof` manual + #9820: sysvinit: Incorrect filenames in `shutdown` manual + #9821: sysvinit: `init` manual gives incorrect information + #9822: sysvinit: `inittab` manual + #10045: sysvinit: error message "no more processes..." + #10276: sysvinit has uncompressed manpages. + #11728: libc6 + #11879: sysvinit: file in /tmp security hole + #12172: Sysvinit: Contains powerd manpage but not powerd + #12465: Trivial typos in killall5 man page + #12631: sysvinit: unchecked prompting in postinst + #13290: clock is now hwclock + #13300: patch to init.d/boot for compressed keymaps + #13344: sysvinit: command 'clock' not found + #13789: sysvinit: /etc/init.d/boot calls "clock", should call "hwclock" + #13830: sysvinit: Upgrading to new sysvinit left system unusable + #13838: sysvinit: gratuitous use of perl + + -- Miquel van Smoorenburg Wed, 22 Oct 1997 14:44:00 +0200 + +sysvinit (2.72-2) unstable; urgency=high + + * Don't use perl in postinst. Use more flexible regexp to match the + sysinit line. + * Remove /etc/default/boot from package + * Fix settime.sh for hwclock + + -- Miquel van Smoorenburg Tue, 14 Oct 1997 12:40:23 +0200 + +sysvinit (2.72) unstable; urgency=low + + * Applied manual page patches by Bill Hawes . Thanks Bill! + * Applied patches to the sample Slackware scripts by + "Jonathan I. Kamens" + * Fix halt and reboot runlevels 0 & 6 check. + * Only say "no more processes left in runlevel x" once + * Fix race condition with SIGCHLD in spawn() + (thanks to Alon Ziv ) + * Compress all manpages (missed 2) + * Compiled for libc6 + * Split up /etc/init.d/boot into seperate files in /etc/rcS.d + * Remove powerd.8 from debian package + * Fix /etc/init.d/settime.sh to look for hwclock first + * Added poweroff patch by Roderich Schupp + + -- Miquel van Smoorenburg Sun, 12 Oct 1997 17:20:17 +0200 + +sysvinit (2.71-2) frozen unstable; urgency=low + + * Print 2.71 instead of 2.70 on startup :) + * Fix /etc/init.d/skeleton for new console messages standard. + + -- Miquel van Smoorenburg Mon, 5 May 1997 12:45:25 +0200 + +sysvinit (2.71-1) frozen unstable; urgency=high + + * Added code for updwtmp() in utmp.c for glibc (2.0.3) + * Fixed all programs to use functions from utmp.c and getutent() + * Do not try to clean up utmp in init itself (Bug#9022) + * Removed sync() from main loop. + * Fix bug #8739 (/fastboot) + * Hopefully fixes bug #8657 (shutdown signal handling) + * Mount /proc before modules are loaded + * Check on both /etc/init.d/modules and modutils (Bug#9058, #8398) + * Fix PATH order (Bug#8087) + * Fix console messages (Bug#8899) + + -- Miquel van Smoorenburg Sat, 26 Apr 1997 19:57:27 +0200 + +sysvinit (2.70-1) unstable; urgency=low + + * small fix for postinst (Bug#5866) + * Respawn fix + * Removed StUdLy CaPs from source code + * Moved files in source archive around + * Moved mdadd in "boot" script to get called after module loading + * Fixes for glibc (utmp handling, signal handling). + * Fixed '-d' option to last (now also works without '-a'). + * Added extra checking in last.c to prevent showing dead entries + + -- Miquel van Smoorenburg Fri, 7 Feb 1997 15:31:30 +0100 + +sysvinit (2.69-1) frozen unstable; urgency=medium + + * Fixed bug that can throw X in a loop (or any other app that reads from + /dev/tty0) + * Moved inittab to /usr/doc/sysvinit/examples so that it is no longer + a config file. + + -- Miquel van Smoorenburg Sun, 1 Dec 1996 15:32:24 +0100 + +sysvinit (2.68-1) frozen unstable; urgency=high + + * Added dummy fsck.nfs [temporary] (Bug#5492) + * Changing /etc/motd optional (Bug#5493) + * Typo in /etc/init.d/urandom fixed (Bug#5556) + + -- Miquel van Smoorenburg Wed, 27 Nov 1996 17:30:36 +0100 + +sysvinit (2.67-1) frozen unstable; urgency=high + + * Fixes problem with /dev/console being controlling terminal of some + daemons + * Some fixes in debian bootup script "boot" + * Puts copyright file in the right place + * Move random-seed stuff to its own file + * Fix skeleton file (add set -e) + * Change preinst/postinst scripts to save all variables from "boot" file + * moved /etc/init.d/network to /usr/doc/examples/sysvinit + * Changed "rc" script slightly (potential recipy for disaster..) + * Various other fixes to close all outstanding bug reports. + + -- Miquel van Smoorenburg Fri, 15 Nov 1996 12:23:33 +0100 + +sysvinit (2.66-1) unstable; urgency=medium + + * Skipped 2.65. A development 2.65 got out by accident and is apparently + being used.. + * New source format + * Also compiles and runs with GNU libc (and on the Alpha) + * Fixed dowall.c not to exit when getpwuid() fails and uid == 0. + * Fixed init panic'ing on empty lines in /etc/inittab + * Changed default PATH to include /usr/local/sbin + * Set /dev/console as controlling terminal for sysinit,bootwait,wait,powerwait + This allows using ^C to interrupt some parts of eg the boot process. + * Remove old symlink in /var/log/initlvl; let init check both + /var/log and /etc itself. + + -- Miquel van Smoorenburg Tue, 29 Oct 1996 13:46:54 +0100 + --- sysvinit-2.88dsf.orig/debian/sysv-rc.lintian-overrides +++ sysvinit-2.88dsf/debian/sysv-rc.lintian-overrides @@ -0,0 +1,41 @@ +sysv-rc: package-installs-into-etc-rc.d etc/rcS.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc0.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc1.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc2.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc3.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc4.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc5.d/README +sysv-rc: package-installs-into-etc-rc.d etc/rc6.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rcS.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc0.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc1.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc2.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc3.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc4.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc5.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/rc6.d/README +sysv-rc: file-in-etc-not-marked-as-conffile /etc/init.d/README +sysv-rc: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/README +sysv-rc: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/rc +sysv-rc: script-in-etc-init.d-not-registered-via-update-rc.d /etc/init.d/rcS +sysv-rc: non-standard-file-permissions-for-etc-init.d-script etc/init.d/README 0644 != 0755 +sysv-rc: postrm-contains-additional-updaterc.d-calls /etc/init.d//usr/sbin/update-rc.d +sysv-rc: postrm-contains-additional-updaterc.d-calls /etc/init.d//usr/sbin/invoke-rc.d +sysv-rc: file-in-etc-not-marked-as-conffile /etc/init.d/rc +sysv-rc: init.d-script-missing-lsb-section /etc/init.d/rc +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rc start +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rc stop +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rc restart +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rc force-reload +sysv-rc: file-in-etc-not-marked-as-conffile /etc/init.d/rcS +sysv-rc: init.d-script-missing-lsb-section /etc/init.d/rcS +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rcS start +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rcS stop +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rcS restart +sysv-rc: init.d-script-does-not-implement-required-option /etc/init.d/rcS force-reload +sysv-rc: no-upstream-changelog +sysv-rc: no-debconf-config +sysv-rc: postinst-uses-db-input +sysv-rc: prerm-calls-updaterc.d information +sysv-rc: prerm-calls-updaterc.d call +sysv-rc: prerm-calls-updaterc.d call. --- sysvinit-2.88dsf.orig/debian/copyright.in +++ sysvinit-2.88dsf/debian/copyright.in @@ -0,0 +1,41 @@ +This is the Debian GNU/Linux prepackaged version of System V Init. + +Init was written by Miquel van Smoorenburg . + +This package was first put together by Bruce Perens +from pre-distribution sources. Ian Murdock +integrated it into the base system maintained it until the end of 1995. +Miquel van Smoorenburg implemented Debian support. +In version 2.85 the package was split into three (sysvinit, sysv-rc, +and initscripts) in order to make room for alternative rc mechanisms. + +The upstream source is available at: + +Primary-Site: ftp.cistron.nl /pub/people/miquels/software + 92K sysvinit-2.86.tar.gz +Alternate-Site: sunsite.unc.edu /pub/Linux/system/daemons/init + 92K sysvinit-2.86.tar.gz + +The sysvinit package in Debian is maintained as an alioth project. +The project page is http://alioth.debian.org/projects/pkg-sysvinit/. + +Copyright 1997-2005 Miquel van Smoorenburg and +the members pkg-sysvinit project. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. --- sysvinit-2.88dsf.orig/debian/control +++ sysvinit-2.88dsf/debian/control @@ -0,0 +1,48 @@ +Source: sysvinit +Section: admin +Priority: required +Maintainer: Ubuntu Core Developers +XSBC-Original-Maintainer: Debian sysvinit maintainers +Uploaders: Petter Reinholdtsen , Henrique de Moraes Holschuh , Kel Modderman +Build-Depends: debhelper (>= 7), po-debconf, quilt (>= 0.40), libselinux1-dev (>= 1.14) [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64], libsepol1-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64] +Standards-Version: 3.9.1 +Homepage: http://savannah.nongnu.org/projects/sysvinit +Vcs-Svn: svn://svn.debian.org/pkg-sysvinit/sysvinit/trunk +Vcs-Browser: http://svn.debian.org/wsvn/pkg-sysvinit/sysvinit/trunk/ + +Package: sysvinit-utils +Architecture: any +Conflicts: last, sysvconfig, chkconfig (<< 11.0-79.1-2) +Replaces: last, sysvinit (<= 2.86.ds1-65) +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: upstart (>= 0.6.3-4) +Suggests: sash +Description: System-V-like utilities + This package contains the important System-V-like utilities. + . + Specifically, this package includes: + killall5, last, lastb, mesg, pidof, service, sulogin + +Package: sysv-rc +Architecture: all +Recommends: lsb-base (>= 3.2-14) +Conflicts: file-rc +Replaces: file-rc +Suggests: sysv-rc-conf, bum +Depends: ${misc:Depends}, sysvinit-utils (>= 2.86.ds1-62), insserv (>> 1.12.0-10) +Breaks: initscripts (<< 2.86.ds1-63) +Description: System-V-like runlevel change mechanism + This package provides support for the System-V like system + for booting, changing runlevels, and shutting down, + configured through symbolic links in /etc/rc?.d/. + +Package: initscripts +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${mount:Depends}, debianutils (>= 4), lsb-base (>= 3.2-14), sysvinit-utils (>= 2.86.ds1-64), sysv-rc | file-rc, coreutils (>= 5.93), passwd, upstart, mountall (>= 2.28) +Recommends: psmisc, e2fsprogs +Conflicts: libdevmapper1.02.1 (<< 2:1.02.24-1) +Replaces: libc6, libc6.1, libc0.1, libc0.3 +Breaks: selinux-policy-default (<= 2:0.2.20100524-9), hostname (<< 2.95ubuntu1~boot2), upstart (<< 0.6.3-2~boot4), rsyslog (<< 4.2.0-2ubuntu3~boot1), udev (<< 146-2~boot6) +Description: scripts for initializing and shutting down the system + The scripts in this package initialize a standard Debian + system at boot time and shut it down at halt or reboot time. --- sysvinit-2.88dsf.orig/debian/sysv-rc.postinst +++ sysvinit-2.88dsf/debian/sysv-rc.postinst @@ -0,0 +1,218 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule +db_version 2.0 + +now=`date +%Y%m%dT%H%M` +logdir=/var/lib/insserv +logfile="$logdir/run-$now.log" +flagfile=/etc/init.d/.legacy-bootordering + +# Make sure insserv is in path +PATH=/sbin:$PATH + +# Based on code from dash postinst +check_divert() { + package=insserv + div=$(dpkg-divert --list $2) + distrib=${4:-$2.distrib} + case "$1" in + false) + if [ -n "$div" ] && [ -z "${div%%*by $package}" ]; then + mv $distrib $2 + dpkg-divert --package $package --remove $2 + fi + ;; + status) # Return true if the divert is in effect + if [ -n "$div" ] && [ -z "${div%%*by $package}" ]; then + : + else + false + fi + esac +} + + +convert_rc_s_to_k() { + runlevel=$1 + for link in $(cd $target/etc/rc$runlevel.d; ls S* || true); do + set `echo $link|sed "s%S\(..\)\(.*\)%\1 \2%"` + seq=$1 + service=$2 + mv $target/etc/rc$runlevel.d/$link $target/etc/rc$runlevel.d/K$seq$service + done +} + +add_problematic() { + msg="$1" + if [ -z "$PROBLEMATIC" ] ; then + PROBLEMATIC="$msg" + else + PROBLEMATIC="$PROBLEMATIC, $msg" + fi +} + +is_unsafe_to_activate() { + retval=1 + # Refuse to convert when there are obsolete init.d scripts left + # behind, as these tend to confuse the boot sequence. + echo "info: Checking if it is safe to convert to dependency based boot." 1>&2 + for package in $(dpkg -S $(find /etc/init.d -type f -perm /+x) \ + 2>/dev/null | cut -d: -f1 | sort -u); do + obsolete_initscripts=$(dpkg-query -W -f='${Conffiles}\n' $package | \ + grep 'obsolete$' | grep -o '/etc/init.d/[^ ]\+') || : + if [ "$obsolete_initscripts" ]; then + for initscript in $obsolete_initscripts; do + if [ -e "$initscript" ]; then + retval=0 + add_problematic "package $package left obsolete init.d script behind" + fi + done + fi + done + + # Refuse to migrate if insserv find problems, like loops, + # duplicate provides, script providing system facility or missing + # header completely. + insserv -nv > $logfile 2>&1 || true + errstr='There is a loop between|loop involving service|already provided!|provides system facility|missing LSB tags' + if egrep -q "$errstr" $logfile ; then + msg=$(egrep "$errstr" $logfile | sed 's/$/, /' | tr "\n" " ") + retval=0 + add_problematic "$msg" + + # If insserv found problems, report removed but not purged + # packages, as their dependency information is probably + # outdated or missing, leading to incorrect ordering. + for package in $(dpkg -l $(dpkg -S /etc/init.d/* 2>/dev/null | + cut -d: -f1 |sort -u)|grep ^rc|awk '{print $2}') ; do + retval=0 + add_problematic "package $package removed but not purged" + done + fi + rm $logfile + return $retval +} + +activate_insserv() { + # Save the current sequence numbers in + # /var/lib/update-rc.d/. This directory will be updated + # when update-rc.d is called, to make it possible to migrate away + # from dependency based boot sequencing. If some script is + # missing in /var/lib/update-rc.d/, one will have to + # reconfigure the package it belong to for update-rc.d to update + # the content in /var/lib/update-rc.d/. + /usr/share/sysv-rc/saveconfig -s /var/lib/update-rc.d + + echo "info: Reordering boot system, log to $logfile" 1>&2 + ( + echo "info: Converting rc0.d/S* and rc6.d/S* to K*." 1>&2 + convert_rc_s_to_k 0 + convert_rc_s_to_k 6 + echo "info: running insserv" 1>&2 + insserv -v + ) > $logfile 2>&1 + + # Indicate that system is no longer using the legacy ordering + rm $flagfile + + return 0 +} + +try_to_convert() { + PROBLEMATIC="" + if is_unsafe_to_activate ; then + # Make sure the note is seen every time + db_fset sysv-rc/unable-to-convert seen false + db_subst sysv-rc/unable-to-convert PROBLEMATIC "$PROBLEMATIC" + db_input critical sysv-rc/unable-to-convert || [ $? -eq 30 ] + db_go || true + return 1 + else + # Ask if the legacy boot sequence should be converted to + # dependency based. + + # Priority is critical during upgrades, to give those with + # existing installations a good chance of seeing and rejecting + # the migration. + db_input critical sysv-rc/convert-legacy || [ $? -eq 30 ] + + db_go + db_get sysv-rc/convert-legacy || true + if [ true = "$RET" ] ; then + if activate_insserv ; then + echo "success: Enabled dependency based boot system." 1>&2 + else + echo "error: Something failed while migrating." 1>&2 + fi + else + echo "warning: Asked to not convert legacy boot sequence to dependency based boot sequencing." 1>&2 + fi + fi +} + +case "$1" in + configure) + # Remove divert created by insserv during upgrades if it + # exist. It was dropped in insserv 1.12.0-11 converted since + # sysvinit 2.87dsf-3, 2009-08-19. + if [ -f /var/run/sysv-rc.upgrade ]; then + lastver=$(cat /var/run/sysv-rc.upgrade) + if dpkg --compare-versions "$2" lt 2.87dsf-3 ; then + if check_divert status /usr/sbin/update-rc.d \ + /usr/sbin/update-rc.d-insserv ; then + check_divert false /usr/sbin/update-rc.d \ + /usr/sbin/update-rc.d-insserv + rm /var/lib/insserv/using-insserv + else + touch $flagfile + fi + fi + rm /var/run/sysv-rc.upgrade + fi + + # Detect migrations away from file-rc, where the legacy boot + # ordering is used but the flag file to indicated legacy boot + # ordering is missing. Can not do this in preinst, as preinst + # might be executed before the postinst of file-rc creatingthe + # files in /etc/rc?.d/. + for f in /etc/rc0.d/S* ; do + if [ ! -f $flagfile ] && [ -f $f ] ; then + touch $flagfile + break + fi + done + + if [ -f $flagfile ] && [ -n "$USEINSSERV" ]; then + # Still using legacy ordering, try to convert + if try_to_convert ; then + : + else + cat 1>&2 </dev/null || true) + if [ "$removedfiles" ] ; then + rm $removedfiles + fi + fi + ;; + *) + ;; +esac + +db_stop + +#DEBHELPER# --- sysvinit-2.88dsf.orig/debian/sysvinit-utils.links +++ sysvinit-2.88dsf/debian/sysvinit-utils.links @@ -0,0 +1,2 @@ +sbin/killall5 bin/pidof +usr/bin/last usr/bin/lastb --- sysvinit-2.88dsf.orig/debian/initscripts.copyright +++ sysvinit-2.88dsf/debian/initscripts.copyright @@ -0,0 +1,31 @@ +This package contains the scripts that are executed at start and +shutdown of Debian systems. + +This package is built from the `sysvinit' source package. Please +consult the copyright file of the sysvinit package for the location of +the upstream sources of the sysvinit package. Debian-specific files +for sysvinit, such as these initscripts, are maintained by the members +of the pkg-sysvinit project at alioth.debian.org. + + http://alioth.debian.org/projects/pkg-sysvinit + +Copyright 1997-2005 Miquel van Smoorenburg and +the members pkg-sysvinit project. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. --- sysvinit-2.88dsf.orig/debian/rules +++ sysvinit-2.88dsf/debian/rules @@ -0,0 +1,151 @@ +#! /usr/bin/make -f +# +# debian/rules file for sysvinit +# + +# Uncomment this to turn on verbose mode. +# export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +tmp = $(shell pwd)/debian/tmp +sysvtmp = $(shell pwd)/debian/sysvinit +utiltmp = $(shell pwd)/debian/sysvinit-utils +rctmp = $(shell pwd)/debian/sysv-rc +inittmp = $(shell pwd)/debian/initscripts +doc = /usr/share/doc + +LC_ALL = POSIX + +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +INSTALL_DATA = install -o root -g root -m 644 +INSTALL = install -o root -g root -m 755 + +# Handle cross builds +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) +CROSS=CC=$(DEB_HOST_GNU_TYPE)-gcc +# CROSS is passed to make, CC is called directly. +CC=$(DEB_HOST_GNU_TYPE)-gcc +endif + +# Set arch specific build flags +ifeq ($(DEB_HOST_ARCH_OS),linux) +CONFFLAGS = WITH_SELINUX="yes" +endif + +PATCH_STAMP=debian/stamp-patched +patch: $(PATCH_STAMP) +$(PATCH_STAMP): + dh_testdir debian/patches/series \ + debian/startpar/patches/series + QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null push -a || test $$? = 2 + cd debian/startpar && \ + QUILT_PATCHES=patches quilt --quiltrc /dev/null push -a || test $$? = 2 + touch $(PATCH_STAMP) + +unpatch: + QUILT_PATCHES=debian/patches quilt --quiltrc /dev/null pop -a -R || test $$? = 2 + cd debian/startpar && \ + QUILT_PATCHES=patches quilt --quiltrc /dev/null pop -a -R || test $$? = 2 + rm -rf .pc debian/startpar/.pc $(PATCH_STAMP) + +build: build-stamp +build-stamp: patch +# Builds the binary package. + dh_testdir + $(MAKE) $(CROSS) $(CONFFLAGS) -C src DISTRO=Debian LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) + $(MAKE) $(CROSS) -C debian/startpar + touch $@ + +# Make a binary package (.deb file) +binary-arch: DH_OPTIONS=-a +binary-arch: build + dh_testroot + dh_prep + dh_installdirs + $(MAKE) -C src $(CROSS) ROOT=$(tmp) DISTRO=Debian install + dh_install + dh_link + # Used by sysvinit and sysvinit-utils + cat debian/copyright.in COPYRIGHT > debian/copyright + # + # sysvinit-utils package + # + $(MAKE) $(CROSS) -C debian/startpar DESTDIR=$(utiltmp) install + ln -sf /usr/sbin/service $(utiltmp)/usr/bin + dh_installchangelogs -psysvinit-utils doc/Changelog + sed -i -ne '/sysvinit (2.86.ds1-47)/q' -e p \ + $(inittmp)$(doc)/initscripts/changelog.Debian + # + # initscripts package + # + $(MAKE) -C debian/src/initscripts install DESTDIR=$(inittmp) +ifneq (,$(findstring $(DEB_HOST_ARCH_OS),linux kfreebsd)) + $(INSTALL) -d $(inittmp)/sys +endif + rm -rf $(inittmp)/lib/init/rw + ln -s /run $(inittmp)/lib/init/rw + dh_installchangelogs -pinitscripts + sed -i -ne '/sysvinit (2.86.ds1-47)/q' -e p \ + $(inittmp)$(doc)/initscripts/changelog.Debian + dh_installdeb -pinitscripts + # Override autogenerated conffiles + $(INSTALL_DATA) debian/initscripts.conffiles \ + $(inittmp)/DEBIAN/conffiles + sh debian/deps-mount >> debian/initscripts.substvars + + # Wrap it all up + dh_fixperms -X/etc/init.d/skeleton + dh_installman + dh_installdocs + dh_lintian + dh_shlibdeps + dh_strip + dh_compress + dh_gencontrol + dh_md5sums + dh_builddeb + +# Architecture independant files. +binary-indep: DH_OPTIONS=-i +binary-indep: + # + # sysv-rc package + # + dh_testroot + dh_prep + $(MAKE) -C debian/src/sysv-rc install DESTDIR=$(rctmp) + dh_installchangelogs + sed -i -ne '/sysvinit (2.86.ds1-47)/q' -e p \ + $(rctmp)$(doc)/sysv-rc/changelog.Debian + dh_installdeb + # Neither rc, rcS nor README are conffiles + $(RM) $(rctmp)/DEBIAN/conffiles + + # Wrap it all up + dh_fixperms -X/etc/init.d/README + dh_installdebconf + dh_installdocs + dh_installman + dh_lintian + dh_compress + dh_gencontrol + dh_md5sums + dh_builddeb + +clean: + dh_testdir + $(MAKE) -C src clobber + $(MAKE) -C debian/startpar clean + $(MAKE) -f debian/rules unpatch + dh_clean build-stamp debian/copyright + +binary: binary-arch binary-indep + +.PHONY: binary binary-arch binary-indep clean --- sysvinit-2.88dsf.orig/debian/initscripts.preinst +++ sysvinit-2.88dsf/debian/initscripts.preinst @@ -0,0 +1,108 @@ +#! /bin/sh +# +# initscripts preinst +# + +set -e + +# Remove a no-longer used conffile +# +# $1: conffile +# +# If the argument was not listed as a conffile, silently do nothing. +# Adapted from code obtained from http://wiki.debian.org/DpkgConffileHandling +eliminate_conffile() { + PKGNAME="initscripts" + CONFFILE="$1" + + if [ -e "$CONFFILE" ]; then + CURRENT_MD5SUM="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" + FACTORY_MD5SUM="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e \"\\\\' $CONFFILE'{s/ obsolete$//;s/.* //p}\"`" + if [ "$CURRENT_MD5SUM" != "$FACTORY_MD5SUM" ]; then + echo "Obsolete conffile $CONFFILE has been modified by you." + echo "Saving as $CONFFILE.dpkg-old ..." + mv -f "$CONFFILE" "$CONFFILE".dpkg-old + else + echo "Removing unmodified and obsolete conffile $CONFFILE ..." + rm -f "$CONFFILE" + fi + fi +} + +# Compares a file to the "factory md5sum", and if it matches, removes it. +# This is useful for when converting from to a conffile *and* changing +# its contents at the same time. +convert_to_conffile() { + CONFFILE="$1" + FACTORY_MD5SUM="$2" + + if [ -e "$CONFFILE" ]; then + CURRENT_MD5SUM="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`" + if [ "$CURRENT_MD5SUM" = "$FACTORY_MD5SUM" ]; then + rm -f "$CONFFILE" + fi + fi +} + + +case "$1" in + install|upgrade) + # + # /etc/init.d/stop-bootlogd used to be a symlink to bootlogd; + # now it is a separate script. We need to remove the symlink here, + # before dpkg installs the /etc/init.d/stop-bootlogd file. + # + [ -L /etc/init.d/stop-bootlogd ] && rm -f /etc/init.d/stop-bootlogd + # + # Remove obsolete conffiles + # + if [ "$2" ] && dpkg --compare-versions "$2" lt "2.86.ds1-10" ; then + eliminate_conffile "/etc/init.d/bootclean.sh" + fi + # + # The /etc/init.d/bootclean script fragment was moved to + # /lib/init/ in version 2.86.ds1-39 + # + if [ "$2" ] && dpkg --compare-versions "$2" lt "2.86.ds1-54" ; then + eliminate_conffile "/etc/init.d/bootclean" + fi + # + # Removed as we switched to Upstart + # + if [ "$2" ] && dpkg --compare-versions "$2" lt "2.87dsf-4ubuntu6"; then + eliminate_conffile "/etc/network/if-up.d/mountnfs" + eliminate_conffile "/etc/init.d/bootlogs" + eliminate_conffile "/etc/init.d/checkfs.sh" + eliminate_conffile "/etc/init.d/checkroot.sh" + eliminate_conffile "/etc/init.d/mountkernfs.sh" + eliminate_conffile "/etc/init.d/hostname.sh" + eliminate_conffile "/etc/init.d/bootmisc.sh" + eliminate_conffile "/etc/init.d/mountall.sh" + eliminate_conffile "/etc/init.d/mountdevsubfs.sh" + eliminate_conffile "/etc/init.d/rmnologin" + eliminate_conffile "/etc/init.d/mtab.sh" + eliminate_conffile "/etc/init.d/mountoverflowtmp" + eliminate_conffile "/etc/init.d/mountnfs.sh" + eliminate_conffile "/etc/init.d/mountnfs-bootclean.sh" + eliminate_conffile "/etc/init.d/mountall-bootclean.sh" + fi + # + # A final straggler from the upstart conversion + # + if [ "$2" ] && dpkg --compare-versions "$2" lt 2.88dsf-13.10ubuntu1 + then + eliminate_conffile "/etc/default/tmpfs" + fi + # + # Move conflicting log _file_ if present + # + [ -f /var/log/fsck ] && mv -f /var/log/fsck /var/log/fsck.dpkg-old + ;; + abort-upgrade) + exit 0 + ;; +esac + +#DEBHELPER# + +: --- sysvinit-2.88dsf.orig/debian/sysvinit.lintian-overrides +++ sysvinit-2.88dsf/debian/sysvinit.lintian-overrides @@ -0,0 +1 @@ +sysvinit: depends-on-essential-package-without-using-version pre-depends: sysvinit-utils --- sysvinit-2.88dsf.orig/debian/fscklog.sh +++ sysvinit-2.88dsf/debian/fscklog.sh @@ -0,0 +1,18 @@ +#!/bin/sh +# fscklog.sh See if we need to rotate the fsck logs +# + +MAXSIZE=51200 +NUMFILES=5 +export BOOTLOGFILE=/var/log/fsck/boot.log +export ROOTLOGFILE=/var/log/fsck/root.log + +if [ -f "$BOOTLOGFILE" ] && [ "$(stat -c %s $BOOTLOGFILE)" -gt "$MAXSIZE" ] +then + savelog -g adm -m 640 -u root -c $NUMFILES $BOOTLOGFILE +fi + +if [ -f "$ROOTLOGFILE" ] && [ "$(stat -c %s $ROOTLOGFILE)" -gt "$MAXSIZE" ] +then + savelog -g adm -m 640 -u root -c $NUMFILES $ROOTLOGFILE +fi --- sysvinit-2.88dsf.orig/debian/sysvinit.NEWS +++ sysvinit-2.88dsf/debian/sysvinit.NEWS @@ -0,0 +1,12 @@ +sysvinit (2.86.ds1-10) unstable; urgency=low + + In version 2.86.ds1-10 of the initscripts package the shell function + library /etc/init.d/bootclean.sh has been replaced by a new script + /etc/init.d/bootclean. If you made changes to the former in order + to customize the way files are cleaned at boot time then you will + have to port your changes to the new script. /etc/init.d/bootclean + continues to respect the TMPTIME variable and, in particular, does + not do any cleaning if TMPTIME is set to "infinite". See rcS(5). + + -- Thomas Hood Sun, 15 Jan 2006 13:38:42 +0100 + --- sysvinit-2.88dsf.orig/debian/initscripts.install +++ sysvinit-2.88dsf/debian/initscripts.install @@ -0,0 +1,2 @@ +bin/mountpoint +usr/share/man/man1/mountpoint.1 --- sysvinit-2.88dsf.orig/debian/sysvinit-utils.manpages +++ sysvinit-2.88dsf/debian/sysvinit-utils.manpages @@ -0,0 +1 @@ +debian/service/service.8 --- sysvinit-2.88dsf.orig/debian/initscripts.lintian-overrides +++ sysvinit-2.88dsf/debian/initscripts.lintian-overrides @@ -0,0 +1,12 @@ +initscripts: file-in-etc-not-marked-as-conffile /etc/init.d/skeleton +initscripts: non-standard-toplevel-dir sys/ +initscripts: package-contains-empty-directory lib/init/rw/ +initscripts: package-contains-empty-directory sys/ +initscripts: script-not-executable ./etc/init.d/skeleton +initscripts: script-not-executable ./lib/init/bootclean.sh +initscripts: maintainer-script-calls-init-script-directly postrm:14 +initscripts: script-calls-init-script-directly ./etc/init.d/stop-bootlogd:19 +initscripts: script-calls-init-script-directly ./etc/init.d/stop-bootlogd-single:36 +initscripts: script-calls-init-script-directly ./etc/network/if-up.d/mountnfs:102 +initscripts: depends-on-essential-package-without-using-version recommends: e2fsprogs +initscripts: no-upstream-changelog --- sysvinit-2.88dsf.orig/debian/sysv-rc.preinst +++ sysvinit-2.88dsf/debian/sysv-rc.preinst @@ -0,0 +1,38 @@ +#! /bin/sh +# preinst script for sysv-rc + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' + +case "$1" in + upgrade) + # Remain in legacy mode during upgrades, unless insserv is + # already activated. + if [ ! -f /var/lib/insserv/using-insserv ] && + dpkg --compare-versions "$2" lt 2.87dsf-3 ; then + touch /etc/init.d/.legacy-bootordering + fi + echo "$2" > /var/run/sysv-rc.upgrade + ;; + install) + # Ubuntu does not use this by default + touch /etc/init.d/.legacy-bootordering + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 --- sysvinit-2.88dsf.orig/debian/sysv-rc.postrm +++ sysvinit-2.88dsf/debian/sysv-rc.postrm @@ -0,0 +1,40 @@ +#! /bin/sh +# +# sysv-rc postrm +# + +set -e + +case "$1" in + remove) : ;; + purge) + if [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule + db_purge + fi + exit 0 + ;; + *) exit 0 ;; +esac + +umask 022 + +# If an alternative update-rc.d and invoke-rc.d implementation is +# unpacked before this postrm script is executed, we do not want to +# replace their programs with the symlink. +if [ ! -e /usr/sbin/update-rc.d ] ; then + ln -sf /usr/share/sysvinit/update-rc.d /usr/sbin/update-rc.d +fi +if [ ! -e /usr/sbin/invoke-rc.d ] ; then + ln -sf /usr/share/sysvinit/update-rc.d /usr/sbin/invoke-rc.d +fi + +# Do not remove /etc/init.d/.legacy-bootordering, to allow those +# taking over to know where to continue. + +#DEBHELPER# + +# Remove the recorded update-rc.d +rm -f /var/lib/update-rc.d/* + +exit 0 --- sysvinit-2.88dsf.orig/debian/sysvinit-utils.install +++ sysvinit-2.88dsf/debian/sysvinit-utils.install @@ -0,0 +1,15 @@ +sbin/bootlogd +sbin/fstab-decode +sbin/killall5 +sbin/sulogin +usr/bin/last +usr/bin/mesg +usr/share/man/man1/last.1 +usr/share/man/man1/lastb.1 +usr/share/man/man1/mesg.1 +usr/share/man/man8/bootlogd.8 +usr/share/man/man8/fstab-decode.8 +usr/share/man/man8/killall5.8 +usr/share/man/man8/pidof.8 +usr/share/man/man8/sulogin.8 +debian/service/service usr/sbin/ --- sysvinit-2.88dsf.orig/debian/sysv-rc.templates +++ sysvinit-2.88dsf/debian/sysv-rc.templates @@ -0,0 +1,39 @@ +# These templates have been reviewed by the debian-l10n-english +# team +# +# If modifications/additions/rewording are needed, please ask +# debian-l10n-english@lists.debian.org for advice. +# +# Even minor modifications require translation updates and such +# changes should be coordinated with translators and reviewers. +# +Template: sysv-rc/convert-legacy +Type: boolean +Default: true +_Description: Migrate legacy boot sequencing to dependency-based sequencing? + The boot system is prepared to migrate to dependency-based sequencing. + This is an irreversible step, but one that is recommended: it allows + the boot process to be optimized for speed and efficiency, and provides + a more resilient framework for development. + . + A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. + If you choose not to migrate now, you can do so later by running + "dpkg-reconfigure sysv-rc". + +Template: sysv-rc/unable-to-convert +Type: note +#flag:translate!:3 +_Description: Unable to migrate to dependency-based boot system + Tests have determined that problems in the boot system exist which + prevent migration to dependency-based boot sequencing: + . + ${PROBLEMATIC} + . + If the reported problem is a local modification, it needs to be fixed + manually. If it's a bug in the package, it should be reported to the + BTS and fixed in the package. See + http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot for more + information about how to fix the problems preventing migration. + . + To reattempt the migration process after the problems have been + fixed, run "dpkg-reconfigure sysv-rc". --- sysvinit-2.88dsf.orig/debian/sysv-rc.copyright +++ sysvinit-2.88dsf/debian/sysv-rc.copyright @@ -0,0 +1,32 @@ +This package contains the mechanism for executing the right scripts +in the right order at bootup/shutdown time, and when changing runlevels. +It works through managing symlinks in /etc/rc?.d + +This package is built from the `sysvinit' source package. Please +consult the copyright file of the sysvinit package for the location of +the upstream sources of the sysvinit package. Debian-specific files +for sysvinit, such as these initscripts, are maintained by the members +of the pkg-sysvinit project at alioth.debian.org. + + http://alioth.debian.org/projects/pkg-sysvinit + +Copyright 1997-2005 Miquel van Smoorenburg and +the members pkg-sysvinit project. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. --- sysvinit-2.88dsf.orig/debian/compat +++ sysvinit-2.88dsf/debian/compat @@ -0,0 +1 @@ +7 --- sysvinit-2.88dsf.orig/debian/deps-mount +++ sysvinit-2.88dsf/debian/deps-mount @@ -0,0 +1,14 @@ +# +# deps-mount +# +# Figure out which package we need to depend on in order to have +# the right mount program +# + +DEB_BUILD_GNU_TYPE="$(dpkg-architecture -qDEB_BUILD_GNU_TYPE)" + +case "$DEB_BUILD_GNU_TYPE" in + *-linux|*-linux-gnu|*-linux-gnulp) + echo 'mount:Depends=mount (>= 2.11x-1)' + ;; +esac --- sysvinit-2.88dsf.orig/debian/README.source +++ sysvinit-2.88dsf/debian/README.source @@ -0,0 +1,8 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches, debian/startpar/patches and debian/insserv/patches +and applied during the build. + +After installing the quilt package, plenty of documentation and tips +for using it with Debian packaging can be found in /usr/share/doc/quilt/ +and quilt(1). --- sysvinit-2.88dsf.orig/debian/initscripts.postrm +++ sysvinit-2.88dsf/debian/initscripts.postrm @@ -0,0 +1,69 @@ +#! /bin/sh +# +# initscripts postrm +# + +set -e + +case "$1" in + purge) + # + # Remove abandoned conffiles + # + rm -f /etc/init.d/bootclean + rm -f /etc/init.d/bootclean.dpkg-old + rm -f /etc/init.d/bootclean.sh + rm -f /etc/init.d/bootclean.sh.dpkg-old + + # + # Remove configuration files + # + rm -f \ + /etc/default/rcS \ + /etc/nologin \ + /etc/motd.tail \ + /etc/motd.static \ + /etc/motd + + # + # Remove state files + # + rm -f /var/lib/initscripts/nologin + + # + # Remove run time state files + # + rm -f /var/run/motd + + # + # Remove log files + # + rm -f \ + /var/log/dmesg \ + /var/log/boot \ + /var/log/fsck/checkroot \ + /var/log/fsck/checkfs + + # Remove rc symlinks in the reverse dependency order they were + # inserted + update-rc.d stop-bootlogd remove >/dev/null || exit $? + update-rc.d stop-bootlogd-single remove >/dev/null || exit $? + update-rc.d rc.local remove >/dev/null || exit $? + update-rc.d single remove >/dev/null || exit $? + update-rc.d killprocs remove >/dev/null || exit $? + update-rc.d sendsigs remove >/dev/null || exit $? + update-rc.d umountnfs.sh remove >/dev/null || exit $? + update-rc.d umountfs remove >/dev/null || exit $? + update-rc.d umountroot remove >/dev/null || exit $? + update-rc.d reboot remove >/dev/null || exit $? + update-rc.d halt remove >/dev/null || exit $? + update-rc.d urandom remove >/dev/null || exit $? + update-rc.d bootlogd remove >/dev/null || exit $? + + # Remove /dev/pts and /dev/shm ? + ;; +esac + +#DEBHELPER# + +: --- sysvinit-2.88dsf.orig/debian/watch +++ sysvinit-2.88dsf/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts=dversionmangle=s/\.ds\d+// \ +ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-(.*).tar.gz --- sysvinit-2.88dsf.orig/debian/sysvinit.install +++ sysvinit-2.88dsf/debian/sysvinit.install @@ -0,0 +1,14 @@ +sbin/init +sbin/halt +sbin/runlevel +sbin/shutdown +usr/share/man/man8/halt.8 +usr/share/man/man8/poweroff.8 +usr/share/man/man8/runlevel.8 +usr/share/man/man8/reboot.8 +usr/share/man/man8/shutdown.8 +usr/share/man/man8/telinit.8 +usr/share/man/man8/init.8 +usr/share/man/man5/initscript.5 +usr/share/man/man5/inittab.5 +usr/include/initreq.h --- sysvinit-2.88dsf.orig/debian/po/vi.po +++ sysvinit-2.88dsf/debian/po/vi.po @@ -0,0 +1,93 @@ +# Vietnamese translation for SysVinit. +# Copyright © 2009 Free Software Foundation, Inc. +# Clytie Siddall , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf-5\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-08 23:34+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Nâng cấp thứ tự khởi động thừa tự lên thứ tự khởi động dựa vào quan hệ phụ " +"thuộc ?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Hệ thống khởi động được chuẩn bị nâng cấp lên thứ tự khởi động dựa vào quan " +"hệ phụ thuộc. Đây là một bước không thể hoàn lại mà vẫn còn khuyến khích vì " +"nó cho phép tiến trình khởi động được tối ưu hoá theo tốc độ và hiệu suất, " +"và cung cấp một khuôn khổ phát triển đàn hồi hơn." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Lý do hoàn toàn được diễn tả trong tài liệu Đọc Đi « /usr/share/doc/sysv-rc/" +"README.Debian ». Không muốn nâng cấp ngay bây giờ thì bạn cũng có thể nâng " +"cấp về sau bằng cách chạy câu lệnh cấu hình lại « dpkg-reconfigure sysv-rc »." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Không thể nâng cấp lên hệ thống khởi động dựa vào quan hệ phụ thuộc" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Gặp vấn đề trong hệ thống khởi động mà ngăn cản nâng cấp lên thứ tự khởi " +"động dựa vào quan hệ phụ thuộc:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Nếu vấn đề đã thông báo là một sự sửa đổi chỉ cục bộ thì nó cần phải được " +"sửa chữa bằng tay. Nếu nó là một lỗi trong gói phần mềm thì nó nên được " +"thông báo cho hệ thống theo dõi lỗi (BTS) để sửa chữa trong gói đó. Xem " +"trang wiki (http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot) để " +"tìm thêm thông tin về cách giải quyết vấn đề ngăn cản nâng cấp." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Để thử lại tiến trình nâng cấp sau khi sửa chữa các vấn đề, hãy chạy « dpkg-" +"reconfigure sysv-rc »." --- sysvinit-2.88dsf.orig/debian/po/pt.po +++ sysvinit-2.88dsf/debian/po/pt.po @@ -0,0 +1,93 @@ +# Portuguese translation for the package sysvinit 2.87dsf +# Copyright (C) 2009 the sysvinit copyright holder +# This file is distributed under the same license as the sysvinit 2.87dsf package. +# António Moreira , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-14 12:15+0100\n" +"Last-Translator: António Moreira \n" +"Language-Team: Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: PORTUGAL\n" +"X-Poedit-SourceCharset: utf-8\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Migrar sequência de arranque legada para sequência baseada em dependências?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"O sistema de arranque está preparado para migrar para a sequência baseada em " +"dependências. Este é um passo irreversível, mas um que é recomendado: " +"permite que o processo de arranque seja optimizado para velocidade e " +"eficiência, e fornece uma estrutura mais flexível para o desenvolvimento." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"A lógica completa está detalhada em /usr/share/doc/sysv-rc/README.debian. Se " +"optar por não migrar agora, você pode fazê-lo depois correndo \"dpkg-" +"reconfigure sysv-rc\"." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Incapaz de migrar para sistema de arranque baseado em dependências" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Testes determinaram que existem problemas no sistema de arranque que impedem " +"a migração para sequência baseada em dependências:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Se o problema relatado é uma modificação local, tem de ser reparado " +"manualmente. Se é um bug no pacote, deve ser comunicado ao BTS e reparado no " +"pacote. Ver http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot para " +"mais informações de como corrigir os problemas que impedem a migração." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Para tentar novamente o processo de migração após a reparação dos problemas, " +"execute \"dpkg-reconfigure sysv-rc\"." --- sysvinit-2.88dsf.orig/debian/po/es.po +++ sysvinit-2.88dsf/debian/po/es.po @@ -0,0 +1,114 @@ +# sysvinit po-debconf translation to Spanish +# Copyright (C) 2009 Software in the Public Interest +# This file is distributed under the same license as the sysvinit package. +# +# Changes: +# - Initial translation +# Francisco Javier Cuadrado , 2009 +# +# Traductores, si no conocen el formato PO, merece la pena leer la +# documentación de gettext, especialmente las secciones dedicadas a este +# formato, por ejemplo ejecutando: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Equipo de traducción al español, por favor lean antes de traducir +# los siguientes documentos: +# +# - El proyecto de traducción de Debian al español +# http://www.debian.org/intl/spanish/ +# especialmente las notas y normas de traducción en +# http://www.debian.org/intl/spanish/notas +# +# - La guía de traducción de po's de debconf: +# /usr/share/doc/po-debconf/README-trans +# o http://www.debian.org/intl/l10n/po-debconf/README-trans +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf-5\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-08 08:50+0200\n" +"Last-Translator: Francisco Javier Cuadrado \n" +"Language-Team: Debian l10n Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"¿Desea migrar la antigua secuencia de arranque a la secuencia de arranque " +"basada en dependencias?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"El sistema de arranque está listo para migrar a la secuencia de arranque " +"basada en dependencias. Este paso es irreversible, pero es recomendable: " +"permite optimizar el proceso de arranque en velocidad y eficiencia, y " +"proporciona un mejor entorno de desarrollo." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"En el archivo «/usr/share/doc/sysv-rc/README.Debian» se detalla la " +"explicación completa. Si escoge no migrar ahora, podrá hacerlo más tarde " +"ejecutando «dpkg-reconfigure sysv-rc»." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "No se ha podido migrar al sistema de arranque basado en dependencias" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Las pruebas han determinado que existen los siguientes problemas en el " +"sistema de arranque, que impiden la migración a la secuencia de arranque " +"basada en dependencias:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Si el problema es una modificación local, se debe arreglar manualmente. Si " +"es un error del paquete, se debería informar mediante el BTS y se arreglará " +"en el paquete. Para más información sobre cómo resolver los problemas que " +"impiden la migración, vea «http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot»." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Para reintentar el proceso de migración después de que los problemas se " +"hayan arreglado, ejecute «dpkg-reconfigure sysv-rc»." --- sysvinit-2.88dsf.orig/debian/po/pt_BR.po +++ sysvinit-2.88dsf/debian/po/pt_BR.po @@ -0,0 +1,96 @@ +# Debconf translations for sysvinit. +# Copyright (C) 2009 THE sysvinit'S COPYRIGHT HOLDER +# This file is distributed under the same license as the sysvinit package. +# Adriano Rafael Gomes , 2009, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.88dsf-13\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2010-11-27 19:56-0200\n" +"Last-Translator: Adriano Rafael Gomes \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"pt_BR utf-8\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Migrar a sequência de inicialização legada para a sequência baseada em " +"dependência?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"O sistema de inicialização está preparado para migrar para a sequência " +"baseada em dependência. Este é um passo irreversível, mas recomendável: ele " +"permite que o processo de inicialização seja otimizado para velocidade e " +"eficiência, e fornece um framework mais flexível para o desenvolvimento." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Um embasamento completo está detalhado em /usr/share/doc/sysv-rc/README." +"Debian. Se você escolher não migrar agora, você poderá fazê-lo mais tarde " +"executando \"dpkg-reconfigure sysv-rc\"." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "" +"Incapaz de migrar para o sistema de inicialização baseado em dependência" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Testes determinaram que existem problemas no sistema de inicialização que " +"impedem a migração para a sequência de inicialização baseada em dependência:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Se o problema reportado é uma modificação local, ele precisa ser corrigido " +"manualmente. Se é um bug no pacote, ele deve ser reportado para o BTS e " +"corrigido no pacote. Veja http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot para mais informações sobre como corrigir os problemas " +"que impedem a migração." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Para tentar novamente o processo de migração depois de os problemas terem " +"sido corrigidos, execute \"dpkg-reconfigure sysv-rc\"." --- sysvinit-2.88dsf.orig/debian/po/cs.po +++ sysvinit-2.88dsf/debian/po/cs.po @@ -0,0 +1,91 @@ +# czech translation of sysvinit debconf messages. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the sysvinit package. +# Miroslav Kure , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-17 12:14+0200\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Přejít od starého systému zavádění k zavádění založenému na závislostech?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Proces zavádění systému je připraven na přechod k systému zavádění " +"založenému na závislostech. Tento krok je nevratný, nicméně doporučený, " +"protože umožňuje optimalizovat rychlost a efektivitu zaváděcího procesu a " +"navíc poskytuje pružnější rámec pro vývoj." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Podrobnější odůvodnění můžete nalézt v souboru /usr/share/doc/sysv-rc/README." +"Debian. Rozhodnete-li se přejít na tento systém někdy později, můžete tak " +"učinit příkazem „dpkg-reconfigure sysv-rc“." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Nelze přejít na systém zavádění založený na závislostech" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Testy odhalily, že se v zaváděcím systému vyskytují problémy, které brání v " +"přechodu na systém zavádění založený na závislostech:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Pokud je zjištěný problém způsoben místními úpravami, budete ho muset " +"opravit ručně. Jestliže se jedná o chybu v balíku, měli byste ji nahlásit do " +"BTS a správce balíku by ji měl opravit. Více informací o nápravě problémů " +"bránících v přechodu naleznete na http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Po vyřešení problémů se můžete pokusit o nový přechod příkazem „dpkg-" +"reconfigure sysv-rc“." --- sysvinit-2.88dsf.orig/debian/po/templates.pot +++ sysvinit-2.88dsf/debian/po/templates.pot @@ -0,0 +1,75 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" --- sysvinit-2.88dsf.orig/debian/po/fi.po +++ sysvinit-2.88dsf/debian/po/fi.po @@ -0,0 +1,93 @@ +# Copyright (C) 2009 +# This file is distributed under the same license as the sysvinit package. +# +# Esko Arajärvi , 2009. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-21 21:50+0300\n" +"Last-Translator: Esko Arajärvi \n" +"Language-Team: Finnish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Siirrytäänkö vanhasta käynnistysjärjestelmästä riippuvuusperusteiseen " +"järjestelmään?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Käynnistysjärjestelmässä voidaan siirtyä riippuvuusperusteiseen " +"järjestelmään. Tätä muutosta ei voi perua, mutta sitä suositellaan. Se " +"sallii käynnistysprosessin optimoinnin nopeuden ja tehokkuuden suhteen ja " +"tarjoaa joustavamman kehyksen kehitystyölle." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Tarkempi kuvaus löytyy tiedostosta /usr/share/doc/sysv-rc/README.Debian. Jos " +"päätät olla siirtymättä nyt, voit tehdä sen myöhemmin ajamalla komennon " +"”dpkg-reconfigure sysv-rc”." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Riippuvuusperusteiseen käynnistysjärjestelmään siirtyminen ei onnistu" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Testien mukaan käynnistysjärjestelmässä on ongelmia, jotka estävät " +"riippuvuusperusteiseen käynnistysjärjestelmään siirtymisen." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Jos raportoitu ongelma on paikallinen muutos, se täytyy korjata käsin. Jos " +"se on vika jossain paketissa, se tulisi raportoida " +"virheidenhallintajärjestelmään ja korjata paketissa. Verkkosivulta http://" +"wiki.debian.org/LSBInitScripts/DependencyBasedBoot löytyy lisätietoja " +"siirtymisen estävien vikojen korjaamisesta." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Voit yrittää siirtymistä uudelleen vikojen korjauksen jälkeen ajamalla " +"komennon ”dpkg-reconfigure sysv-rc”." --- sysvinit-2.88dsf.orig/debian/po/de.po +++ sysvinit-2.88dsf/debian/po/de.po @@ -0,0 +1,94 @@ +# Translation of sysvinit to German +# Copyright (C) 1997-2005 Miquel van Smoorenburg . +# This file is distributed under the same license as the sysvinit package. +# Chris Leick , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf-5\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-12 18:44+GMT\n" +"Last-Translator: Chris Leick \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Veraltete Startreihenfolge auf abhängigkeitsbasierte Reihenfolge umstellen?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Das Startsystem ist vorbereitet, um auf abhängigkeitsbasierte Reihenfolge " +"umgestellt zu werden. Dieser Schritt ist nicht umkehrbar, wird aber " +"empfohlen: Er ermöglicht die Optimierung des Startprozesses auf " +"Geschwindigkeit und Effizienz und stellt ein robusteres Gerüst für die " +"Entwicklung bereit." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Eine vollständige Begründung finden Sie detailliert in /usr/share/doc/" +"sysv-rc/README.Debian.gz. Wenn Sie nun nicht umstellen auswählen, können " +"Sie dies später durch Ausführung von »dpkg-reconfigure sysv-rc« tun." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "" +"Es konnte nicht auf abhängigkeitsbasierte Startreihenfolge umgestellt werden." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Tests haben ergeben, dass es im Startsystem Probleme gibt, die die " +"Umstellung auf abhängigkeitsbasierte Startreihenfolge verhindern:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Wenn das berichtete Problem eine lokale Änderung ist, muss es manuell " +"behoben werden. Wenn es ein Fehler im Paket ist, sollte es an die " +"Fehlerdatenbank berichtet und im Paket behoben werden. Lesen Sie http://wiki." +"debian.org/LSBInitScripts/DependencyBasedBoot, um weitere Informationen " +"darüber zu erhalten, wie Probleme behoben werden, die die Umstellung " +"verhindern." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Um den Umstellungsprozess nach Behebung der Probleme erneut anzustoßen, " +"führen Sie »dpkg-reconfigure sysv-rc« aus." --- sysvinit-2.88dsf.orig/debian/po/ja.po +++ sysvinit-2.88dsf/debian/po/ja.po @@ -0,0 +1,87 @@ +# Japanese translation of sysvinit debconf templates. +# Copyright (C) 2009 Hideki Yamane +# This file is distributed under the same license as the sysvinit package. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf-8\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-26 02:27+0900\n" +"Last-Translator: Hideki Yamane (Debian-JP) \n" +"Language-Team: Debian JP Project \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "レガシーな起動シーケンスから依存関係ベースのシーケンスへ移行しますか?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"起動システムは依存関係ベースのシーケンスへ移行する予定です。これは取り消しで" +"きない作業ですが、推奨される作業です: 起動プロセスのスピードと効率を最適化" +"し、開発についてより柔軟なフレームワークを提供します:" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"全ての関連情報は /usr/share/doc/sysv-rc/README.Debian に詳細にまとめられてい" +"ます。今すぐ移行しないことを選んだ場合、後ほど「dpkg-reconfigure sysv-rc」を" +"実行すれば移行可能です。" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "依存関係ベースのブートシステムへの移行ができません" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"依存関係ベースのブートシーケンスへの移行作業を妨げる問題が起動システム中にあ" +"ることが、テストによって発見されました:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"報告された問題点がローカルで行った変更であれば、手動で修正する必要がありま" +"す。それがパッケージのバグであれば BTS へ報告してパッケージを修正するべきで" +"す。移行を妨げる問題をどの様にして修正するか、詳細については http://wiki." +"debian.org/LSBInitScripts/DependencyBasedBoot を参照してください。" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"問題修正後に移行作業を再度試みるには「dpkg-reconfigure sysv-rc」を実行してく" +"ださい。" --- sysvinit-2.88dsf.orig/debian/po/it.po +++ sysvinit-2.88dsf/debian/po/it.po @@ -0,0 +1,93 @@ +# ITALIAN TRANSLATION OF SYSVINIT'S PO-DEBCONF FILE. +# COPYRIGHT (C) 2009 THE SYSVINIT'S COPYRIGHT HOLDER +# This file is distributed under the same license as the sysvinit package. +# +# Vincenzo Campanella , 2009. +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf-5\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-11-13 12:30+0100\n" +"Last-Translator: Vincenzo Campanella \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Migrare la sequenza di avvio obsoleta alla sequenza basata sulle dipendenze?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Il sistema di avvio è pronto a migrare alla sequenza basata sulle " +"dipendenze. È un processo irreversibile, ma raccomandato, in quanto consente " +"l'ottimizzaziione del processo di avvio in termini di velocità ed " +"efficienza, e inoltre fornisce un'infrastruttura più elastica per lo " +"sviluppo." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Le motivazioni complete sono esposte in «/usr/share/doc/sysvinit/README." +"Debian.gz». Se si sceglie di non migrare adesso è possibile farlo in un " +"secondo tempo, eseguendo «dpkg-reconfigure sysv-rc»." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Impossibile migrare al sistema d'avvio basato sulle dipendenze" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Le verifiche hanno trovato problemi esistenti nel sistema di avvio che " +"impediscono la migrazione alla sequenza di avvio basata sulle dipendenze:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Se il problema riportato è una modifica locale, esso deve essere risolto " +"manualmente. Se si tratta di un bug del pacchetto, lo si dovrebbe riportare " +"al BTS (Bug Tracking System) e dovrebbe essere risolto nel pacchetto. Per " +"maggiori informazioni su come risolvere i problemi che impediscono la " +"migrazione consultare http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Per tentare nuovamente il processo di migrazione dopo che i problemi sono " +"stati risolti, eseguire «dpkg-reconfigure sysv-rc»." --- sysvinit-2.88dsf.orig/debian/po/nb.po +++ sysvinit-2.88dsf/debian/po/nb.po @@ -0,0 +1,77 @@ +# translation of nb.po to Norwegian Bokmål +# Copyright (C) 2009 +# This file is distributed under the same license as the sysvinit package. +# +# Petter Reinholdtsen , 2010. +msgid "" +msgstr "" +"Project-Id-Version: nb\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2010-06-09 21:48MET\n" +"Last-Translator: Petter Reinholdtsen \n" +"Language-Team: Norwegian Bokmål \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "Gå over fra gammeldags oppstartrekkefølge til avhengighetsbasert rekkefølge?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "Oppstartsystemet er forberedt for overgang til avhengighetsbasert oppstartrekkefølge. Dette er et ugjenkallelig steg, men det er anbefalt: det tillater at oppstartprosessen optimeres for hastighet og effektivitet, og tilbyr et mer fleksibelt rammeverk for utvikling." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "En fullstendig begrunnelse finnes i /usr/share/doc/sysv-rc/README.Debian. Hvis du velger å ikke migrere nå, så kan du gjøre det senere ved å kjøre \"dpkg-reconfigure sysv-rc\"." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Kan ikke gå over til avhengighetsbasert oppstartsystem" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "Tester har oppdaget at det finnes problemer i oppstartsystemet som hindrer en overgang til avhengighetsbasert oppstartrekkefølge:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "Hvis det rapporterte problemet er en lokal endring så må det fikses manuelt. Hvis det er en feil i en pakke, så bør det rapporteres til feilhåndteringssystemet og rettes i pakken. Se http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot for mer informasjon om hvordan fikse problemer som hindrer overgang." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "Hvis du vil gjøre et nytt forsøk med overgangen etter at problemene er fikset, kjør \"dpkg-reconfigure sysv-rc\"." + --- sysvinit-2.88dsf.orig/debian/po/sv.po +++ sysvinit-2.88dsf/debian/po/sv.po @@ -0,0 +1,93 @@ +# translation of sysvinit_sv.po to Swedish +# Copyright (C) 2009 +# This file is distributed under the same license as the sysvinit package. +# +# Martin Ågren , 2009. +msgid "" +msgstr "" +"Project-Id-Version: sysvinit_sv\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-10 18:22+0200\n" +"Last-Translator: Martin Ågren \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Gå över från gammaldags uppstartsordnande till beroendebaserat ordnande?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Uppstartssystemet är förberett för övergång till beroendebaserat " +"uppstartsordnande. Detta är ett oåterkalleligt steg, men det rekommenderas: " +"det tillåter att uppstartsprocessen optimeras för hastighet och effektivitet " +"och erbjuder ett mer flexibelt ramverk för utveckling." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"En fullständig grund för beslut finns i /usr/share/doc/sysv-rc/README." +"Debian. Om du väljer att inte gå över nu, kan du göra det senare genom att " +"köra \"dpkg-reconfigure sysv-rc\"." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Kan inte gå över till beroendebaserat uppstartssystem" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Tester har funnit att det finns problem i uppstartssystemet som hindrar en " +"övergång till beroendebaserat uppstartsordnande:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Om det rapporterade problemet är en lokal ändring, behöver det rättas " +"manuellt. Om det är ett fel i paketet, bör det rapporteras till " +"felhanteringssystemet och rättas i paketet. Se http://wiki.debian.org/" +"LSBInitScripts/DependencyBasedBoot för mer information om att rätta problem " +"som hindrar övergång." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Om du vill göra ett nytt försök med övergången efter att problemen har " +"rättats, kör \"dpkg-reconfigure sysv-rc\"." --- sysvinit-2.88dsf.orig/debian/po/sk.po +++ sysvinit-2.88dsf/debian/po/sk.po @@ -0,0 +1,95 @@ +# Slovak translations for sysvinit package +# Slovenské preklady pre balík sysvinit. +# Copyright (C) 2011 THE sysvinit'S COPYRIGHT HOLDER +# This file is distributed under the same license as the sysvinit package. +# Automatically generated, 2011. +# Slavko , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.88dsf-13.1\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2011-02-20 10:53+0100\n" +"Last-Translator: Slavko \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Prejsť zo starého systému zavádzania k zavádzaniu založenému na závislosti?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Zavádzací systém je pripravený na prechod na zavádzanie založené na " +"závislosti. Je to nevratný krok, ale je odporúčaný, pretože umožňuje " +"optimalizáciu procesu zavedenia, čo sa týka rýchlosti i efektivity, as " +"poskytuje oveľa pružnejšiu štruktúru vývoja." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Úplný popis dôvodov je k dispozícii v /usr/share/doc/sysv-rc/README.Debian. " +"Ak sa rozhodnete teraz neprechádzať, môžete to urobiť neskôr spustením „dpkg-" +"reconfigure sysv-rc”." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Nemožno prejsť na zavádzanie založené na závislosti" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Testy odhalili, že v systéme zavádzania existujú problémy, ktoré bránia " +"prechodu na systém zavádzania založený na závislosti:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Ak sú zistené problémy spôsobené lokálnymi úpravami, bude ich treba upraviť " +"manuálne. Ak je to chyba balíka, mali by ste ju nahlásiť do BTS, aby ju " +"mohol správca balíka opraviť. Ďalšie informácie o opravách chýb, ktoré " +"bránia migrácii môžete nájsť na http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Na opätovné spustenie prechodu, po odstránení problémov, spusťte „dpkg-" +"reconfigure sysv-rc”" --- sysvinit-2.88dsf.orig/debian/po/ru.po +++ sysvinit-2.88dsf/debian/po/ru.po @@ -0,0 +1,96 @@ +# translation of ru.po to Russian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Yuri Kozlov , 2009. +msgid "" +msgstr "" +"Project-Id-Version: sysvinit 2.87dsf-5\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-09 10:17+0400\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Перейти от старой последовательности загрузки к последовательности загрузки " +"на основе зависимостей?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Система загрузки готова к переходу на последовательность загрузки на основе " +"зависимостей. Это необратимый шаг, но его рекомендуется выполнить: это " +"позволит оптимизировать процесс загрузки по скорости и эффективности, и " +"предоставляет более отказоустойчивую инфраструктуру для разработки." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Полное обоснование дано в /usr/share/doc/sysv-rc/README.Debian.gz. Если вы " +"не хотите выполнять переход прямо сейчас, то можете сделать это позже с " +"помощью команды \"dpkg-reconfigure sysv-rc\"." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Невозможно перейти на систему загрузки на основе зависимостей" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Тестирование показало, что имеются проблемы в системе загрузки, которые не " +"дают осуществить переход на последовательность загрузки на основе " +"зависимостей:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Если указанные проблемы возникают из-за локальных изменений, то они должны " +"быть устранены вручную. Если это ошибка в пакете, то об этом нужно сообщить " +"в BTS, и это будет исправлено в пакете. Подробней о том, как исправлять " +"проблемы, мешающие переходу, см. http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Чтобы попытаться выполнить переход ещё раз после устранения проблем, " +"запустите \"dpkg-reconfigure sysv-rc\"." --- sysvinit-2.88dsf.orig/debian/po/POTFILES.in +++ sysvinit-2.88dsf/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] sysv-rc.templates --- sysvinit-2.88dsf.orig/debian/po/gl.po +++ sysvinit-2.88dsf/debian/po/gl.po @@ -0,0 +1,93 @@ +# Copyright (C) 2009 This file is part of Debian +# This file is distributed under the same license as the sysvinit package. +# +# Marce Villarino , 2009. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-11-03 21:09+0100\n" +"Last-Translator: Marce Villarino \n" +"Language-Team: Galician \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "" +"Desexa migrar a secuencia de arranque herdada para unha baseada en " +"dependencias?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"O sistema de arrinque está preparado para migrar para un baseado en " +"dependencias. Este é un paso irreversíbel, pero recoméndase dalo, xa que " +"permite optimizar o proceso de arrinque mellorando a eficiencia e a " +"velocidade, e fornece un framework máis elástico para os desenvolventes." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Hai unha argumentación completa en /usr/share/doc/sysv-rc/README.Debian.gz. " +"Se escolle non migrar agora, poderá facelo máis tarde executando «dpkg-" +"reconfigure sysv-rc»." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Non foi posíbel migrar para o sistema baseado en dependencias" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"As probas determinaron que hai problemas no sistema de arrinque que fan que " +"non se poda migrar para a secuencia baseada en dependencias:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Se o problema que se detectou é unha modificación local deberá ser corrixido " +"manualmente. De ser un erro no paquete debe informarse no BTS para corrixilo " +"no paquete. Consulte http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot para obter máis información acerca de como corrixir os " +"problemas que fan que non se poda migrar." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Para tentar de novo o proceso de migración tras corrixir os problemas, " +"execute «dpkg-reconfigure sysv-rc»." --- sysvinit-2.88dsf.orig/debian/po/fr.po +++ sysvinit-2.88dsf/debian/po/fr.po @@ -0,0 +1,92 @@ +# Po debconf french translation +# Copyright (C) 2009 +# This file is distributed under the same license as the sysvinit package. +# Steve Petruzzello , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit_2.87_dfs-6\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2009-10-08 12:00+0200\n" +"Last-Translator: Steve Petruzzello \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "Migrer vers une séquence de démarrage basée sur des dépendances ?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Le système de démarrage est prêt pour migrer vers une séquence basée sur des " +"dépendances. Cette étape est irréversible mais elle est recommandée car elle " +"permet d'accélérer le processus de démarrage, de le rendre plus efficace et " +"propose un cadre de développement plus solide." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"Des explications détaillées se trouvent dans le fichier « /usr/share/doc/sysv-" +"rc/README.Debian ». Si vous décidez de ne pas effectuer la migration " +"maintenant, vous pourrez toujours la faire plus tard avec la commande « dpkg-" +"reconfigure sysv-rc »." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Impossible de migrer vers le nouveau système de démarrage" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Des tests ont montré que des problèmes existent dans le système de démarrage " +"qui empêchent la migration vers la nouvelle séquence de démarrage :" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Si le problème indiqué concerne une modification locale, vous devrez le " +"réparer vous-même. Si c'est un bogue dans un paquet, il devrait être signalé " +"dans le système de suivi des bogues (BTS) et corrigé dans le paquet. " +"Veuillez lire « http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot » " +"pour plus d'informations sur les méthodes de résolution des problèmes " +"empêchant la transition." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"Une fois que les problèmes ont été corrigés, vous pouvez réessayer la " +"migration avec la commande « dpkg-reconfigure sysv-rc »." --- sysvinit-2.88dsf.orig/debian/po/da.po +++ sysvinit-2.88dsf/debian/po/da.po @@ -0,0 +1,91 @@ +# Danish translation sysvinit. +# Copyright (C) 2010 sysvinit & Joe Hansen. +# This file is distributed under the same license as the sysvinit package. +# Joe Hansen , 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: sysvinit\n" +"Report-Msgid-Bugs-To: sysvinit@packages.debian.org\n" +"POT-Creation-Date: 2009-10-25 21:24+0100\n" +"PO-Revision-Date: 2010-10-07 17:30+01:00\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "Migrate legacy boot sequencing to dependency-based sequencing?" +msgstr "Migrer forældet opstartssekvenser til afhængighedsbaserede sekvenser?" + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"The boot system is prepared to migrate to dependency-based sequencing. This " +"is an irreversible step, but one that is recommended: it allows the boot " +"process to be optimized for speed and efficiency, and provides a more " +"resilient framework for development." +msgstr "" +"Opstartssystemet er forberedt til at migrere til afhængighedsbaserede " +"sekvenser. Dette trin kan ikke omgøres, men det anbefales alligevel: Det " +"tillader, at opstartsprocessen optimeres i forhold til hastighed og " +"effektivitet, og tilbyder en mere modstandsdygtig ramme for udvikling." + +#. Type: boolean +#. Description +#: ../sysv-rc.templates:1001 +msgid "" +"A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you " +"choose not to migrate now, you can do so later by running \"dpkg-reconfigure " +"sysv-rc\"." +msgstr "" +"En fuld og detaljeret beskrivelse kan ses i /usr/share/doc/sysv-rc/README." +"Debian. Hvis du vælger ikke at migrere nu, kan du gøre det senere ved at " +"køre »dpkg-reconfigure sysv-rc«." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "Unable to migrate to dependency-based boot system" +msgstr "Kunne ikke migrere til afhængighedsbaseret opstartssystem" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"Tests have determined that problems in the boot system exist which prevent " +"migration to dependency-based boot sequencing:" +msgstr "" +"Test har afgjort, at der findes problemer i opstartssystemet som forhindrer " +"migrering til afhængighedsbaserede opstartssekvenser:" + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"If the reported problem is a local modification, it needs to be fixed " +"manually. If it's a bug in the package, it should be reported to the BTS and " +"fixed in the package. See http://wiki.debian.org/LSBInitScripts/" +"DependencyBasedBoot for more information about how to fix the problems " +"preventing migration." +msgstr "" +"Hvis det rapporterede problem er en lokal ændring, skal den rettes manuelt. " +"Hvis det er en fejl i pakken, bør den rapporteres til BTS'en og rettes i " +"pakken. Se http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot for " +"yderligere information om hvordan problemer, der forhindrer migrering, kan " +"rettes." + +#. Type: note +#. Description +#: ../sysv-rc.templates:2001 +msgid "" +"To reattempt the migration process after the problems have been fixed, run " +"\"dpkg-reconfigure sysv-rc\"." +msgstr "" +"For at forsøge migreringsprocessen igen efter at problemerne er blevet " +"rettet, kør »dpkg-reconfigure sysv-rc«." --- sysvinit-2.88dsf.orig/debian/share/inittab.kfreebsd-gnu +++ sysvinit-2.88dsf/debian/share/inittab.kfreebsd-gnu @@ -0,0 +1,69 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:2: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 + +# What to do when CTRL-ALT-DEL is pressed. +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now + +# Action on special keypress (ALT-UpArrow). +#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." + +# What to do when the power fails/returns. +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# /sbin/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# +# Note that on most Debian systems ttyv6 is used by the X Window System, +# so if you want to add more getty's go ahead but skip ttyv6 if you run X. +# +1:2345:respawn:/sbin/getty 38400 ttyv0 cons25 +2:23:respawn:/sbin/getty 38400 ttyv1 cons25 +3:23:respawn:/sbin/getty 38400 ttyv2 cons25 +4:23:respawn:/sbin/getty 38400 ttyv3 cons25 +5:23:respawn:/sbin/getty 38400 ttyv4 cons25 +6:23:respawn:/sbin/getty 38400 ttyv5 cons25 + +# Example how to put a getty on a serial line (for a terminal) +# +#T0:23:respawn:/sbin/getty -L ttyd0 9600 vt100 +#T1:23:respawn:/sbin/getty -L ttyd1 9600 vt100 + +# Example how to put a getty on a modem line. +# +#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyd3 + --- sysvinit-2.88dsf.orig/debian/share/inittab.knetbsd-gnu +++ sysvinit-2.88dsf/debian/share/inittab.knetbsd-gnu @@ -0,0 +1,67 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:2: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 + +# What to do when CTRL-ALT-DEL is pressed. +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now + +# Action on special keypress (ALT-UpArrow). +#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." + +# What to do when the power fails/returns. +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# /sbin/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# +# Note that on most Debian systems tty7 is used by the X Window System, +# so if you want to add more getty's go ahead but skip tty7 if you run X. +# +1:2345:respawn:/sbin/getty 38400 ttyE0 +2:23:respawn:/sbin/getty 38400 ttyE1 +3:23:respawn:/sbin/getty 38400 ttyE2 +4:23:respawn:/sbin/getty 38400 ttyE3 + +# Example how to put a getty on a serial line (for a terminal) +# +#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 +#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 + +# Example how to put a getty on a modem line. +# +#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 + --- sysvinit-2.88dsf.orig/debian/share/inittab.s390-linux-gnu +++ sysvinit-2.88dsf/debian/share/inittab.s390-linux-gnu @@ -0,0 +1,63 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab.s390,v 1.9 2000/01/10 10:15:30 miquels Exp $ + +# The default runlevel. +id:2: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 + +# What to do when CTRL-ALT-DEL is pressed. +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now + +# Action on special keypress (ALT-UpArrow). +kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." + +# What to do when the power fails/returns. +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# /sbin/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# +# The s390 only has a dumb terminal on /dev/console. +# +1:2345:respawn:/sbin/getty 38400 console dumb + +# Example how to put a getty on a serial line (for a terminal) +# +#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 +#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 + +# Example how to put a getty on a modem line. +# +#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 + --- sysvinit-2.88dsf.orig/debian/share/update-rc.d +++ sysvinit-2.88dsf/debian/share/update-rc.d @@ -0,0 +1,27 @@ +#! /bin/sh +# +# update-rc.d +# +# Dummy update-rc.d, installed when file-rc replaces +# sysv-rc or the other way around. The postrm of the +# package being replaced symlinks /usr/sbin/update-rc.d +# to this dummy file. +# +# All this script does is "scream and die". +# + +name=`basename $0` + +cat <&2 + +$name: not present yet. + +You are replacing sysv-rc with file-rc or another -rc package, or +the other way around. The replacement package must first be +unpacked before you can configure other packages. + +Exiting with error status 1. + +EOF + +exit 1 --- sysvinit-2.88dsf.orig/debian/share/inittab +++ sysvinit-2.88dsf/debian/share/inittab @@ -0,0 +1,69 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:2: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 + +# What to do when CTRL-ALT-DEL is pressed. +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now + +# Action on special keypress (ALT-UpArrow). +#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." + +# What to do when the power fails/returns. +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# /sbin/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# +# Note that on most Debian systems tty7 is used by the X Window System, +# so if you want to add more getty's go ahead but skip tty7 if you run X. +# +1:2345:respawn:/sbin/getty 38400 tty1 +2:23:respawn:/sbin/getty 38400 tty2 +3:23:respawn:/sbin/getty 38400 tty3 +4:23:respawn:/sbin/getty 38400 tty4 +5:23:respawn:/sbin/getty 38400 tty5 +6:23:respawn:/sbin/getty 38400 tty6 + +# Example how to put a getty on a serial line (for a terminal) +# +#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 +#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 + +# Example how to put a getty on a modem line. +# +#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 + --- sysvinit-2.88dsf.orig/debian/share/inittab.gnu +++ sysvinit-2.88dsf/debian/share/inittab.gnu @@ -0,0 +1,69 @@ +# /etc/inittab: init(8) configuration. +# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ + +# The default runlevel. +id:2: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 + +# What to do when CTRL-ALT-DEL is pressed. +ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now + +# Action on special keypress (ALT-UpArrow). +#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." + +# What to do when the power fails/returns. +pf::powerwait:/etc/init.d/powerfail start +pn::powerfailnow:/etc/init.d/powerfail now +po::powerokwait:/etc/init.d/powerfail stop + +# /libexec/getty invocations for the runlevels. +# +# The "id" field MUST be the same as the last +# characters of the device (after "tty"). +# +# Format: +# ::: +# +# Note that on most Debian systems tty7 is used by the X Window System, +# so if you want to add more getty's go ahead but skip tty7 if you run X. +# +1:2345:respawn:/libexec/getty 38400 tty1 +2:23:respawn:/libexec/getty 38400 tty2 +3:23:respawn:/libexec/getty 38400 tty3 +4:23:respawn:/libexec/getty 38400 tty4 +5:23:respawn:/libexec/getty 38400 tty5 +6:23:respawn:/libexec/getty 38400 tty6 + +# Example how to put a getty on a serial line (for a terminal) +# +#T0:23:respawn:/libexec/getty -L ttyS0 9600 vt100 +#T1:23:respawn:/libexec/getty -L ttyS1 9600 vt100 + +# Example how to put a getty on a modem line. +# +#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 + --- sysvinit-2.88dsf.orig/debian/startpar/COPYING +++ sysvinit-2.88dsf/debian/startpar/COPYING @@ -0,0 +1,341 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the + Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. --- sysvinit-2.88dsf.orig/debian/startpar/proc.h +++ sysvinit-2.88dsf/debian/startpar/proc.h @@ -0,0 +1,21 @@ +/* Copyright (c) 2004 SuSE Linux AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + **************************************************************** + */ + +int read_proc(unsigned long int *prcs_run, unsigned long int *prcs_blked); --- sysvinit-2.88dsf.orig/debian/startpar/Makefile +++ sysvinit-2.88dsf/debian/startpar/Makefile @@ -0,0 +1,46 @@ +VERSION = 0.53.1 +ISSUSE = -DSUSE + +INSTALL = install -m 755 +INSTALL_DATA = install -m 644 +DESTDIR = +sbindir = /sbin +mandir = /usr/share/man +man8dir = $(mandir)/man8 + +SRCS = startpar.c makeboot.c proc.c +HDRS = makeboot.h proc.h +REST = COPYING Makefile startpar.8 +OBJS = $(SRCS:.c=.o) + +CC = gcc +OPTFLAGS = -O2 -g -Wall -W +CFLAGS = $(OPTFLAGS) -D_GNU_SOURCE + +ifeq ($(MAKECMDGOALS),makeboot) +CFLAGS += -DTEST +endif + +.c.o: + $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" $(ISSUSE) -c $< + +startpar: $(OBJS) + $(CC) $(CFLAGS) -DVERSION=\"$(VERSION)\" $(ISSUSE) -o $@ $(OBJS) + +makeboot: makeboot.c + +install: startpar + $(INSTALL) -d $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir) + $(INSTALL) startpar $(DESTDIR)$(sbindir)/. + $(INSTALL_DATA) startpar.8 $(DESTDIR)$(man8dir)/. + +clean: + rm -f startpar makeboot $(OBJS) + +dest: clean + mkdir -p startpar-$(VERSION) + for file in $(SRCS) $(HDRS) $(REST) ; do \ + cp -p $$file startpar-$(VERSION)/; \ + done + tar -cps -jf startpar-$(VERSION).tar.bz2 startpar-$(VERSION)/* + rm -rf startpar-$(VERSION)/ --- sysvinit-2.88dsf.orig/debian/startpar/makeboot.h +++ sysvinit-2.88dsf/debian/startpar/makeboot.h @@ -0,0 +1,39 @@ +/* + */ + +enum { + T_READY, T_RUNNING, T_FINISHED +}; + +/* target nodes */ +struct makenode { + char *name; + char *arg0; + int num_deps; + struct makelist *depend; + int num_sels; + struct makelist *select; + int status; + struct makenode *next; + int interactive; + int importance; +}; + +/* dependency and selection list nodes */ +struct makelist { + struct makenode *node; + struct makelist *next; +}; + +extern int tree_entries; +extern struct makenode *tree_list; + +extern void parse_makefile(const char *path); +extern void check_run_files(const char *action, const char *prev, const char *run); +extern struct makenode *pickup_task(void); +extern void finish_task(struct makenode *n); +extern void *xcalloc(size_t nmemb, size_t size); +extern void print_run_result(int *resvec, struct makenode **nodevec, const char *action); + +#define alignof(type) ((sizeof(type)+(sizeof(void*)-1)) & ~(sizeof(void*)-1)) +#define strsize(string) ((strlen(string)+1)*sizeof(char)) --- sysvinit-2.88dsf.orig/debian/startpar/makeboot.c +++ sysvinit-2.88dsf/debian/startpar/makeboot.c @@ -0,0 +1,547 @@ +/* + * very very simple makefile parser + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "makeboot.h" +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 +# include +# include +# include +static int o_flags = O_RDONLY; +#endif + + +int tree_entries = 0; +struct makenode *tree_list = NULL; + +/* + * search for the node with the given name + * returns the node pointer or NULL if not found. + * + * FIXME: we should use hash for the effective search. + */ +static struct makenode *lookup_target(const char *name) +{ + struct makenode *t; + + for (t = tree_list; t; t = t->next) + if (! strcmp(t->name, name)) + return t; + return NULL; +} + +/* + * look for the node with the given name. if not exist, + * create a new one and append to the node list. + */ +static struct makenode *add_target(const char *name) +{ + struct makenode *__restrict node; + struct makenode *prev, *t; + + node = lookup_target(name); + if (node) + return node; + if (posix_memalign((void*)&node, sizeof(void*), alignof(struct makenode)+strsize(name)) < 0) { + fprintf(stderr, "Can't malloc: %s\n", strerror(errno)); + exit(1); + } + memset(node, 0, alignof(struct makenode)+strsize(name)); + node->name = ((char*)node)+alignof(struct makenode); + strcpy(node->name, name); + + /* append to the list in alphabetical order */ + prev = NULL; + for (t = tree_list; t; prev = t, t = t->next) + if (strcmp(node->name, t->name) < 0) + break; + if (prev) + prev->next = node; + else + tree_list = node; + node->next = t; + tree_entries++; + return node; +} + +/* + * Set and propagate importance of a node to all depencies of this node + */ +static void add_importance(struct makenode *node, int importance) +{ + struct makelist *s = node->depend; + + node->importance += importance; + for (s = node->depend; s; s = s->next) + add_importance(s->node, importance); +} + +/* + * create a dependecy/selection node + */ +static struct makelist *new_list(struct makenode *node, struct makelist *next) +{ + struct makelist *x; + + x = xcalloc(1, sizeof(*x)); + x->node = node; + x->next = next; + return x; +} + +/* + * check whether the given target would create an infinte loop + */ +static int loop; +static int check_loop(struct makenode *dep, struct makenode *src) +{ + struct makelist *s; + for (s = dep->depend; s; s = s->next) { + if (s->node == src) { + fprintf(stderr, "loop exists %s in %s!\n", dep->name, src->name); + return 1; + } + if (loop++ > 999) + return 1; + if (check_loop(s->node, src)) + return 1; + } + return 0; +} + +/* + * add to the dependecy and selection lists + */ +static void add_depend(struct makenode *node, const char *dst) +{ + struct makenode *dep; + + dep = add_target(dst); + loop = 0; + if (check_loop(dep, node)) + return; + dep->select = new_list(node, dep->select); + dep->num_sels++; + node->depend = new_list(dep, node->depend); + node->num_deps++; +} + +/* + * mark the selected service as an interactive task + * that should run solely + */ +static void mark_interactive(const char *name) +{ + struct makenode *node = lookup_target(name); + if (node) + node->interactive = 1; +} + + +#define DELIMITER " \t\r\n" + +/* + * parse (pseudo) makefile + * + * it may have only the following form: + * + * TARGETS = xxx ... + * INTERACTIVE = yyy ... + * aaa: + * bbb: xxx ddd ... + * + * other lines are ignored. + */ +void parse_makefile(const char *path) +{ + FILE *fp; + char buf[LINE_MAX]; /* FIXME: is this enough big? */ + char *s, *strp, *p; + struct makenode *node; + +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 + int fd; + + if (getuid() == (uid_t)0) + o_flags |= O_NOATIME; + if ((fd = open(path, o_flags)) < 0) { + fprintf(stderr, "Can't open %s: %s\n", path, strerror(errno)); + exit(1); + } + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_WILLNEED); + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL); + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_NOREUSE); + + if ((fp = fdopen(fd, "r")) == NULL) +#else + if ((fp = fopen(path, "r")) == NULL) +#endif + { + fprintf(stderr, "Can't open %s: %s\n", path, strerror(errno)); + exit(1); + } + + while (fgets(buf, sizeof(buf), fp)) { + for (s = buf; *s && isspace(*s); s++) + ; + if (! *s || *s == '#') + continue; + if (! strncmp(s, "TARGETS =", 9)) { + s += 9; + strp = s; + while ((s = strsep(&strp, DELIMITER))) { + if (! *s) + continue; + add_target(s); + } + } else if (! strncmp(s, "INTERACTIVE =", 13)) { + s += 13; + strp = s; + while ((s = strsep(&strp, DELIMITER))) { + if (! *s) + continue; + mark_interactive(s); + } + } else { + p = strchr(s, ':'); + if (! p) + continue; + *p = 0; + node = add_target(s); + strp = p + 1; + while ((s = strsep(&strp, DELIMITER))) { + if (! *s) + continue; + add_depend(node, s); + } + } + } + +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED); +#endif + + fclose(fp); + + for (node = tree_list; node; node = node->next) { + int importance = 0; + + if (! strcmp(node->name, "xdm")) + importance = 100; + + if (! strncmp(node->name, "early", 5)) + importance = 8000; + + if (importance) + add_importance(node, importance); + } +} + +/* + * filter out the list targets + */ + +static int filter_prefix; +static int dirfilter(const struct dirent *d) +{ + return *d->d_name == filter_prefix && + strlen(d->d_name) >= 4; /* to be sure */ +} + +static void filter_files(const char *dir, int prefix, int inverse) +{ + char path[64]; + int i, ndirs; + static struct dirent **dirlist; + struct makenode *t, *next; + + filter_prefix = prefix; +#ifdef SUSE /* SuSE */ + snprintf(path, sizeof(path), "/etc/init.d/%s.d", dir); +#else /* Debian */ + snprintf(path, sizeof(path), "/etc/%s.d", dir); +#endif +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 + if ((i = open(path, o_flags|O_DIRECTORY|O_LARGEFILE)) >= 0) { + (void)posix_fadvise(i, 0, 0, POSIX_FADV_SEQUENTIAL); + (void)posix_fadvise(i, 0, 0, POSIX_FADV_NOREUSE); + } +#endif + ndirs = scandir(path, &dirlist, dirfilter, alphasort); +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 + if (i >= 0) { + (void)posix_fadvise(i, 0, 0, POSIX_FADV_DONTNEED); + close(i); + } +#endif + /* mark all matching nodes */ + if (ndirs >= 0) { + for (i = 0; i < ndirs; i++) { + t = lookup_target(dirlist[i]->d_name + 3); + if (t) { + t->status = 1; + if (asprintf(&t->arg0, "%s/%s", path, dirlist[i]->d_name) < 0) + t->arg0 = (char*)0; + } + free(dirlist[i]); + } + free(dirlist); + } + /* deselect non-matching nodes */ + for (t = tree_list; t; t = next) { + next = t->next; + if ((! t->status && ! inverse) || (t->status && inverse)) { + /* remove from the list */ + struct makelist *x, *nx; + struct makenode *p; + for (x = t->select; x; x = nx) { + nx = x->next; + x->node->num_deps--; + free(x); + } + for (x = t->depend; x; x = nx) { + nx = x->next; + x->node->num_sels--; + free(x); + } + if (t == tree_list) + tree_list = next; + else { + for (p = tree_list; p->next != t; p = p->next) + ; + p->next = next; + } + /* don't free the node instance itself - it may be selected + * by others + */ + tree_entries--; + continue; + } + t->status = 0; + } +} + +/* + * mark the unnecessary services as finished. + * + * action is either boot, start or stop. + * prev and run are the previous and the next runlevel. + */ +void check_run_files(const char *action, const char *prev, const char *run) +{ + char buf[4] = "rc0"; + if (! strcmp(action, "boot")) { +#ifdef SUSE /* SuSE */ + filter_files("boot", 'S', 0); + } else if (! strcmp(action, "halt")) { + filter_files("boot", 'K', 0); + } else if (! strcmp(action, "start")) { + buf[2] = *prev; + filter_files(buf, 'K', 1); + buf[2] = *run; + filter_files(buf, 'S', 0); + } else { + buf[2] = *prev; + filter_files(buf, 'K', 0); + buf[2] = *run; + filter_files(buf, 'S', 1); +#else /* Debian */ + filter_files("rcS", 'S', 0); + } else if (! strcmp(action, "start")) { + buf[2] = *prev; + filter_files(buf, 'S', 1); + buf[2] = *run; + filter_files(buf, 'S', 0); + } else { + buf[2] = *prev; + filter_files(buf, 'K', 1); + buf[2] = *run; + filter_files(buf, 'K', 0); +#endif + } +} + + +/* + * call blogger + */ +#if 0 +static void blogger(char *fmt, ...) +{ + va_list ap; + char buf[128]; + int len; + + strcpy(buf, "blogger \""); + len = strlen(buf); + va_start(ap, fmt); + vsnprintf(buf + len, sizeof(buf) - len - 1, fmt, ap); + strcat(buf, "\""); + system(buf); + va_end(ap); +} +#else +# define blogger(arg...) +#endif + + +/* + * pick up the next running task + * return NULL if not found. + */ +struct makenode *pickup_task(void) +{ + struct makenode *node, *best = (struct makenode*)0; + + for (node = tree_list; node; node = node->next) { + if ((! node->status) && (! node->num_deps) && + ((! best) || (node->importance > best->importance))) { + best = node; + } + } + if (best) { +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 + char path[128]; + int fd; + snprintf(path, sizeof(path), "/etc/init.d/%s", best->name); + if ((fd = open(path, o_flags|O_DIRECT)) >= 0) { + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_WILLNEED); + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_SEQUENTIAL); + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_NOREUSE); + close(fd); + } +#endif + blogger("service %s", best->name); + best->status = T_RUNNING; + } + return best; +} + +/* + * finish the running task + */ +void finish_task(struct makenode *node) +{ + struct makelist *n; + + if (! node) + return; + for (n = node->select; n; n = n->next) + n->node->num_deps--; +#if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 600 + { + char path[128]; + int fd; + snprintf(path, sizeof(path), "/etc/init.d/%s", node->name); + if ((fd = open(path, o_flags|O_DIRECT)) >= 0) { + (void)posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED); + close(fd); + } + } +#endif + node->status = T_FINISHED; + blogger("service %s done", node->name); +} + + +/* + * Print out the status that bash can run eval. + * The following things will be printed: + * failed services, skipped services and the current progress value. + */ +void print_run_result(int *resvec, struct makenode **nodevec, const char *action) +{ + int i, r, stop = (! strcmp(action, "stop")); + + printf("failed_service=\""); + i = r = 0; + for (i = 0; i < tree_entries; i++) { +#if DEBUG + if (resvec[i] == 255) { + fprintf(stderr, "ERROR: forgotten process??\n"); + exit(1); + } +#endif + if (resvec[i] >= 1 && resvec[i] <= 4) { + if (r) + printf(" "); + printf("%s", nodevec[i]->name); + r++; + } else if (!stop && resvec[i] == 7) { + if (r) + printf(" "); + printf("%s", nodevec[i]->name); + r++; + } + } + printf("\"\n"); + printf("skipped_service=\""); + i = r = 0; + for (i = 0; i < tree_entries; i++) { + if (resvec[i] == 5 || resvec[i] == 6) { + if (r) + printf(" "); + printf("%s", nodevec[i]->name); + r++; + } + } + printf("\"\n"); +} + +#if DEBUG +void dump_status(void) +{ + struct makenode *node; + + for (node = tree_list; node; node = node->next) + fprintf(stderr, "XXX %s: status = %d, dep = %d, int = %d, imp = %d\n", + node->name, node->status, node->num_deps, node->interactive, node->importance); +} +#endif + +#ifdef TEST +void *xcalloc(size_t nmemb, size_t size) +{ + void *r; + if ((r = (void *)calloc(nmemb, size)) == 0) { + fprintf(stderr, "calloc: out of memory\n"); + exit(1); + } + return r; +} + +int main(int argc, char **argv) +{ + struct makenode *nodevec; + char makefile[64]; + + if (argc != 4) { + fprintf(stderr, "usage: makeboot [ ]\n"); + goto out; + } + + snprintf(makefile, sizeof(makefile), "depend.%s", argv[1]); + parse_makefile(makefile); + + fprintf(stderr, "check_run_files(%s, %s, %s)\n", argv[1], argv[2], + argv[3]); + check_run_files(argv[1], argv[2], argv[3]); +out: + while ((nodevec = pickup_task())) { + fprintf(stdout, "%s (%s)\n", nodevec->name, nodevec->arg0); + finish_task(nodevec); + } + + return 0; +} +#endif --- sysvinit-2.88dsf.orig/debian/startpar/startpar.c +++ sysvinit-2.88dsf/debian/startpar/startpar.c @@ -0,0 +1,1171 @@ +/* Copyright (c) 2003 SuSE Linux AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + **************************************************************** + */ + +#ifndef _GNU_SOURCE +#define _GNU_SOURCE 1 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "makeboot.h" +#include "proc.h" + +#define timerdiff(n,l) (__extension__ ({ (((n).tv_sec-(l).tv_sec)*1000)+(((n).tv_usec-(l).tv_usec)/1000); })) + +typedef enum _boolean {false, true} boolean; +extern char *optarg; +extern int optind; + +static long int numcpu = -1; +static char *myname; +static struct termios tio; +static struct winsize wz; +static struct { + char env_row[128]; + char env_col[128]; +} sz; +static sig_atomic_t wzok; +static char *arg; +static boolean isstart; +static struct sigaction sa; +static struct timeval glastio; +static struct timeval now; +static struct timeval lastlim; +static char *run_mode = NULL; +static struct makenode **nodevec; + +static enum { Unknown, Preload, NoPreload } ispreload = Unknown; + +#define PBUF_SIZE 8192 +struct prg { + const char *name; + const char *arg0; + int num; + int fd; + pid_t pid; + struct timeval lastio; + size_t len; + int splashadd; + char buf[PBUF_SIZE]; +}; + +static struct prg *prgs; +static int inpar, par; +static int pidpipe[2]; +static double iorate = 800.0; + +void sighandler_nopreload(int x) +{ + (void)x; + ispreload = NoPreload; +} + + +void sighandler_preload(int x) +{ + (void)x; + ispreload = Preload; +} + +void *xcalloc(size_t nmemb, size_t size) +{ + void *r; + if ((r = (void *)calloc(nmemb, size)) == 0) + { + fprintf(stderr, "calloc: out of memory\n"); + exit(1); + } + return r; +} + +static int splashpos = -1; +static char *splashcfg; + +int calcsplash(int x, int n, char *opt) +{ + char *p; + int i; + int r, d; + + if (opt == 0) + return -1; + for (i = 0; i <= x; i++) + { + if ((p = strchr(opt, ':')) == 0) + break; + if (i == x) + return atoi(opt); + opt = p + 1; + } + r = atoi(opt); + n -= i; + for (;; i++, n--) + { + if (n < 1) + n = 1; + d = r / n; + if (i == x) + return d; + r -= d; + } +} + +pid_t splashpid; + +void waitsplash() +{ + int status; + if (!splashpid) + return; + do { + waitpid(splashpid, &status, 0); + } while (errno == EINTR); + splashpid = 0; +} + +void closeall(void) +{ + int s; + + if (!prgs) + return; + for (s = 0; s < par; s++) + if (prgs[s].fd) + close(prgs[s].fd); + close(pidpipe[0]); + close(pidpipe[1]); +} + +void callsplash(int n, const char *path, char *action) +{ + const char *p; + char sbuf[32]; + char tbuf[256]; + pid_t pid; + struct stat stb; + + if (n < 0 || splashpos < 0) + return; + if (splashpos + n > 65535) + n = 65535 - splashpos; + splashpos += n; + if (stat("/proc/splash", &stb)) + return; + p = strrchr(path, '/'); + if (p) + path = p + 1; + for (p = path; *p; p++) + if ((*p == 'S' || *p == 'K') && p[1] >= '0' && p[1] <= '9' && p[2] >= '0' && p[2] <= '9' && p[3]) + break; + if (*p) + p += 3; + else + p = path; + if (!action) + action = ""; + if (strlen(p) + strlen(action) + 2 > sizeof(tbuf)) + return; + sprintf(tbuf, "%s%s%s", p, *action ? " " : "", action); + sprintf(sbuf, "%d:%d", splashpos - n, n); + waitsplash(); + pid = fork(); + if (pid == (pid_t)-1) + return; + if (pid) + { + splashpid = pid; + return; + } + while (dup2(2, 1) < 0 && (errno == EINTR)) + ; + closeall(); + execl("/sbin/splash", "splash", "-p", sbuf, "-t", tbuf, splashcfg, (char *)0); + _exit(1); +} + +void writebuf(struct prg *p) +{ + char *b = p->buf; + int r; + + while (p->len > 0) + { + r = write(2, b, p->len); + if (r < 0) + { + perror("write"); + r = p->len; + } + p->len -= r; + b += r; + } + glastio = now; +} + +static int checksystem(const int par, const boolean start, const boolean limit) +{ + const int pg_size = sysconf(_SC_PAGESIZE); + const long int minphys_bytes = (sysconf(_SC_LONG_BIT) > 32L) ? (2<<22) : (2<<21); + const long int avphys_pg = sysconf(_SC_AVPHYS_PAGES); + long int minphys_pg; + unsigned long int prcs_run, prcs_blked; + int newpar; + + if (avphys_pg < 0) + return 1; + + if (pg_size < 0) + return par; + + if (!start) + minphys_pg = avphys_pg; + else + minphys_pg = minphys_bytes / pg_size; + + if (avphys_pg < minphys_pg) + return 1; + + if (numcpu < 1) + return par; + + if (!limit) + return (par*numcpu); + + if (read_proc(&prcs_run, &prcs_blked)) + return par; + + /* if we have preload running, we expect I/O not to be a problem */ + if (ispreload != NoPreload) + prcs_blked = 0; + + newpar = (par*numcpu) - prcs_run + 1; /* +1 for startpar its self */ + newpar -= (int)(((double)prcs_blked)*iorate); /* I/O load reduction */ + +#if DEBUG + fprintf(stderr, "checksystem par=%d newpar=%d (prcs_run=%lu) %ld\n", par, newpar, prcs_run, time(0)); + dump_status(); +#endif + if (newpar <= 0) + return 1; + else + return newpar; +} + +static inline int checklimit(const int par, const boolean start) +{ + return checksystem(par, start, true); +} + +static inline int checkpar(const int par, const boolean start) +{ + return checksystem(par, start, false); +} + +#define SOCK_PATH "/dev/shm/preload_sock" + +void run(struct prg *p) +{ + char *m = 0; + pid_t parent = getpid(); + + p->len = 0; + p->pid = (pid_t)0; + p->fd = getpt(); + if (p->fd <= 0) + { + p->fd = 0; + perror("getpt"); + fprintf(stderr, "could not get pty for %s\n", p->name); + } + else if ((m = ptsname(p->fd)) == 0 || grantpt(p->fd) || unlockpt(p->fd)) + { + fprintf(stderr, "could not init pty for %s\n", p->name); + close(p->fd); + p->fd = 0; + } + if ((p->pid = fork()) == (pid_t)-1) + { + perror("fork"); + fprintf(stderr, "could not fork %s\n", p->name); + p->pid = 0; + if (p->fd) + { + close(p->fd); + p->fd = 0; + } + return; + } + if (p->pid != 0) + return; + + (void)signal(SIGINT, SIG_DFL); + (void)signal(SIGQUIT, SIG_DFL); + (void)signal(SIGSEGV, SIG_DFL); + (void)signal(SIGTERM, SIG_DFL); + (void)signal(SIGCHLD, SIG_DFL); + + if (setpgid(0, 0)) + perror("setpgid"); + + if (m && p->fd) + { + while (close(1) < 0 && (errno == EINTR)) + ; + if (open(m, O_RDWR) != 1) + { + perror(m); + _exit(1); + } + while (dup2(1, 2) < 0 && (errno == EINTR)) + ; + tio.c_oflag &= ~OPOST; + if (tcsetattr(1, TCSANOW, &tio)) + perror("tcsetattr"); + if (wzok) + ioctl(1, TIOCSWINSZ, &wz); + putenv(sz.env_row); + putenv(sz.env_col); + } + else + { + while (dup2(2, 1) < 0 && (errno == EINTR)) + ; + } + + closeall(); + + if (!strcmp(arg, "start")) + { + int s, t, len; + pid_t child; + struct sockaddr_un remote; + char str[100]; + + s = socket(AF_UNIX, SOCK_STREAM, 0); + if (s != -1) + { + memset(&remote, 0, sizeof(struct sockaddr_un)); + remote.sun_family = AF_UNIX; + strcpy(remote.sun_path, SOCK_PATH); + len = strlen(remote.sun_path) + sizeof(remote.sun_family); + + t = connect(s, (struct sockaddr *)&remote, len); + if (t != -1) + { + if (ispreload != Preload) + kill(parent, SIGUSR1); + send(s, p->name, strlen(p->name), 0); + recv(s, str, 100, 0); + } + else if ( ispreload == Unknown) + { + /* + * if we connected to preload once, we know it ran. + * In case we can't connect to it later, it means it did + * its job and we can guess I/O is no longer a problem. + */ + kill(parent, SIGUSR2); + } + close(s); + /* + * if we use preload, we fork again to make bootcharts easier to read. + * The reason is that the name of the init script will otherwise be used + * when in reality the above code waited for preload. If we fork away + * before the exec, the waiting code will be folded into startpar + */ + child = fork(); + if (child) { + int status; + int ret = waitpid(child, &status, 0); + if (ret == -1) + perror("waitpid"); + exit(WEXITSTATUS(status)); + } + } + } + + if (run_mode) + { + char path[128]; + snprintf(path, sizeof(path), "/etc/init.d/%s", p->name); + execlp(path, p->arg0, arg, (char *)0); + } + else if (arg) + execlp(p->name, p->arg0, arg, (char *)0); + else + execlp(p->name, p->arg0, (char *)0); + perror(p->name); + _exit(1); +} + +int run_single(const char *prg, const char *arg0, int spl) +{ + pid_t pid; + int r; + + if ((pid = fork()) == (pid_t)-1) + { + perror("fork"); + fprintf(stderr, "could not fork %s\n", prg); + return 1; + } + + if (pid == 0) + { + (void)signal(SIGINT, SIG_DFL); + (void)signal(SIGQUIT, SIG_DFL); + (void)signal(SIGSEGV, SIG_DFL); + (void)signal(SIGTERM, SIG_DFL); + (void)signal(SIGCHLD, SIG_DFL); + + while (dup2(2, 1) < 0 && (errno == EINTR)) + ; + closeall(); + if (run_mode) + { + char path[128]; + snprintf(path, sizeof(path), "/etc/init.d/%s", prg); + execlp(path, arg0 ? arg0 : path, arg, (char *)0); + } + else if (arg) + execlp(prg, arg0 ? arg0 : prg, arg, (char *)0); + else + execlp(prg, arg0 ? arg0 : prg, (char *)0); + perror(prg); + _exit(1); + } + + while ((waitpid(pid, &r, 0) == (pid_t)-1) && (errno == EINTR)) + ; + callsplash(spl, prg, arg); + return WIFEXITED(r) ? WEXITSTATUS(r) : (WIFSIGNALED(r) ? 1 : 255); +} + +void do_forward(void) +{ + char buf[4096], *b; + int r, rr; + setsid(); + while ((r = read(0, buf, sizeof(buf))) > 0) + { + b = buf; + while (r > 0) + { + rr = write(1, b, r); + if (rr == -1) + { + perror("write"); + rr = r; + } + r -= rr; + } + } + _exit(0); +} + +static char *gtimo_buf; +static size_t gtimo_bufsize; +static size_t gtimo_buflen; + +void storebuf(struct prg *p) +{ + if ((gtimo_buflen + p->len) > gtimo_bufsize) + { + writebuf(p); /* In case of overflow or memory shortage */ + return; + } + + (void)memcpy(gtimo_buf + gtimo_buflen, p->buf, p->len); + gtimo_buflen += p->len; + p->len = 0; + glastio = now; +} + +void flushbuf(void) +{ + size_t len = gtimo_buflen; + char * buf = gtimo_buf; + + if (!buf) + return; /* In case of memory shortage */ + + while (len > 0) + { + int r = write(2, buf, len); + if (r < 0) + { + perror("write"); + r = len; + } + len -= r; + buf += r; + } + gtimo_buflen = 0; + *gtimo_buf = 0; +} + +#define GTIMO_OFFL 0 +#define GTIMO_USED 1 + +void detach(struct prg *p, const int store) +{ + int r; + int flags = fcntl(p->fd, F_GETFL); + + if (flags > 0) + flags |= FNONBLOCK; + else + flags = FNONBLOCK; + + fcntl(p->fd, F_SETFL, flags); + while ((r = read(p->fd, p->buf, sizeof(p->buf))) > 0) + { + p->len = r; + if (store) + storebuf(p); + else + writebuf(p); + } + flags &= ~FNONBLOCK; + fcntl(p->fd, F_SETFL, flags); + if (r == -1 && errno == EWOULDBLOCK) + { + if ((r = fork()) == 0) + { + while (dup2(p->fd, 0) < 0 && (errno == EINTR)) + ; + while (dup2(2, 1) < 0 && (errno == EINTR)) + ; + closeall(); + execlp(myname, myname, "-f", "--", p->name, NULL); + do_forward(); + } + if (r == -1) + perror("fork"); + } + close(p->fd); + p->fd = 0; +} + +static void sigchld(int sig __attribute__ ((unused))) +{ + char c = 0; + write(pidpipe[1], &c, 1); +} + +static void sigwinch(int sig __attribute__ ((unused))) +{ + if (ioctl(0, TIOCGWINSZ, &wz) < 0) + { + wzok = 0; + return; + } + if (wz.ws_row == 0) wz.ws_row = 24; + if (wz.ws_col == 0) wz.ws_col = 80; + snprintf(sz.env_row, sizeof(sz.env_row), "LINES=%d", wz.ws_row); + snprintf(sz.env_col, sizeof(sz.env_col), "COLUMNS=%d", wz.ws_col); +} + +void usage(int status) +{ + fprintf(stderr, "usage: startpar [options] [-a arg] prgs\n"); + fprintf(stderr, " run given programs parallel\n"); + fprintf(stderr, " startpar [options] [-P prev] [-R run] [-S :] -M mode\n"); + fprintf(stderr, " run parallel with Makefile\n"); + fprintf(stderr, " startpar -v\n"); + fprintf(stderr, " show version number\n"); + fprintf(stderr, "general options:\n"); + fprintf(stderr, " -p parallel tasks\n"); + fprintf(stderr, " -t I/O timeout\n"); + fprintf(stderr, " -T global I/O timeout\n"); + exit(status); +} + +int main(int argc, char **argv) +{ + int gtimo = -1; + int timo = -1; + int isgtimo; + int forw = 0; + int c, i, num; + int limit; + int *resvec; + fd_set rset; + struct timeval tv; + struct prg *p; + char pipebuf[16]; + struct prg *gtimo_running = 0; + struct prg *interactive_task = NULL; + char *prev_level = getenv("PREVLEVEL"); + char *run_level = getenv("RUNLEVEL"); + char *splashopt = 0; + + (void)signal(SIGUSR1, sighandler_preload); + (void)signal(SIGUSR2, sighandler_nopreload); + + (void)signal(SIGCHLD, SIG_DFL); + numcpu = sysconf(_SC_NPROCESSORS_ONLN); + myname = argv[0]; + + while ((c = getopt(argc, argv, "fhp:t:T:a:M:P:R:S:vi:")) != EOF) + { + switch(c) + { + case 'p': + par = atoi(optarg); + break; + case 't': + timo = atoi(optarg); + break; + case 'T': + gtimo = atoi(optarg); + break; + case 'f': + forw = 1; + break; + case 'a': + arg = optarg; + break; + case 'M': + run_mode = optarg; + break; + case 'P': + prev_level = optarg; + break; + case 'R': + run_level = optarg; + break; + case 'S': + splashopt = optarg; + break; + case 'v': + printf("startpar version %s\n", VERSION); + exit(0); + case 'h': + usage(0); + break; + case 'i': + iorate = atof(optarg); + if (iorate < 0.0) + iorate = 800.0; + break; + default: + usage(1); + break; + } + } + if (forw) + do_forward(); + argc -= optind; + argv += optind; + + if (splashopt) + { + char *so = strchr(splashopt, ':'); + if (!so) + splashopt = 0; + else + { + splashpos = atoi(splashopt); + splashopt = so + 1; + } + splashcfg = getenv("SPLASHCFG"); + if (!splashcfg) + { + splashpos = -1; + splashopt = 0; + } + } + if (run_mode) + { + char makefile[64]; + if (!strcmp(run_mode, "boot")) + arg = "start"; + else if (!strcmp(run_mode, "halt")) + arg = "stop"; + else if (!strcmp(run_mode, "start") || !strcmp(run_mode, "stop")) + { + arg = run_mode; + if (!prev_level || !run_level) + { + fprintf(stderr, "You must specify previous and next runlevels\n"); + exit(1); + } + } + else + { + fprintf(stderr, "invalid run mode %s\n", run_mode); + exit(1); + } + snprintf(makefile, sizeof(makefile), "/etc/init.d/.depend.%s", run_mode); + parse_makefile(makefile); + check_run_files(run_mode, prev_level, run_level); + + argc = tree_entries; /* number of handled scripts */ + isstart = !strcmp(arg, "start"); + + if (argc == 0) + exit(0); + + if (par == 0) + par = 4; + if (par > argc) /* not more than the number of all scripts */ + par = argc; + + inpar = par; /* the original argument of parallel procs per cpu */ + + par = checkpar(inpar, isstart); /* the number of parallel procs on all cpu's */ + + if (par > argc) /* not more than the number of all scripts */ + par = argc; + + nodevec = xcalloc(argc, sizeof(*nodevec)); + } + else + { + if (par < 0) + usage(1); + + if (arg) + isstart = !strcmp(arg, "start"); + + if (argc == 0) + exit(0); + + if (par == 0) + par = argc; + if (par > argc) /* not more than the number of all scripts */ + par = argc; + + inpar = par; /* the original argument of parallel procs per cpu */ + + par = checkpar(inpar, isstart); /* the number of parallel procs on all cpu's */ + + if (par > argc) /* not more than the number of all scripts */ + par = argc; + } + + num = 0; + resvec = (int *)xcalloc(argc, sizeof(int)); + for (i = 0; i < argc; i++) + resvec[i] = 255; + + if (argc == 1) + { + if (run_mode) + { + if ((*nodevec = pickup_task())) + { + *resvec = run_single((*nodevec)->name, (*nodevec)->arg0, calcsplash(0, 1, splashopt)); + finish_task(*nodevec); + } + } else + *resvec = run_single(*argv, *argv, calcsplash(0, 1, splashopt)); + goto finished; + } + + prgs = (struct prg *)xcalloc(par, sizeof *prgs); + gtimo_bufsize = par * PBUF_SIZE; + gtimo_buf = (char *) calloc(gtimo_bufsize, sizeof(char)); + if (!gtimo_buf) + gtimo_bufsize = 0; /* Accept error due memory shortage */ + + sa.sa_handler = sigwinch; + sa.sa_flags = SA_RESTART|SA_NODEFER; + (void)sigemptyset(&sa.sa_mask); + if (sigaction(SIGWINCH, &sa, 0)) + { + perror("sigwinch sigaction"); + exit(1); + } + + if (tcgetattr(0, &tio)) + { + perror("tcgetattr"); + exit(1); + } + if (ioctl(0, TIOCGWINSZ, &wz) == 0) + wzok = 1; + if (wz.ws_row == 0) wz.ws_row = 24; + if (wz.ws_col == 0) wz.ws_col = 80; + + strcat(&sz.env_row[0], "LINES="); + strcat(&sz.env_col[0], "COLUMNS="); + snprintf(sz.env_row, sizeof(sz.env_row), "LINES=%d", wz.ws_row); + snprintf(sz.env_col, sizeof(sz.env_col), "COLUMNS=%d", wz.ws_col); + + if (pipe(pidpipe)) + { + perror("pipe"); + exit(1); + } + fcntl(pidpipe[0], F_SETFL, FNONBLOCK); + fcntl(pidpipe[1], F_SETFL, FNONBLOCK); + sa.sa_handler = sigchld; + sa.sa_flags = SA_RESTART; + (void)sigemptyset(&sa.sa_mask); + if (sigaction(SIGCHLD, &sa, 0)) + { + perror("sigchld sigaction"); + exit(1); + } + + gettimeofday(&glastio, 0); + limit = checklimit(inpar, isstart); + lastlim = glastio; + for (;;) + { + int active = 0; + int maxfd = -1; + int last = -1; + pid_t pid = 0; + int r = 0, s; + long diff; + + gettimeofday(&now, 0); + FD_ZERO(&rset); + tv = now; + + if ((diff = timerdiff(now, lastlim)) >= 300 || diff < 0) + { +#if DEBUG + fprintf(stderr, "%d: doing checklimit after %ldms %ld\n", getpid(), diff, time(0)); +#endif + if ((limit = checklimit(inpar, isstart)) > argc) + limit = argc; /* not more than the number of all scripts */ + lastlim = now; + diff = 0; + } +#if DEBUG + fprintf(stderr, "par=%d, inpar=%d, limit=%d (diff=%ld)\n", par, inpar, limit, diff); +#endif + for (s = 0; s < par; s++) /* never leave this with break!! */ + { + account: /* for the new process below */ + p = prgs + s; + if (p == interactive_task) + continue; /* don't count this here */ + if (p->fd || p->pid) + active++; /* count all running procs */ + if (p->fd == 0) + { + if (interactive_task) + continue; /* dont't start new processes */ + if (num >= argc) + continue; /* nothing to do */ + if (p->pid == 0) + { + if (active >= limit) + continue; /* load balancing */ + if (run_mode) + { + if ((nodevec[num] = pickup_task()) == NULL) + continue; + if (nodevec[num]->interactive) + interactive_task = p; + p->name = nodevec[num]->name; + p->arg0 = nodevec[num]->arg0 ? nodevec[num]->arg0 : nodevec[num]->name; + } + else { + p->name = *argv++; + p->arg0 = p->name; + } + p->splashadd = calcsplash(num, argc, splashopt); + p->num = num++; + if (interactive_task) + continue; /* don't start this here */ + run(p); + if (p->pid == 0) + { + resvec[p->num] = 1; + if (run_mode) + finish_task(nodevec[p->num]); + } + gettimeofday(&now, 0); + tv = now; + goto account; /* take the new process into account */ + } + continue; + } + FD_SET(p->fd, &rset); + if (p->fd > maxfd) + maxfd = p->fd; + if (p->len == 0) + continue; + if ((last < 0) || timercmp(&tv,&p->lastio,>)) + { + last = s; + tv = p->lastio; + } + } /* for (s = 0; s < par; s++) */ + + if (interactive_task) + { + if (active == 0) + { + p = interactive_task; + resvec[p->num] = run_single(p->name, p->arg0, p->splashadd); + if (run_mode) + finish_task(nodevec[p->num]); + p->pid = 0; + p->fd = 0; + interactive_task = NULL; + continue; + } + } + + if (active == 0) + { + if (num < argc) + fprintf(stderr, "ERROR: not all processed (%d of %d)\n", num, argc); +#if DEBUG + if ((pid = waitpid(-1, &r, (maxfd < 0 ? 0 : WNOHANG)|WUNTRACED)) > 0) + fprintf(stderr, "ERROR: not all processes are checked\n"); +#endif + break; + } +#if DEBUG + fprintf(stderr, "active = %d\n", active); +#endif + if (active == 1 && last >= 0) + { + p = prgs + last; + if ((pid = waitpid(p->pid, &r, (maxfd < 0 ? 0 : WNOHANG)|WUNTRACED)) == 0) + { + writebuf(p); + continue; + } + } + + FD_SET(pidpipe[0], &rset); + /* drain the pidpipe */ + while ((c = read(pidpipe[0], pipebuf, sizeof pipebuf)) > 0) + ; + + if (pid == 0) + pid = waitpid(-1, &r, (maxfd < 0 ? 0 : WNOHANG)|WUNTRACED); + + if (pid > 0) + { + if (pid == splashpid) + splashpid = (pid_t)0; + for (s = 0; s < par; s++) + { + p = prgs + s; + if (p->pid == pid) + { + if (WIFSTOPPED(r)) + { + if (WSTOPSIG(r) == SIGTTIN) + { + pid_t pg = getpgid(pid); + if (pg > 0) + killpg(pg, SIGCONT); + } + continue; + } + callsplash(p->splashadd, p->name, arg); + resvec[p->num] = WIFEXITED(r) ? WEXITSTATUS(r) : (WIFSIGNALED(r) ? 1 : 255); + if (run_mode) + finish_task(nodevec[p->num]); + p->pid = 0; + if (gtimo_running == p) + { + writebuf(p); + if (p->fd) + detach(p, GTIMO_OFFL); + flushbuf(); + gtimo_running = 0; + } + else if (gtimo_running) + { + storebuf(p); + if (p->fd) + detach(p, GTIMO_USED); + } + else + { + writebuf(p); + if (p->fd) + detach(p, GTIMO_OFFL); + } + break; + } + } /* for (s = 0; s < par; s++) */ + continue; + } + + if (maxfd < 0) + continue; /* start new processes? */ + + if (timo >= 0) + tv.tv_sec += timo; + + isgtimo = 0; + if (gtimo >= 0 && !gtimo_running && last >= 0 && prgs[last].pid) + { + struct timeval gl = glastio; + gl.tv_sec += gtimo; + if ((timo < 0) || timercmp(&tv,&gl,>)) + { + tv = glastio; + tv.tv_sec += gtimo; + isgtimo = 1; + } + } + + r = 0; + if (timo >= 0 || isgtimo) + { + int setfd = (pidpipe[0] > maxfd) ? pidpipe[0] : maxfd; + struct timeval wait; + + timersub(&tv, &now, &wait); + if (wait.tv_usec < 0) + { + wait.tv_usec += 1000000; + wait.tv_sec--; + } + if (wait.tv_sec >= 0) + { + int check = limit < par && num < argc; + + if (check) /* shorten timeout for new limit and procs ... */ + { + wait.tv_sec = 0; + wait.tv_usec = (300 - diff) * 1000; + } +#if DEBUG + fprintf(stderr, "going into select1 %d %ld %ld\n", last, wait.tv_sec, wait.tv_usec); +#endif + r = select(setfd + 1, &rset, 0, 0, (last >= 0 || check) ? &wait : 0); + + if (check && (r == 0)) /* ... but do not throw out messages to early!!! */ + continue; + } + else + { + wait.tv_sec = 0; /* Avoid looping around (does this ever happen?) */ + wait.tv_usec = 20*1000; + r = select(setfd + 1, &rset, 0, 0, last >= 0 ? &wait : 0); + } + } + else + { + int setfd = (pidpipe[0] > maxfd) ? pidpipe[0] : maxfd; + r = select(setfd + 1, &rset, 0, 0, 0); + } + + if (r == -1) + { + if (errno == EINTR) + continue; + perror("select"); + exit(1); + } + if (r == 0) + { + if (last < 0) /* just in case... */ + continue; + p = prgs + last; + writebuf(p); + if (isgtimo && p->pid) + gtimo_running = p; + } + else + { + for (s = 0; s < par; s++) + { + p = prgs + s; + if (p->fd == 0) + continue; + if (!FD_ISSET(p->fd, &rset)) + continue; + r = read(p->fd, p->buf + p->len, sizeof(p->buf) - p->len); + if (r <= 0) + { + if (!gtimo_running || p == gtimo_running) + writebuf(p); + close(p->fd); + p->fd = 0; + break; + } + p->len += r; + if (p->len == sizeof(p->buf)) + { + for (i = p->len - 1; i >= 0; i--) + { + if (p->buf[i] == '\n') + break; + } + if (++i <= 0) + i = p->len; + p->len = i; + writebuf(p); + p->len = i; /* writebuf clears p->len */ + if (p->len < sizeof(p->buf)) + memmove(p->buf, p->buf + p->len, sizeof(p->buf) - p->len); + p->len = sizeof(p->buf) - p->len; + } + p->lastio = now; + } /* for (s = 0; s < par; s++) */ + } + } /* for (;;) */ + + finished: + waitsplash(); + if (run_mode) + print_run_result(resvec, nodevec, run_mode); + else + { + for (i = 0; i < argc; i++) + { +#if DEBUG + if (resvec[i] == 255) + { + fprintf(stderr, "ERROR: forgotten process??\n"); + exit (1); + } +#endif +#if VERBOSE + printf(i ? " %d" : "%d", resvec[i]); +#endif /* VERBOSE */ + } +#if VERBOSE + printf("\n"); +#endif /* VERBOSE */ + } + return 0; +} --- sysvinit-2.88dsf.orig/debian/startpar/proc.c +++ sysvinit-2.88dsf/debian/startpar/proc.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2004 SuSE Linux AG + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING); if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + **************************************************************** + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "proc.h" + +static unsigned long int scan_one(const char* buff, const char *key) +{ + const char *b = strstr(buff, key); + unsigned long val = 0; + + if (!b) { + fprintf(stderr, "ERROR: no hit for %s\n", key); + return ~0UL; + } + if (sscanf(b + strlen(key), " %lu", &val) != 1) + return 0; + return val; +} + +int read_proc(unsigned long int * const prcs_run, unsigned long int * const prcs_blked) +{ + char StatBuf[2048], *ptr = &StatBuf[0]; + unsigned long int running, blocked; + ssize_t len; + size_t skip; + FILE *stat; + + *prcs_run = 0; + *prcs_blked = 0; + + if ((stat = fopen("/proc/stat", "r")) == (FILE*)0) { + fprintf(stderr, "ERROR: could not open /proc/stat: %s\n", strerror(errno)); + return 1; + } + + len = sizeof(StatBuf); + while ((len > 0) && (fgets(ptr, len, stat))) { + if (ptr[0] != 'p') + continue; + skip = strlen(ptr); + len -= skip; + ptr += skip; + } + fclose(stat); + + /* These fields are not present in /proc/stat for 2.4 kernels */ + running = scan_one(StatBuf, "procs_running"); + blocked = scan_one(StatBuf, "procs_blocked"); + + if (running == ~0UL || blocked == ~0UL) + return 1; + + *prcs_run = running; + *prcs_blked = blocked; + + return 0; +} --- sysvinit-2.88dsf.orig/debian/startpar/startpar.8 +++ sysvinit-2.88dsf/debian/startpar/startpar.8 @@ -0,0 +1,116 @@ +.\" +.\" SuSE man page for startpar +.\" Copyright (c) 2003 SuSE Linux AG, Nuernberg, Germany. +.\" please send bugfixes or comments to feedback@suse.de. +.\" +.\" Author: Michael Schroeder +.\" +.TH STARTPAR 8 "Jun 2003" +.SH NAME +startpar \- start runlevel scripts in parallel + +.SH SYNOPSIS +.B startpar +.RB [ \-p +.IR par ] +.RB [ \-i +.IR iorate ] +.RB [ \-t +.IR timeout ] +.RB [ \-T +.IR global_timeout ] +.RB [ \-a +.IR arg ] +.B prg1 +.B prg2 +.B ... +.br +.B startpar +.RB [ \-p +.IR par ] +.RB [ \-i +.IR iorate ] +.RB [ \-t +.IR timeout ] +.RB [ \-T +.IR global_timeout ] +.B \-M [ +.IR boot | start | stop ] + +.SH DESCRIPTION +startpar is used to run multiple run\-level scripts in parallel. +The degree of parallelism on one +.B CPU +can be set with the +.B \-p +option, the default is full parallelism. An argument to all of +the scripts can be provided with the +.B \-a +option. +Processes block by pending +.B I/O +will weighting by the factor +.IR 800 . +To change this factor the option +.B \-i +can be used to specify an other value. + +The output of each script is buffered and written when the script +exits, so output lines of different scripts won't mix. You can +modify this behaviour by setting a timeout. + +The timeout set with the +.B \-t +option is used as buffer timeout. If the output buffer of a +script is not empty and the last output was +.I timeout +seconds ago, startpar will flush the buffer. + +The +.B \-T +option timeout works more globally. If no output is printed for +more than +.I global_timeout +seconds, startpar will flush the buffer of the script with +the oldest output. Afterwards it will only print output of this +script until it is finished. + +The +.B \-M +option switches +.B startpar +into a +.BR make (1) +like behaviour. This option takes three different arguments: +.IR boot ", " start ", and " stop +for reading +.IR .depend.boot " or " .depend.start " or " .depend.stop +respectively in the directory +.IR /etc/init.d/ . +By scanning the boot and runlevel directories in +.I /etc/init.d/ +it then executes the appropriate scripts in parallel. + +.SH FILES +.I /etc/init.d/.depend.boot +.br +.I /etc/init.d/.depend.start +.br +.I /etc/init.d/.depend.stop + +.SH SEE ALSO +.BR init.d (7), +.BR insserv (8), +.BR startproc (8). + +.SH COPYRIGHT +2003,2004 SuSE Linux AG, Nuernberg, Germany. +.br +2007 SuSE LINUX Products GmbH, Nuernberg, Germany. + +.SH AUTHOR +Michael Schroeder +.br +Takashi Iwai +.br +Werner Fink --- sysvinit-2.88dsf.orig/debian/startpar/patches/02_posix_fadvise_kfreebsd.patch +++ sysvinit-2.88dsf/debian/startpar/patches/02_posix_fadvise_kfreebsd.patch @@ -0,0 +1,19 @@ +Purpose: posix_fadvise() is not present in Debian/kfreebsd. Provide + compatibility define for platforms which do not support it + and make it a no-op. +Fixes: #534337 +Authour: Petr Salinger +Status: Submitted upstream. +--- +--- a/makeboot.c ++++ b/makeboot.c +@@ -17,6 +17,9 @@ + # include + # include + # include ++#ifndef POSIX_FADV_SEQUENTIAL ++#define posix_fadvise(fd, off, len, adv) (-1) ++#endif + static int o_flags = O_RDONLY; + #endif + --- sysvinit-2.88dsf.orig/debian/startpar/patches/00_not_suse.patch +++ sysvinit-2.88dsf/debian/startpar/patches/00_not_suse.patch @@ -0,0 +1,14 @@ +Purpose: Disable the SUSE flag. +Fixes: None, made as part of Debian porting. +Authour: Kel Modderman +Status: Debian specific, showed to upstream. +--- +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ + VERSION = 0.53.1 +-ISSUSE = -DSUSE ++ISSUSE = -DNOTSUSE + + INSTALL = install -m 755 + INSTALL_DATA = install -m 644 --- sysvinit-2.88dsf.orig/debian/startpar/patches/series +++ sysvinit-2.88dsf/debian/startpar/patches/series @@ -0,0 +1,10 @@ +00_not_suse.patch +01_dev_pts_workaround.patch +02_posix_fadvise_kfreebsd.patch +03_o_direct_undef.patch +04_makeboot_loop_upper_bound.patch +05_pri_kdm_gdm.patch +06_stdin_notty.patch +07_nocrash_missing_arg.patch +08_kfreebsd_proc_error_debug.patch +09_noninteractive_ignore_sigint.patch --- sysvinit-2.88dsf.orig/debian/startpar/patches/03_o_direct_undef.patch +++ sysvinit-2.88dsf/debian/startpar/patches/03_o_direct_undef.patch @@ -0,0 +1,17 @@ +Purpose: O_DIRECT is undefined on Debian/hurd. +Fixes: #534471 +Authour: Samuel Thibault +Status: Submitted upstream. +--- +--- a/makeboot.c ++++ b/makeboot.c +@@ -20,6 +20,9 @@ + #ifndef POSIX_FADV_SEQUENTIAL + #define posix_fadvise(fd, off, len, adv) (-1) + #endif ++#ifndef O_DIRECT ++#define O_DIRECT 0 ++#endif + static int o_flags = O_RDONLY; + #endif + --- sysvinit-2.88dsf.orig/debian/startpar/patches/07_nocrash_missing_arg.patch +++ sysvinit-2.88dsf/debian/startpar/patches/07_nocrash_missing_arg.patch @@ -0,0 +1,17 @@ +Purpose: Make sure startpar do not segfault when asked to run scripts + in parallel without using the -a argument option. +Fixes: none +Authour: Petter Reinholdtsen +Status: Sent upstream. + +--- a/startpar.c (revision 1898) ++++ b/startpar.c (working copy) +@@ -366,7 +366,7 @@ + + closeall(); + +- if (!strcmp(arg, "start")) ++ if (arg && !strcmp(arg, "start")) + { + int s, t, len; + pid_t child; --- sysvinit-2.88dsf.orig/debian/startpar/patches/08_kfreebsd_proc_error_debug.patch +++ sysvinit-2.88dsf/debian/startpar/patches/08_kfreebsd_proc_error_debug.patch @@ -0,0 +1,28 @@ +Purpose: Debian GNU/kFreeBSD does not have procs_running/procs_blocked + fields in /proc/stat. Avoid frequent messages about it. +Fixes: #590560 +Authour: Petr Salinger +Status: Not yet submitted upstream. + +--- a/proc.c ++++ b/proc.c +@@ -35,7 +35,9 @@ static unsigned long int scan_one(const + unsigned long val = 0; + + if (!b) { ++#if DEBUG + fprintf(stderr, "ERROR: no hit for %s\n", key); ++#endif + return ~0UL; + } + if (sscanf(b + strlen(key), " %lu", &val) != 1) +@@ -69,7 +71,8 @@ int read_proc(unsigned long int * const + } + fclose(stat); + +- /* These fields are not present in /proc/stat for 2.4 kernels */ ++ /* These fields are not present in /proc/stat for 2.4 kernels ++ or GNU/kFreeBSD */ + running = scan_one(StatBuf, "procs_running"); + blocked = scan_one(StatBuf, "procs_blocked"); + --- sysvinit-2.88dsf.orig/debian/startpar/patches/06_stdin_notty.patch +++ sysvinit-2.88dsf/debian/startpar/patches/06_stdin_notty.patch @@ -0,0 +1,42 @@ +Purpose: Make sure startpar do not fail when booting OpenVZ machines, + where stdin/stdout is a pipe and not a tty. If no tty is + used, run all scripts sequencially, as if they were interactive. + A better approach would be to get parallel booting working in + such setting. +Fixes: #584102 +Authour: Petter Reinholdtsen, with modification from Kel Modderman to + co-exist with 01_dev_pts_workaround.patch without fuzz. +Status: Not applied upstream + +--- a/startpar.c ++++ b/startpar.c +@@ -698,6 +698,7 @@ int main(int argc, char **argv) + char *prev_level = getenv("PREVLEVEL"); + char *run_level = getenv("RUNLEVEL"); + char *splashopt = 0; ++ int notty = 0; + + (void)signal(SIGUSR1, sighandler_preload); + (void)signal(SIGUSR2, sighandler_nopreload); +@@ -880,8 +881,7 @@ int main(int argc, char **argv) + + if (tcgetattr(0, &tio)) + { +- perror("tcgetattr"); +- exit(1); ++ notty = 1; + } + if (ioctl(0, TIOCGWINSZ, &wz) == 0) + wzok = 1; +@@ -976,9 +976,9 @@ int main(int argc, char **argv) + p->num = num++; + if (interactive_task) + continue; /* don't start this here */ +- if (!devpts) ++ if (!devpts || notty) + { +- interactive_task = p; /* no /dev/pts, treat as interactive */ ++ interactive_task = p; /* no /dev/pts or tty, treat as interactive */ + continue; + } + run(p); --- sysvinit-2.88dsf.orig/debian/startpar/patches/04_makeboot_loop_upper_bound.patch +++ sysvinit-2.88dsf/debian/startpar/patches/04_makeboot_loop_upper_bound.patch @@ -0,0 +1,22 @@ +Purpose: Increase number of allowed dependency checking loops in makeboot.c. + 999 seems to be too low, which causes make like boot to use an + incorrect sequence. +Fixes: None. +Authour: Kel Modderman +Status: Applied upstream. +--- +--- a/makeboot.c ++++ b/makeboot.c +@@ -117,8 +117,11 @@ static int check_loop(struct makenode *d + fprintf(stderr, "loop exists %s in %s!\n", dep->name, src->name); + return 1; + } +- if (loop++ > 999) ++ if (loop++ > 99999) { ++ fprintf(stderr, "too many loops! (loop=%d, dep->name=%s, src->name=%s)\n", ++ loop, dep->name, src->name); + return 1; ++ } + if (check_loop(s->node, src)) + return 1; + } --- sysvinit-2.88dsf.orig/debian/startpar/patches/01_dev_pts_workaround.patch +++ sysvinit-2.88dsf/debian/startpar/patches/01_dev_pts_workaround.patch @@ -0,0 +1,128 @@ +Purpose: Workaround case where /dev/pts is not mounted initially, but + is mounted during the lifetime of startpar process. Scripts + must be treated as interactive until /dev/pts is mounted and + getpt() is able open the pseudo-terminal master and return + its file descriptor. + + Reimpliment __posix_openpt() from glibc, as it does not retry + to open the pseudo-terminal master if it failed to do so earlier + in the process lifetime. + + On SuSe /dev/pts is always mounted in very early boot and this + hack is never needed. +Authour: Petter Reinholdtsen, modified by Kel Modderman +Fixes: #457896 +Status: Submitted to upstream. +--- +--- a/startpar.c ++++ b/startpar.c +@@ -33,6 +33,9 @@ + #include + #include + #include ++#ifndef SUSE ++#include ++#endif + #include + #include + #include +@@ -295,6 +298,70 @@ static inline int checkpar(const int par + + #define SOCK_PATH "/dev/shm/preload_sock" + ++#ifdef SUSE ++static int checkdevpts(void) ++{ ++ /* /dev/pts is always mounted */ ++ return 1; ++} ++#else ++/* ++ * Based on __posix_openpt() from glibc. Reimplemented here to work ++ * around the problem with getpt() failing for the entire process life ++ * time if /dev/pts/ is missing the first time it is called but ++ * mounted while the process is running. BSD style pts is not ++ * supported, but might be copied from glibc too if there is need. ++ */ ++#define DEVFS_SUPER_MAGIC 0x1373 ++#define DEVPTS_SUPER_MAGIC 0x1cd1 ++ ++static int startpar_getpt(void) { ++ int fd = open("/dev/ptmx", O_RDWR|O_NOCTTY); ++ ++ if (fd != -1) ++ { ++ struct statfs fsbuf; ++ ++ /* Check that the /dev/pts filesystem is mounted ++ or if /dev is a devfs filesystem (this implies /dev/pts). */ ++ if ((statfs ("/dev/pts", &fsbuf) == 0 ++ && fsbuf.f_type == DEVPTS_SUPER_MAGIC) ++ || (statfs ("/dev", &fsbuf) == 0 ++ && fsbuf.f_type == DEVFS_SUPER_MAGIC)) ++ { ++ /* Everything is ok, switch to the getpt() in libc. */ ++ return fd; ++ } ++ ++ /* If /dev/pts is not mounted then the UNIX98 pseudo terminals ++ are not usable. */ ++ close (fd); ++ } ++ ++ return -1; ++} ++ ++static int checkdevpts(void) ++{ ++ int ptsfd = startpar_getpt(); ++ ++ if (ptsfd == -1) ++ { ++ return 0; ++ } ++ else if (ptsname(ptsfd) == 0 || grantpt(ptsfd) || unlockpt(ptsfd)) ++ { ++ close(ptsfd); ++ return 0; ++ } ++ else ++ { ++ close(ptsfd); ++ return 1; ++ } ++} ++#endif ++ + void run(struct prg *p) + { + char *m = 0; +@@ -853,6 +920,7 @@ int main(int argc, char **argv) + pid_t pid = 0; + int r = 0, s; + long diff; ++ int devpts = 0; + + gettimeofday(&now, 0); + FD_ZERO(&rset); +@@ -874,6 +942,8 @@ int main(int argc, char **argv) + for (s = 0; s < par; s++) /* never leave this with break!! */ + { + account: /* for the new process below */ ++ if (!devpts) ++ devpts = checkdevpts(); + p = prgs + s; + if (p == interactive_task) + continue; /* don't count this here */ +@@ -906,6 +976,11 @@ int main(int argc, char **argv) + p->num = num++; + if (interactive_task) + continue; /* don't start this here */ ++ if (!devpts) ++ { ++ interactive_task = p; /* no /dev/pts, treat as interactive */ ++ continue; ++ } + run(p); + if (p->pid == 0) + { --- sysvinit-2.88dsf.orig/debian/startpar/patches/05_pri_kdm_gdm.patch +++ sysvinit-2.88dsf/debian/startpar/patches/05_pri_kdm_gdm.patch @@ -0,0 +1,21 @@ +Purpose: Try to get udev, kdm and gdm to start earlier during boot. +Fixes: None. +Authour: Petter Reinholdtsen +Status: Not applied upstream +Index: a/makeboot.c +=================================================================== +--- a/makeboot.c (revision 1780) ++++ b/makeboot.c (working copy) +@@ -236,7 +236,11 @@ + for (node = tree_list; node; node = node->next) { + int importance = 0; + +- if (! strcmp(node->name, "xdm")) ++ if (! strcmp(node->name, "xdm") ++ || ! strcmp(node->name, "udev") ++ || ! strcmp(node->name, "gdm") ++ || ! strcmp(node->name, "gdm3") ++ || ! strcmp(node->name, "kdm")) + importance = 100; + + if (! strncmp(node->name, "early", 5)) --- sysvinit-2.88dsf.orig/debian/startpar/patches/09_noninteractive_ignore_sigint.patch +++ sysvinit-2.88dsf/debian/startpar/patches/09_noninteractive_ignore_sigint.patch @@ -0,0 +1,30 @@ +--- a/startpar.c ++++ b/startpar.c +@@ -397,7 +397,6 @@ + if (p->pid != 0) + return; + +- (void)signal(SIGINT, SIG_DFL); + (void)signal(SIGQUIT, SIG_DFL); + (void)signal(SIGSEGV, SIG_DFL); + (void)signal(SIGTERM, SIG_DFL); +@@ -511,7 +510,9 @@ + + if (pid == 0) + { ++ /* Interactive init scripts may be interrupted */ + (void)signal(SIGINT, SIG_DFL); ++ + (void)signal(SIGQUIT, SIG_DFL); + (void)signal(SIGSEGV, SIG_DFL); + (void)signal(SIGTERM, SIG_DFL); +@@ -700,6 +701,9 @@ + char *splashopt = 0; + int notty = 0; + ++ /* By default, init scripts should not be interruptible */ ++ (void)signal(SIGINT, SIG_IGN); ++ + (void)signal(SIGUSR1, sighandler_preload); + (void)signal(SIGUSR2, sighandler_nopreload); + --- sysvinit-2.88dsf.orig/debian/patches/10_doc_manuals.dpatch +++ sysvinit-2.88dsf/debian/patches/10_doc_manuals.dpatch @@ -0,0 +1,78 @@ +Purpose: Misc patches to manual pages +Authour: the Debian ALSA psychos +Fixes: - +Status: unknown + +--- a/man/init.8 ++++ b/man/init.8 +@@ -39,21 +39,34 @@ + only a selected group of processes to exist. The processes spawned by + \fBinit\fP for each of these runlevels are defined in the + \fB/etc/inittab\fP file. \fBInit\fP can be in one of eight runlevels: +-\fB0\(en6\fP and \fBS\fP or \fBs\fP. The runlevel is ++\fB0\(en6\fP and \fBS\fP (a.k.a. \fBs\fP). The runlevel is + changed by having a privileged user run \fBtelinit\fP, which sends + appropriate signals to \fBinit\fP, telling it which runlevel to change + to. + .PP +-Runlevels \fB0\fP, \fB1\fP, and \fB6\fP are reserved. Runlevel 0 is used to +-halt the system, runlevel 6 is used to reboot the system, and runlevel +-1 is used to get the system down into single user mode. Runlevel \fBS\fP +-is not really meant to be used directly, but more for the scripts that are +-executed when entering runlevel 1. For more information on this, ++Runlevels \fBS\fP, \fB0\fP, \fB1\fP, and \fB6\fP are reserved. ++Runlevel S is used to initialize the system on boot. ++When starting runlevel S (on boot) ++or runlevel 1 (switching from a multi-user runlevel) ++the system is entering ``single-user mode'', after which the ++current runlevel is S. ++Runlevel 0 is used to halt the system; ++runlevel 6 is used to reboot the system. ++.PP ++After booting through S the system automatically enters one of ++the multi-user runlevels 2 through 5, unless there was some ++problem that needs to be fixed by the administrator in ++single-user mode. ++Normally after entering single-user mode ++the administrator performs maintenance and then reboots the system. ++.PP ++For more information, + see the manpages for \fBshutdown\fP(8) and \fBinittab\fP(5). + .PP + Runlevels 7-9 are also valid, though not really documented. This is + because "traditional" Unix variants don't use them. +-In case you're curious, runlevels \fIS\fP and \fIs\fP are in fact the same. ++.PP ++Runlevels \fIS\fP and \fIs\fP are the same. + Internally they are aliases for the same runlevel. + .\"}}} + .PP +@@ -65,9 +78,10 @@ + entry (or no \fB/etc/inittab\fP at all), a runlevel must be + entered at the system console. + .PP +-Runlevel \fBS\fP or \fBs\fP bring the system to single user mode +-and do not require an \fB/etc/inittab\fP file. In single user mode, +-\fB/sbin/sulogin\fP is invoked on \fB/dev/console\fP. ++Runlevel \fBS\fP or \fBs\fP initialize the system ++and do not require an \fB/etc/inittab\fP file. ++.PP ++In single user mode, \fB/sbin/sulogin\fP is invoked on \fB/dev/console\fP. + .PP + When entering single user mode, \fBinit\fP initializes the consoles + \fBstty\fP settings to sane values. Clocal mode is set. Hardware +@@ -266,6 +280,14 @@ + for them. If the processes change their group, \fBinit\fP can't + kill them and you may end up with two processes reading from one + terminal line. ++.PP ++On a Debian system, entering runlevel 1 causes all processes ++to be killed except for kernel threads and the script that does ++the killing and other processes in its session. ++As a consequence of this, it isn't safe to return from runlevel 1 ++to a multi-user runlevel: daemons that were started in runlevel S ++and are needed for normal operation are no longer running. ++The system should be rebooted. + .\"}}} + .\"{{{ Diagnostics + .SH DIAGNOSTICS --- sysvinit-2.88dsf.orig/debian/patches/series +++ sysvinit-2.88dsf/debian/patches/series @@ -0,0 +1,8 @@ +10_doc_manuals.dpatch +20_init_freebsd_vswtc.patch +30_killall5_hurd.patch +40_multiarch_libcrypt.patch +63_init_keep_utf8_ttyflag.patch +64_init_selinux_enabled.patch +91_sulogin_lockedpw.dpatch +92_sulogin_support_static_sh.patch --- sysvinit-2.88dsf.orig/debian/patches/63_init_keep_utf8_ttyflag.patch +++ sysvinit-2.88dsf/debian/patches/63_init_keep_utf8_ttyflag.patch @@ -0,0 +1,23 @@ +Purpose: Make sure the utf-8 flag is not cleared from the tty. +Authour: Samuel Thibault +Fixes: #547073 +Status: Not applied upstream. + +Index: src/init.c +=================================================================== +--- trunk.orig/src/init.c (revision 1869) ++++ trunk/src/init.c (working copy) +@@ -784,10 +784,11 @@ + /* + * Set pre and post processing + */ +- tty.c_iflag = IGNPAR|ICRNL|IXON|IXANY; ++ tty.c_iflag = IGNPAR|ICRNL|IXON|IXANY + #ifdef IUTF8 /* Not defined on FreeBSD */ +- tty.c_iflag |= IUTF8; ++ | (tty.c_iflag & IUTF8) + #endif /* IUTF8 */ ++ ; + tty.c_oflag = OPOST|ONLCR; + tty.c_lflag = ISIG|ICANON|ECHO|ECHOCTL|ECHOPRT|ECHOKE; + --- sysvinit-2.88dsf.orig/debian/patches/20_init_freebsd_vswtc.patch +++ sysvinit-2.88dsf/debian/patches/20_init_freebsd_vswtc.patch @@ -0,0 +1,17 @@ +Purpose: kFreeBSD is missing VSWTC, provide workaround. +Authour: Petter Reinholdtsen +Fixes: #579293 +Status: Not sent upstream. + +--- sysvinit.old/src/init.c (revision 1869) ++++ sysvinit/src/init.c (working copy) +@@ -770,7 +770,9 @@ + tty.c_cc[VEOF] = CEOF; + tty.c_cc[VTIME] = 0; + tty.c_cc[VMIN] = 1; ++#ifdef VSWTC /* not defined on FreeBSD */ + tty.c_cc[VSWTC] = _POSIX_VDISABLE; ++#endif /* VSWTC */ + tty.c_cc[VSTART] = CSTART; + tty.c_cc[VSTOP] = CSTOP; + tty.c_cc[VSUSP] = CSUSP; --- sysvinit-2.88dsf.orig/debian/patches/64_init_selinux_enabled.patch +++ sysvinit-2.88dsf/debian/patches/64_init_selinux_enabled.patch @@ -0,0 +1,40 @@ +Purpose: Try to fix the logic used to enable SELinux +Authour: Petter Reinholdtsen +Fixes: #580272 +Status: Not sent upstream yet + +--- sysvinit-2.88dsf.orig/src/init.c (revision 1888) ++++ sysvinit-2.88dsf/src/init.c (working copy) +@@ -54,10 +54,6 @@ + + #ifdef WITH_SELINUX + # include +-# include +-# ifndef MNT_DETACH /* present in glibc 2.10, missing in 2.7 */ +-# define MNT_DETACH 2 +-# endif + #endif + + #ifdef __i386__ +@@ -2869,11 +2865,9 @@ + + #ifdef WITH_SELINUX + if (getenv("SELINUX_INIT") == NULL) { +- const int rc = mount("proc", "/proc", "proc", 0, 0); +- if (is_selinux_enabled() > 0) { +- putenv("SELINUX_INIT=YES"); +- if (rc == 0) umount2("/proc", MNT_DETACH); ++ if (is_selinux_enabled() != 1) { + if (selinux_init_load_policy(&enforce) == 0) { ++ putenv("SELINUX_INIT=YES"); + execv(myname, argv); + } else { + if (enforce > 0) { +@@ -2884,7 +2878,6 @@ + } + } + } +- if (rc == 0) umount2("/proc", MNT_DETACH); + } + #endif + /* Start booting. */ --- sysvinit-2.88dsf.orig/debian/patches/30_killall5_hurd.patch +++ sysvinit-2.88dsf/debian/patches/30_killall5_hurd.patch @@ -0,0 +1,30 @@ +Purpose: Hurd is missing PATH_MAX, provide workaround. +Authour: Werner Fink +Fixes: ? +Status: Not send upstream + +--- sysvinit.orig/src/killall5.c (revision 1869) ++++ sysvinit/src/killall5.c (working copy) +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -59,6 +60,14 @@ + + char *Version = "@(#)killall5 2.86 31-Jul-2004 miquels@cistron.nl"; + ++#ifndef PATH_MAX ++# ifdef MAXPATHLEN ++# define PATH_MAX MAXPATHLEN ++# else ++# define PATH_MAX 2048 ++# endif ++#endif ++ + #define STATNAMELEN 15 + #define DO_NETFS 2 + #define DO_STAT 1 --- sysvinit-2.88dsf.orig/debian/patches/40_multiarch_libcrypt.patch +++ sysvinit-2.88dsf/debian/patches/40_multiarch_libcrypt.patch @@ -0,0 +1,21 @@ +Purpose: Use multiarch library search path to find and link with libcrypt +Author: Roger Leigh +Fixes: #629677 +Status: Not sent upstream. + +--- sysvinit-2.88dsf.original/src/Makefile 2011-06-09 14:45:17.442273576 +0100 ++++ sysvinit-2.88dsf/src/Makefile 2011-06-09 14:46:43.267345934 +0100 +@@ -77,10 +77,15 @@ + SULOGINLIBS = + endif + ++LIBDIR=/usr/lib + # Additional libs for GNU libc. + ifneq ($(wildcard /usr/lib*/libcrypt.a),) ++ SULOGINLIBS += -lcrypt ++else ++ifneq ($(wildcard $(LIBDIR)*/libcrypt.a),) + SULOGINLIBS += -lcrypt + endif ++endif + --- sysvinit-2.88dsf.orig/debian/patches/91_sulogin_lockedpw.dpatch +++ sysvinit-2.88dsf/debian/patches/91_sulogin_lockedpw.dpatch @@ -0,0 +1,50 @@ +debian/patches/91_sulogin_lockedpw.dpatch (Thom May): +Purpose: Make sure file systems can be fixed on machines with locked + root accounts too, by presenting a shell in these cases. +Authour: Thom May and Ubuntu. +Fixes: #326678 +Status: unknown + +--- trunk.orig/src/sulogin.c 2009-09-30 10:59:13.000000000 +0200 ++++ trunk/src/sulogin.c 2009-09-30 10:59:13.000000000 +0200 +@@ -241,7 +241,11 @@ + fprintf(stderr, "%s: no entry for root\n", F_SHADOW); + strcpy(pwd.pw_passwd, ""); + } +- if (!valid(pwd.pw_passwd)) { ++ ++ /* disabled passwords are valid too */ ++ if (!(strcmp(pwd.pw_passwd, "*") == 0) || ++ !(strcmp(pwd.pw_passwd, "!") == 0) || ++ !valid(pwd.pw_passwd)) { + fprintf(stderr, "%s: root password garbled\n", F_SHADOW); + strcpy(pwd.pw_passwd, ""); } + return &pwd; +@@ -469,6 +473,14 @@ + fprintf(stderr, "sulogin: cannot open password database!\n"); + sleep(2); + } ++ /* ++ * If the root password is locked, fire up a shell ++ */ ++ if ((strcmp(pwd->pw_passwd, "*") == 0) || ++ (strcmp(pwd->pw_passwd, "!") == 0)) { ++ /* fprintf(stderr, "sulogin: root account is locked, starting shell\n"); */ ++ sushell(pwd); ++ } + + /* + * Ask for the password. +--- trunk.orig/man/sulogin.8 2009-07-24 11:49:26.000000000 +0200 ++++ trunk/man/sulogin.8 2009-09-30 10:59:49.000000000 +0200 +@@ -22,6 +22,10 @@ + .br + (or type Control\-D for normal startup): + .PP ++If the root account is locked, as is the default on Ubuntu, no password ++prompt is displayed and \fIsulogin\fR behaves as if the correct password ++were entered. ++.PP + \fIsulogin\fP will be connected to the current terminal, or to the + optional device that can be specified on the command line + (typically \fB/dev/console\fP). --- sysvinit-2.88dsf.orig/debian/patches/92_sulogin_support_static_sh.patch +++ sysvinit-2.88dsf/debian/patches/92_sulogin_support_static_sh.patch @@ -0,0 +1,26 @@ +Index: sysvinit-2.87dsf/src/sulogin.c +=================================================================== +--- sysvinit-2.87dsf.orig/src/sulogin.c 2010-01-18 09:41:41.012271775 +0100 ++++ sysvinit-2.87dsf/src/sulogin.c 2010-01-18 09:44:01.902272010 +0100 +@@ -40,7 +40,8 @@ + #define F_PASSWD "/etc/passwd" + #define F_SHADOW "/etc/shadow" + #define BINSH "/bin/sh" +-#define STATICSH "/bin/sash" ++#define STATICSH "/bin/static-sh" ++#define STATICSH_SASH "/bin/sash" + + char *Version = "@(#)sulogin 2.85-3 23-Apr-2003 miquels@cistron.nl"; + +@@ -373,6 +374,11 @@ + setenv("SHELL", STATICSH, 1); + execl(STATICSH, STATICSH, NULL); + perror(STATICSH); ++ ++ /* Fall back to sash */ ++ setenv("SHELL", STATICSH_SASH, 1); ++ execl(STATICSH_SASH, STATICSH_SASH, NULL); ++ perror(STATICSH_SASH); + } + + void usage(void) --- sysvinit-2.88dsf.orig/debian/service/service.8 +++ sysvinit-2.88dsf/debian/service/service.8 @@ -0,0 +1,96 @@ +.\" A man page for service(8). -*- nroff -*- +.\" +.\" Copyright (C) 2006 Red Hat, Inc. All rights reserved. +.\" +.\" This copyrighted material is made available to anyone wishing to use, +.\" modify, copy, or redistribute it subject to the terms and conditions of the +.\" GNU General Public License v.2. +.\" +.\" This program is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +.\" more details. +.\" +.\" You should have received a copy of the GNU General Public License along +.\" with this program; if not, write to the Free Software Foundation, Inc., +.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +.\" +.\" Author: Miloslav Trmac +.\" Updated by: Petter Reinholdtsen + +.TH service 8 "Jan 2006" + +.SH NAME +service \- run a System V init script + +.SH SYNOPSIS +\fBservice\fR \fISCRIPT\fR \fICOMMAND\fR [\fIOPTIONS\fR] + +\fBservice \-\-status\-all\fR + +\fBservice\fR \fB\-\-help\fR | \fB\-h\fR | \fB\-\-version\fR + +.SH DESCRIPTION +.B service +runs a System V init script or upstart job in as predictable environment as possible, +removing most environment variables +and with current working directory set to \fB/\fR. + +The +.I SCRIPT +parameter specifies a System V init script, +located in \fB/etc/init.d/\fISCRIPT\fR, or the name of an upstart job in /etc/init. The existence of an upstart job of the same name as a script in /etc/init.d will cause the upstart job to take precedence over the init.d script. +The supported values of +.I COMMAND +depend on the invoked script, +.B service +passes +.I COMMAND +and +.I OPTIONS +to the init script unmodified. For upstart jobs, start, stop, status, are passed through to their upstart equivilents. Restart will call the upstart 'stop' for the job, followed immediately by the 'start', and will exit with the return code of the start command. +All scripts should support at least the +.B start +and +.B stop +commands. +As a special case, if +.I COMMAND +is \fB\-\-full-restart\fR, the script is run twice, first with the +.B stop +command, then with the +.B start +command. This option has no effect on upstart jobs. + +.B service \-\-status\-all +runs all init scripts, in alphabetical order, with the +.B status +command. This option only calls status for sysvinit jobs, upstart jobs can be queried in a similar manner with \fBinitctl list\fR'. + +.SH EXIT CODES +.BR service +calls the init script and returns the status returned by it. + +.SH FILES +.TP +\fB/etc/init.d\fR +The directory containing System V init scripts. +.TP +\fB/etc/init\fR +The directory containing upstart jobs. + +.SH ENVIRONMENT +.TP +\fBLANG\fR, \fBTERM\fR +The only environment variables passed to the init scripts. + +.SH SEE ALSO +.IR /etc/init.d/skeleton , +.br +.BR update\-rc.d (8), +.br +.BR init (8), +.br +.BR invoke\-rc.d (8). +.br +.BR initctl (8). --- sysvinit-2.88dsf.orig/debian/service/service +++ sysvinit-2.88dsf/debian/service/service @@ -0,0 +1,143 @@ +#!/bin/sh + +########################################################################### +# /usr/bin/service +# +# A convenient wrapper for the /etc/init.d init scripts. +# +# This script is a modified version of the /sbin/service utility found on +# Red Hat/Fedora systems (licensed GPLv2+). +# +# Copyright (C) 2006 Red Hat, Inc. All rights reserved. +# Copyright (C) 2008 Canonical Ltd. +# * August 2008 - Dustin Kirkland +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# On Debian GNU/Linux systems, the complete text of the GNU General +# Public License can be found in `/usr/share/common-licenses/GPL-2'. +########################################################################### + + +is_ignored_file() { + case "$1" in + skeleton | README | *.dpkg-dist | *.dpkg-old | rc | rcS | single | reboot | bootclean.sh) + return 0 + ;; + esac + return 1 +} + +VERSION="`basename $0` ver. 0.91-ubuntu1" +USAGE="Usage: `basename $0` < option > | --status-all | \ +[ service_name [ command | --full-restart ] ]" +SERVICE= +ACTION= +SERVICEDIR="/etc/init.d" +OPTIONS= + +if [ $# -eq 0 ]; then + echo "${USAGE}" >&2 + exit 1 +fi + +cd / +while [ $# -gt 0 ]; do + case "${1}" in + --help | -h | --h* ) + echo "${USAGE}" >&2 + exit 0 + ;; + --version | -V ) + echo "${VERSION}" >&2 + exit 0 + ;; + *) + if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then + cd ${SERVICEDIR} + for SERVICE in * ; do + case "${SERVICE}" in + functions | halt | killall | single| linuxconf| kudzu) + ;; + *) + if ! is_ignored_file "${SERVICE}" \ + && [ -x "${SERVICEDIR}/${SERVICE}" ]; then + if ! grep -qs "\Wstatus)" "$SERVICE"; then + #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2 + echo " [ ? ] $SERVICE" 1>&2 + continue + else + out=$(env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status 2>&1) + if [ "$?" = "0" -a -n "$out" ]; then + #printf " %s %-60s %s\n" "[+]" "$SERVICE:" "running" + echo " [ + ] $SERVICE" + continue + else + #printf " %s %-60s %s\n" "[-]" "$SERVICE:" "NOT running" + echo " [ - ] $SERVICE" + continue + fi + fi + #env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status + fi + ;; + esac + done + exit 0 + elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then + SERVICE="${1}" + if [ -x "${SERVICEDIR}/${SERVICE}" ]; then + env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" stop + env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" start + exit $? + fi + elif [ -z "${SERVICE}" ]; then + SERVICE="${1}" + elif [ -z "${ACTION}" ]; then + ACTION="${1}" + else + OPTIONS="${OPTIONS} ${1}" + fi + shift + ;; + esac +done + +if [ -r "/etc/init/${SERVICE}.conf" ]; then + # Upstart configuration exists for this job + case "${ACTION}" in + start|stop|status|reload) + # Action is a valid upstart action + exec ${ACTION} ${SERVICE} ${OPTIONS} + ;; + restart) + # Map restart to the usual sysvinit behavior. + stop ${SERVICE} ${OPTIONS} || : + exec start ${SERVICE} ${OPTIONS} + ;; + force-reload) + # Upstart just uses reload for force-reload + exec reload ${SERVICE} ${OPTIONS} + ;; + esac +fi + +# Otherwise, use the traditional sysvinit +if [ -x "${SERVICEDIR}/${SERVICE}" ]; then + exec env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" ${ACTION} ${OPTIONS} +else + echo "${SERVICE}: unrecognized service" >&2 + exit 1 +fi --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/Makefile +++ sysvinit-2.88dsf/debian/src/sysv-rc/Makefile @@ -0,0 +1,46 @@ +DESTDIR = +sysconfdir = /etc +prefix = /usr +docdir = $(prefix)/share/doc/sysv-rc +bindir = $(prefix)/bin +sbindir = $(prefix)/sbin + +INSTALL = install -m755 -o root -g root +INSTALL_DATA = install -m644 -o root -g root + +all: + +install: + $(INSTALL) -d $(DESTDIR)$(docdir)/. + $(INSTALL) -d $(DESTDIR)/var/lib/insserv + $(INSTALL) -d $(DESTDIR)/var/lib/update-rc.d + $(INSTALL) -d $(DESTDIR)$(sysconfdir)/. + $(INSTALL_DATA) doc/* $(DESTDIR)$(docdir)/. + cp -af etc/* $(DESTDIR)$(sysconfdir) + find $(DESTDIR)$(sysconfdir) -type d -name .svn -print0 |xargs -r0 rm -r + + for N in 2 3 4 5 ; do \ + $(INSTALL) -d $(DESTDIR)$(sysconfdir)/rc$${N}.d ; \ + $(INSTALL_DATA) rc2-5.d-README \ + $(DESTDIR)$(sysconfdir)/rc$${N}.d/README ; \ + done + chmod 755 $(DESTDIR)$(sysconfdir)/init.d/[a-z]* + chmod 644 $(DESTDIR)$(sysconfdir)/init.d/README + chmod -R go=u-w $(DESTDIR)$(sysconfdir) + chown -R root:root $(DESTDIR)$(sysconfdir) + + $(INSTALL) -d $(DESTDIR)/usr/share/man/man8/. + $(INSTALL_DATA) man8/*.8 $(DESTDIR)/usr/share/man/man8 +# $(INSTALL) -d $(DESTDIR)/usr/share/man/ja/man8/. +# $(INSTALL_DATA) man8/ja/*.8 $(DESTDIR)/usr/share/man/ja/man8 +# $(INSTALL) -d $(DESTDIR)/usr/share/man/fr.UTF-8/man8/. +# $(INSTALL_DATA) man8/fr.UTF-8/*.8 $(DESTDIR)/usr/share/man/fr.UTF-8/man8 +# $(INSTALL) -d $(tmp)/usr/share/man/es/man8/. +# $(INSTALL_DATA) man8/es/*.8 $(DESTDIR)/usr/share/man/es/man8 + + $(INSTALL) -d $(DESTDIR)$(sbindir)/. + $(INSTALL) sbin/invoke-rc.d $(DESTDIR)$(sbindir) + $(INSTALL) sbin/update-rc.d $(DESTDIR)$(sbindir) + + $(INSTALL) -d $(DESTDIR)/usr/share/sysv-rc/. + $(INSTALL) saveconfig $(DESTDIR)/usr/share/sysv-rc/saveconfig --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/saveconfig +++ sysvinit-2.88dsf/debian/src/sysv-rc/saveconfig @@ -0,0 +1,94 @@ +#! /usr/bin/perl +# +# saveconfig +# +# Print out the configuration of the current /etc/rc?.d +# symlink setup, in a format compatible to the +# "update-rc.d" command line. +# +# Author: Miquel van Smoorenburg +# Adjusted by Petter Reinholdtsen +# + +sub usage { + print STDERR "error: ", @_, "\n" if @_; + print STDERR <] + -s save each scripts setting in directory + -h show usage inforation +EOF +} + +my $archivedir = ""; + +while($#ARGV >= 0 && ($_ = $ARGV[0]) =~ /^-/) { + shift @ARGV; + if (/^-s$/) { $archivedir = shift; usage("Missing -s argument"), exit 1 unless $archivedir; next } + if (/^-h|--help$/) { &usage; } + &usage("unknown option"); +} + +chdir "/etc/init.d"; + +sub scan { + my $dir = shift; + local *DD; + my $f; + opendir DD, $dir; + foreach $f (readdir DD) { + next if ($f =~ m/^\./); + push @{$dir{$dir}}, $f; + } + closedir DD; +} + +foreach my $d (qw(S 0 1 2 3 4 5 6 7 8 9)) { + scan("/etc/rc$d.d"); +} +scan("/etc/init.d"); + +foreach my $s (@{$dir{"/etc/init.d"}}) { + my %start; + my %stop; + my $start = 0; + my $stop = 0; + foreach my $l (qw(S 0 1 2 3 4 5 6)) { + #print "L: $l\n"; + foreach my $f (@{$dir{"/etc/rc$l.d"}}) { + #print "F: $f\n"; + if ($f =~ m#^S(\d+)$s$#) { + $start{$1} .= "$l "; + $start = 1; + } + if ($f =~ m#^K(\d+)$s$#) { + $stop{$1} .= "$l "; + $stop = 1; + } + } + } + my $entry; + if ($start || $stop) { + $entry = "update-rc.d $s "; + if ($start > 0) { + foreach my $x (sort keys %start) { + $entry .= "start $x " . $start{$x} . ". "; + } + } + if ($stop > 0) { + foreach my $x (sort keys %stop) { + $entry .= "stop $x " . $stop{$x} . ". "; + } + } + $entry .= "\n"; + if ($archivedir) { + my $file = "$archivedir/$s"; + open(FILE, ">", "${file}.new") || + die "Unable to write to $file"; + print FILE $entry; + close(FILE); + rename "${file}.new", "$file"; + } else { + print $entry; + } + } +} --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/rc2-5.d-README +++ sysvinit-2.88dsf/debian/src/sysv-rc/rc2-5.d-README @@ -0,0 +1,15 @@ +The scripts in this directory are executed each time the system enters +this runlevel. + +The scripts are all symbolic links whose targets are located in +/etc/init.d/ . + +To disable a service in this runlevel, rename its script in this +directory so that the new name begins with a 'K' and a two-digit +number, and run 'update-rc.d script defaults' to reorder the scripts +according to dependencies. A warning about the current runlevels +being enabled not matching the LSB header in the init.d script will be +printed. To re-enable the service, rename the script back to its +original name beginning with 'S' and run update-rc.d again. + +For a more information see /etc/init.d/README. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/rc1.d/README +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/rc1.d/README @@ -0,0 +1,11 @@ +The scripts in this directory are executed each time the system enters +this runlevel. + +The scripts are all symbolic links whose targets are located in +/etc/init.d/ . + +Generally it is not necessary to alter the scripts in this directory. +Their purpose is to stop all services and thus to put the system in +single-user mode. + +For more information see /etc/init.d/README. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/init.d/README +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/README @@ -0,0 +1,60 @@ + Configuration of System V init under Debian GNU/Linux + +Most Unix versions have a file here that describes how the scripts +in this directory work, and how the links in the /etc/rc?.d/ directories +influence system startup/shutdown. + +For Debian, this information is contained in the policy manual, chapter +"System run levels and init.d scripts". The Debian Policy Manual is +available at: + + http://www.debian.org/doc/debian-policy/#contents + +The Debian Policy Manual is also available in the Debian package +"debian-policy". When this package is installed, the policy manual can be +found in directory /usr/share/doc/debian-policy. If you have a browser +installed you can probably read it at + + file://localhost/usr/share/doc/debian-policy/ + +Some more detailed information can also be found in the files in the +/usr/share/doc/sysv-rc directory. + +Debian Policy dictates that /etc/init.d/*.sh scripts must work properly +when sourced. The following additional rules apply: + +* /etc/init.d/*.sh scripts must not rely for their correct functioning + on their being sourced rather than executed. That is, they must work + properly when executed too. They must include "#!/bin/sh" at the top. + This is useful when running scripts in parallel. + +* /etc/init.d/*.sh scripts must conform to the rules for sh scripts as + spelled out in the Debian policy section entitled "Scripts" (§10.4). + +Use the update-rc.d command to create symbolic links in the /etc/rc?.d +as appropriate. See that man page for more details. + +All init.d scripts are expected to have a LSB style header documenting +dependencies and default runlevel settings. The header look like this +(not all fields are required): + +### BEGIN INIT INFO +# Provides: skeleton +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Should-Start: $portmap +# Should-Stop: $portmap +# X-Start-Before: nis +# X-Stop-After: nis +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: true +# Short-Description: Example initscript +# Description: This file should be used to construct scripts to be +# placed in /etc/init.d. +### END INIT INFO + +More information on the format is available from insserv(8). This +information is used to dynamicaly assign sequence numbers to the +boot scripts and to run the scripts in parallel during the boot. +See also /usr/share/doc/insserv/README.Debian. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/init.d/rc +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/rc @@ -0,0 +1,338 @@ +#! /bin/sh +# +# rc +# +# Starts/stops services on runlevel changes. +# +# Optimization: A start script is not run when the service was already +# configured to run in the previous runlevel. A stop script is not run +# when the the service was already configured not to run in the previous +# runlevel. +# +# Authors: +# Miquel van Smoorenburg +# Bruce Perens + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +export PATH + +# Un-comment the following for interactive debugging. Do not un-comment +# this for debugging a real boot process as no scripts will be executed. +# debug=echo + +# Specify method used to enable concurrent init.d scripts. +# Valid options are 'none' and 'makefile'. Obsolete options +# used earlier are 'shell' and 'startpar'. The obsolete options +# are aliases for 'makefile' since 2010-05-14. The default since +# the same date is 'makefile', as the init.d scripts in Debian now +# include dependency information and are ordered using this +# information. See insserv for information on dependency based +# boot sequencing. +CONCURRENCY=makefile + +# Make sure the name survive changing the argument list +scriptname="$0" + +umask 022 + +on_exit() { + echo "error: '$scriptname' exited outside the expected code flow." +} +trap on_exit EXIT # Enable emergency handler + +# 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 + +# Functions for splash progress bars +if [ -e /lib/init/splash-functions-base ] ; then + . /lib/init/splash-functions-base +else + # Quiet down script if old initscripts version without /lib/init/splash-functions-base is used. + splash_progress() { return 1; } + splash_stop() { return 1; } +fi + +# 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: $scriptname " >&2 + exit 1 +fi +previous=$PREVLEVEL +[ "$previous" = "" ] && previous=N + +export runlevel previous + +if [ -f /etc/default/rcS ] ; then + . /etc/default/rcS +fi +export VERBOSE + +if [ -f /lib/lsb/init-functions ] ; then + . /lib/lsb/init-functions +else + log_action_msg() { echo $@; } + log_failure_msg() { echo $@; } + log_warning_msg() { echo $@; } +fi + +# +# Stub to do progress bar ticks (for splash programs) on startup +# +startup_progress() { + # Avoid divide by zero if anyone moved xdm/kdm/gdm first in a runlevel. + if [ 0 -eq "$num_steps" ] ; then return; fi + + step=$(($step + $step_change)) + progress=$(($step * $progress_size / $num_steps + $first_step)) + $debug splash_progress "$progress" || true +} + +# +# Check if we are able to use make like booting. It require the +# insserv package to be enabled. Boot concurrency also requires +# startpar to be installed. +# +if [ "none" != "$CONCURRENCY" ] ; then + test -s /etc/init.d/.depend.boot || CONCURRENCY="none" + test -s /etc/init.d/.depend.start || CONCURRENCY="none" + test -s /etc/init.d/.depend.stop || CONCURRENCY="none" + if test -e /etc/init.d/.legacy-bootordering ; then + CONCURRENCY="none" + fi + startpar -v > /dev/null 2>&1 || CONCURRENCY="none" +fi + +# +# Start script or program. +# +case "$CONCURRENCY" in + makefile|startpar|shell) # startpar and shell are obsolete + CONCURRENCY=makefile + log_action_msg "Using makefile-style concurrent boot in runlevel $runlevel" + # The splash API is not handled with this CONCURRENCY mode. + # It need to be implented in startpar. Until that is done + # stop the splash screen before starting services, to avoid + # usplash and X to confuse each other during boot. + startup() { + if [ start = "$1" ] || [ boot = "$1" ] + then + $debug splash_stop || true + fi + eval "$(startpar -p 4 -t 20 -T 3 -M $1 -P $previous -R $runlevel)" + + if [ -n "$failed_service" ] + then + log_failure_msg "startpar: service(s) returned failure: $failed_service" + fi + + if [ -n "$skipped_service" ] + then + log_warning_msg "startpar: service(s) skipped: $skipped_service" + fi + + unset failed_service skipped_service + } + ;; + none|*) + startup() { + action=$1 + shift + scripts="$@" + for script in $scripts ; do + $debug "$script" $action + startup_progress + done + } + ;; +esac + +# Check if the splash screen should be stopped before the given +# script. +is_splash_stop_scripts() { + scriptname=$1 + case "$scriptname" in + # killprocs is used in runlevel 1 + gdm|xdm|kdm|ltsp-client|ltsp-client-core|reboot|halt|killprocs) + return 0 + ;; + esac + return 1 +} + +# 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) + ACTION=stop + # Count down from 0 to -100 and use the entire bar + first_step=0 + progress_size=100 + step_change=-1 + ;; + S) + ACTION=start + # 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 + ;; + *) + ACTION=start + # 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 + + # Count the number of scripts we need to run + # (for progress bars) + num_steps=0 + for s in /etc/rc$runlevel.d/[SK]*; do + if is_splash_stop_scripts "${s##/etc/rc$runlevel.d/S??}" ; then + break + fi + num_steps=$(($num_steps + 1)) + done + step=0 + + # First, run the KILL scripts. + if [ makefile = "$CONCURRENCY" ] + then + if [ "$ACTION" = "start" ] && [ "$previous" != N ] + then + startup stop + fi + elif [ "$previous" != N ] + then + # Run all scripts with the same level in parallel + CURLEVEL="" + for s in /etc/rc$runlevel.d/K* + do + # Extract order value from symlink + level=${s#/etc/rc$runlevel.d/K} + level=${level%%[a-zA-Z]*} + if [ "$level" = "$CURLEVEL" ] + then + continue + fi + CURLEVEL=$level + SCRIPTS="" + for i in /etc/rc$runlevel.d/K$level* + do + # Check if the script is there. + [ ! -f $i ] && continue + + # + # Find stop script in previous runlevel but + # no start script there. + # + suffix=${i#/etc/rc$runlevel.d/K[0-9][0-9]} + previous_stop=/etc/rc$previous.d/K[0-9][0-9]$suffix + previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix + # + # If there is a stop script in the previous level + # and _no_ start script there, we don't + # have to re-stop the service. + # + [ -f $previous_stop ] && [ ! -f $previous_start ] && continue + + # Stop the service. + SCRIPTS="$SCRIPTS $i" + if is_splash_stop_scripts "$suffix" ; then + $debug splash_stop || true + fi + done + startup stop $SCRIPTS + done + fi + + if [ makefile = "$CONCURRENCY" ] + then + if [ S = "$runlevel" ] + then + startup boot + else + startup $ACTION + fi + else + # Now run the START scripts for this runlevel. + # Run all scripts with the same level in parallel + CURLEVEL="" + for s in /etc/rc$runlevel.d/S* + do + # Extract order value from symlink + level=${s#/etc/rc$runlevel.d/S} + level=${level%%[a-zA-Z]*} + if [ "$level" = "$CURLEVEL" ] + then + continue + fi + CURLEVEL=$level + SCRIPTS="" + for i in /etc/rc$runlevel.d/S$level* + do + [ ! -f $i ] && continue + + suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]} + if [ "$previous" != N ] + then + # + # Find start script in previous runlevel and + # stop script in this runlevel. + # + 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. + # + if [ start = "$ACTION" ] ; then + [ -f $previous_start ] && [ ! -f $stop ] && continue + else + # Workaround for the special + # handling of runlevels 0 and 6. + previous_stop=/etc/rc$previous.d/K[0-9][0-9]$suffix + # + # If there is a stop script in the previous level + # and _no_ start script there, we don't + # have to re-stop the service. + # + [ -f $previous_stop ] && [ ! -f $previous_start ] && continue + fi + + fi + SCRIPTS="$SCRIPTS $i" + if is_splash_stop_scripts "$suffix" ; then + $debug splash_stop || true + fi + done + startup $ACTION $SCRIPTS + done + fi +fi + +trap - EXIT # Disable emergency handler + +exit 0 + --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/init.d/rcS +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/rcS @@ -0,0 +1,8 @@ +#! /bin/sh +# +# rcS +# +# Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order +# + +exec /etc/init.d/rc S --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/rc0.d/README +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/rc0.d/README @@ -0,0 +1,11 @@ +The scripts in this directory are executed once when entering +runlevel 0. + +The scripts are all symbolic links whose targets are located in +/etc/init.d/ . + +Generally it is not necessary to alter the scripts in this directory. +Their purpose is to stop all services and to make the system ready +for shutdown. + +For more information see /etc/init.d/README. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/rc6.d/README +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/rc6.d/README @@ -0,0 +1,11 @@ +The scripts in this directory are executed once when entering +runlevel 6. + +The scripts are all symbolic links whose targets are located in +/etc/init.d/ . + +Generally it is not necessary to alter the scripts in this directory. +Their purpose is to stop all services and to make the system ready +for reboot. + +For more information see /etc/init.d/README. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/etc/rcS.d/README +++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/rcS.d/README @@ -0,0 +1,12 @@ +The scripts in this directory whose names begin with an 'S' are +executed once when booting the system, even when booting directly into +single user mode. + +The scripts are all symbolic links whose targets are located in +/etc/init.d/ . + +To disable a script in this directory, rename it so that it begins +with a 'K' and run 'update-rc.d script defaults' to update the order +using the script dependencies. + +For more information see /etc/init.d/README. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/man8/invoke-rc.d.8 +++ sysvinit-2.88dsf/debian/src/sysv-rc/man8/invoke-rc.d.8 @@ -0,0 +1,231 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" Authors: Henrique Holschuh +.TH INVOKE\-RC.D 8 "1 March 2001" "Debian Project" "Debian/GNU Linux" +.SH NAME +invoke\-rc.d \- executes System-V style init script actions +.SH SYNOPSIS +.B invoke\-rc.d +.RI [ --quiet ] +.RI [ --force ] +.RI [ --try-anyway ] +.RI [ --disclose-deny ] +.RI [ --query ] +.RI [ --no-fallback ] +.I name +.I action +.RI [ init\ script\ parameters... ] +.HP +.B invoke\-rc.d +.RI [ --help ] +.HP +.SH DESCRIPTION +.B invoke\-rc.d +is a generic interface to execute System V style init script +.BI /etc/init.d/ name \fR +actions, obeying runlevel constraints as well as any local +policies set by the system administrator. + +All access to the init scripts by Debian packages' maintainer +scripts should be done through +.B invoke\-rc.d\fR. + +This manpage documents only the usage and behavior of +.BR invoke\-rc.d . +For a discussion of the System V style init script arrangements please +see +.BR init (8) +and the +.IR "dpkg Programmers' Manual" . +More information on invoke-rc.d can be found in the section on +runlevels and init.d scripts of the +.IR "Debian Policy Manual" . + +.SH INIT SCRIPT ACTIONS +The standard actions are: +.IR start , +.IR stop , +.IR force\-stop , +.IR restart , +.IR reload , +.IR force\-reload , +and +.IR status . +Other actions are accepted, but they can cause problems to +.B policy\-rc.d +(see the +.B INIT SCRIPT POLICY +section), so warnings are generated if the policy layer +is active. + +Please note that not all init scripts will implement all +the actions listed above, and that the policy layer may +override an action to another action(s), or even deny it. + +Any extra parameters will be passed to the init script(s) being +executed. + +If an action must be carried out regardless of any local +policies, use the +.IR --force +switch. + +.SH OPTIONS +.TP +.I --help +Display usage help. +.TP +.I --quiet +Quiet mode, no error messages are generated. +.TP +.I --force +Tries to run the init script regardless of policy and +init script subsystem errors. +.B Use of this option in Debian maintainer scripts is severely discouraged. +.TP +.I --try-anyway +Tries to run the init script if a non-fatal error is +detected. +.TP +.I --disclose-deny +Return status code 101 instead of status code 0 if +the init script action is denied by the policy layer. +.TP +.I --query +Returns one of the status codes 100-106. Does not +run the init script, and implies +.IR --disclose-deny +and +.IR --no-fallback . +.TP +.I --no-fallback +Ignores any fallback action requests by the policy +layer. +.B Warning: +this is usually a very bad idea for any actions other +than +.RI start . +.SH STATUS CODES +Should an init script be executed, +.B invoke\-rc.d +always returns the status code +returned by the init script. Init scripts should not return status codes in +the 100+ range (which is reserved in Debian and by the LSB). The status codes +returned by invoke\-rc.d proper are: +.TP +0 +.IR Success . +Either the init script was run and returned exit status 0 (note +that a fallback action may have been run instead of the one given in the +command line), or it was not run because of runlevel/local policy constrains +and +.B --disclose-deny +is not in effect. +.TP +1 - 99 +Reserved for init.d script, usually indicates a failure. +.TP +100 +.B Init script ID +.BI ( name ) +.BR unknown . +This means the init script was not registered successfully through +.B update\-rc.d +or that the init script does not exist. +.TP +101 +.B Action not allowed\fR. +The requested action will not be performed because of runlevel or local +policy constraints. +.TP +102 +.B Subsystem error\fR. +Init script (or policy layer) subsystem malfunction. Also, forced +init script execution due to +.I --try-anyway +or +.I --force +failed\fR. +.TP +103 +.I Syntax error\fR. +.TP +104 +.I Action allowed\fR. +Init script would be run, but +.B --query +is in effect. +.TP +105 +.I Behavior uncertain\fR. +It cannot be determined if action should be carried out or not, and +.B --query +is in effect. +.TP +106 +.I Fallback action requested\fR. +The policy layer denied the requested action, and +supplied an allowed fallback action to be used instead. + +.SH INIT SCRIPT POLICY +.B invoke\-rc.d +introduces the concept of a policy layer which is used to verify if +an init script should be run or not, or if something else should be +done instead. This layer has various uses, the most immediate ones +being avoiding that package upgrades start daemons out-of-runlevel, +and that a package starts or stops daemons while inside a chroot +jail. + +The policy layer has the following abilities: deny or approve the +execution of an action; request that another action (called a +.IR fallback ) +is to be taken, instead of the action requested in invoke\-rc.d's +command line; or request multiple actions to be tried in order, until +one of them succeeds (a multiple +.IR fallback ). + +.B invoke\-rc.d +itself only pays attention to the current runlevel; it will block +any attempts to start a service in a runlevel in which the service is +disabled. Other policies are implemented with the use of the +.B policy\-rc.d +helper, and are only available if +.B /usr/sbin/policy\-rc.d +is installed in the system. + +.SH FILES +.TP +.BR /etc/init.d/* +System V init scripts. +.TP +.BR /usr/sbin/policy\-rc.d +Init script policy layer helper (not required). +.TP +.BR /etc/runlevel.conf +file-rc runlevel configuration (if the file-rc package is +being used). +.TP +.BR /etc/rc?.d/* +System V runlevel configuration (if the sysv-rc package is +not being used). + +.SH NOTES +.B invoke\-rc.d +special cases the +.I status +action, and returns exit status 4 instead of exit status 0 when +it is denied. + +.SH BUGS +Please report any bugs using the Debian bug tracking system, +http://bugs.debian.org/, packages sysv\-rc or file\-rc +(depending on which version of invoke\-rc.d you are using). +.SH SEE ALSO +.IR "dpkg Programmers' manual" , +.br +.BR /etc/init.d/skeleton , +.br +.BR update\-rc.d (8), +.br +.BR init (8), +.br +.BR /usr/share/doc/sysv-rc/README.policy-rc.d --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/man8/update-rc.d.8 +++ sysvinit-2.88dsf/debian/src/sysv-rc/man8/update-rc.d.8 @@ -0,0 +1,329 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" Authors: Ian Jackson, Miquel van Smoorenburg +.TH "UPDATE\-RC.D" "8" "14 November 2005" "Debian Project" "sysv-rc" +.SH "NAME" +update\-rc.d \- install and remove System\-V style init script links +.SH "SYNOPSIS" +.B update\-rc.d +.RI [ \-n ] +.RI [ \-f ] +.IB name " remove" +.HP +.B update\-rc.d +.RI [ \-n ] +.IB name " defaults" +.RI [ NN " | " SS " " KK ] +.HP +.B update\-rc.d +.RI [ \-n ] +.I name +.BR start | stop +.IR "NN runlevel" " [" runlevel "]..." +.B . +.BR start | stop +.IR "NN runlevel" " [" runlevel "]..." +.BR . " ..." +.HP +.B update\-rc.d +.RI [ \-n ] +.IB name " disable|enable " +.RI [ " S|2|3|4|5 " ] +.SH "DESCRIPTION" +.B update\-rc.d +updates the System V style init script links +.BI /etc/rc runlevel .d/ NNname +whose target is the script +.BI /etc/init.d/ name \fR. +These links are run by +.B init +when it changes runlevels; they are generally used to start and stop +system services such as daemons. +.I runlevel +is one of the runlevels supported by +.BR init ", namely, " 0123456789S ", and " +.I NN +is the two\-digit sequence number that determines where in the sequence +.B init +will run the scripts. + +This manpage documents only the usage and behaviour of +.BR update\-rc.d . +For a discussion of the System V style init script arrangements please +see +.BR init (8) +and the +.IR "Debian Policy Manual" . + +.SH "INSTALLING INIT SCRIPT LINKS" +update\-rc.d has two modes of operation for installing scripts +into the boot sequence. A legacy mode where command line arguments +are used to decide the sequence and runlevel configuration, +and the default mode where dependency and runlevel information in +the init.d script LSB comment header is used instead. Such +header is required to be present in init.d scripts. +See the insserv(8) manual page for details about the LSB +header format. The boot sequencing method is decided +during installation or upgrades. During upgrades, if there +are no loops in the dependencies declared by LSB headers of all +installed init.d scripts and no obsolete init.d scripts, +the boot system is converted to dependency based boot sequencing. +The conversion to dependency based boot sequencing is one\-way. The +machines using the legacy mode will have a file +/etc/init.d/.legacy\-bootordering . + +Packages installing init.d scripts should make sure both methods work, +for compatiblity with systems where the migration have not been done +yet. + +For legacy mode, the following section documents the old behaviour. + +When run with either the +.BR defaults ", " start ", or " stop +options, +.B update\-rc.d +makes links +.BI /etc/rc runlevel .d/[SK] NNname +that point to the script +.BR /etc/init.d/ \fIname\fR. + +If any files +.BI /etc/rc runlevel .d/[SK]?? name +already exist then +.B update\-rc.d +does nothing. +The program was written this way so that it will never +change an existing configuration, which may have been +customized by the system administrator. +The program will only install links if none are present, +i.e., +if it appears that the service has never been installed before. +.P +A common system administration error is to delete the links +with the thought that this will "disable" the service, i.e., +that this will prevent the service from being started. +However, if all links have been deleted then the next time +the package is upgraded, the package's +.I postinst +script will run +.B update\-rc.d +again and this will reinstall links at their factory default locations. +The correct way to disable services is to configure the +service as stopped in all runlevels in which it is started by default. +In the System V init system this means renaming +the service's symbolic links +from +.B S +to +.BR K . +.P +If +.B defaults +is used then +.B update\-rc.d +will make links to start the service in runlevels +.B 2345 +and to stop the service in runlevels +.BR 016 . +By default all the links will have sequence number 20, but +this should be overridden if there are dependencies. For example if +daemon B depends on A, then A must be started before B and B must be +killed before A. You accomplish this by supplying two NN arguments. In +general, core daemons should start early and be killed late, whilst +applications can start late and be killed early. See EXAMPLES below. +.P +The first NN argument supplies the start sequence number and +the second NN argument supplies the kill sequence number. +Kill scripts are called first, passing a stop argument. Then +start scripts are called passing a start argument. In either +case, calls happen in ascending sequence number order. +.P +Supplying a single NN argument will use the same number for +both start and kill links. This is supported for backward +compatibility but is discouraged, as it may lead to inconsistent +settings. As a rule of thumb, if you increase the start sequence +number you should also decrease the stop sequence number, and +vice\-versa. +.P +As a rule of thumb, the sequence number of the stop link +should be 100 minus the sequence number of the start link; +this causes services to be stopped in the opposite order +to that in which they are started. +Obviously, therefore, the default stop sequence number +should be 80. +Defaulting to 20, as +.B update\-rc.d +does, is an old bug that cannot be fixed because +of the risk of breaking things. +.P +Instead of +.B defaults +one can give one or more sets of arguments specifying +particular runlevels in which to start or stop the service. +Each of these sets of arguments starts with the keyword +.BR start " or " stop +and a sequence number +.IR NN , +followed by one or more runlevel numbers. +The set is terminated by a solitary full stop character. +When explicit specification, rather than +.BR defaults , +is used there will usually be one +.B start +and one +.B stop +set. If different sequence codes are required in different runlevels +then several +.B start +sets or several +.B stop +sets may be specified. +If this is done and the same runlevel is named in multiple sets +then only the last one counts. +Therefore it is not possible to create multiple +.B start +or multiple +.B stop +links for a service in a single runlevel directory. +.P +The script +.BI /etc/init.d/ name +must exist before +.B update\-rc.d +is run to create the links. +.SH "REMOVING SCRIPTS" +When invoked with the +.I remove +option, update\-rc.d removes any links in the +.BI /etc/rc runlevel .d +directories to the script +.BI /etc/init.d/ name\fR. +The script must have been deleted already. +If the script is still present then +.B update\-rc.d +aborts with an error message. +.P +.B update\-rc.d +is usually called from a package's post\-removal script when that +script is given the +.B purge +argument. +Any files in the +.BI /etc/rc runlevel .d +directories that are not symbolic links to the script +.BI /etc/init.d/ name +will be left untouched. +.SH "DISABLING INIT SCRIPT START LINKS" +When run with the +.BR disable " [ " S|2|3|4|5 " ] " +options, +.B update\-rc.d +modifies existing runlevel links for the script +.BR /etc/init.d/ \fIname\fR +by renaming start links to stop links with a sequence number equal +to the difference of 100 minus the original sequence number. +.P +When run with the +.BR enable " [ " S|2|3|4|5 " ] " +options, +.B update\-rc.d +modifies existing runlevel links for the script +.BR /etc/init.d/ \fIname\fR +by renaming stop links to start links with a sequence number equal +to the positive difference of current sequence number minus 100, thus +returning to the original sequence number that the script had been +installed with before disabling it. +.P +Both of these options only operate on start runlevel links of S, 2, +3, 4 or 5. If no start runlevel is specified after the disable or enable +keywords, the script will attempt to modify links in all start runlevels. + +.SH "OPTIONS" +.TP +.I \-n +Don't do anything, just show what we would do. +.TP +.I \-f +Force removal of symlinks even if +.BI /etc/init.d/ name +still exists. +.SH "EXAMPLES" +Insert links using the defaults: +.nf +.B " update\-rc.d foobar defaults" +The equivalent dependency header would have start and stop +dependencies on $remote_fs and $syslog, and start in +runlevels 2\-5 and stop in runlevels 0, 1 and 6. +.fi +Equivalent command using explicit argument sets: +.nf +.B " update\-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 ." +.fi +More typical command using explicit argument sets: +.nf +.B " update\-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 ." +.fi +Insert links at default runlevels when B requires A +.nf +.B " update\-rc.d script_for_A defaults 80 20" +.B " update\-rc.d script_for_B defaults 90 10" +.fi +Insert a link to a service that (presumably) will not be +needed by any other daemon +.nf +.B " update\-rc.d top_level_app defaults 98 02" +.fi +Insert links for a script that requires services that +start/stop at sequence number 20 +.nf +.B " update\-rc.d script_depends_on_svc20 defaults 21 19" +.fi +Remove all links for a script (assuming foobar has been deleted +already): +.nf +.B " update\-rc.d foobar remove" +.fi +Example of disabling a service: +.nf +.B " update\-rc.d \-f foobar remove" +.B " update\-rc.d foobar stop 20 2 3 4 5 ." +.fi +Example of a command for installing a system initialization\-and\-shutdown script: +.nf +.B " update\-rc.d foobar start 45 S . stop 31 0 6 ." +.fi +Example of a command for disabling a system initialization\-and\-shutdown script: +.nf +.B " update\-rc.d \-f foobar remove" +.B " update\-rc.d foobar stop 45 S ." +.fi + +.SH "BUGS" +See http://bugs.debian.org/sysv\-rc. +.SH "FILES" +.TP +.B /etc/init.d/ +The directory containing the actual init scripts. +.TP +.B /etc/rc?.d/ +The directories containing the links used by +.BR init +and managed by +.BR update\-rc.d . +.TP +.B /etc/init.d/skeleton +Model for use by writers of +.B init.d +scripts. +.TP +.B /var/lib/sysv\-rc/legacy\-bootsequence +Flag indicating the machine is using legacy mode for boot script +ordering. +.SH "SEE ALSO" +.IR "Debian Policy Manual" , +.br +.BR /etc/init.d/skeleton , +.br +.BR insserv (8), +.BR sysv\-rc\-conf (8), +.BR bum (8), +.BR init (8). --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/man8/ja/update-rc.d.8 +++ sysvinit-2.88dsf/debian/src/sysv-rc/man8/ja/update-rc.d.8 @@ -0,0 +1,193 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" Authors: Ian Jackson +.\" Original manpage cvs revision 1.4 +.TH UPDATE\-RC.D 8 "2 March 1998" "Debian Project" "dpkg utilities" +.SH 名前 +update\-rc.d \- System-V スタイルの init スクリプト用のリンクをインストール、削除する +.SH 書式 +.B update\-rc.d +.RI [ -n ] +.RI [ -f ] +.IB name " remove" +.HP +.B update-rc.d +.RI [ -n ] +.RI [ -f ] +.IB name " defaults" +.RI [ NN " | " NN-start " " NN-stop ] +.HP +.B update-rc.d +.RI [ -n ] +.RI [ -f ] +.I name +.BR start | stop +.IR "NN runlevel runlevel " ... +.B . +.BR start | stop +.IR "NN runlevel runlevel " ... +.BR . " ..." +.SH 説明 +.B update-rc.d +は、 +スクリプト +.BI /etc/init.d/ name \fR +へのリンクである +.BI /etc/rc runlevel .d/ NNname +を自動的に作成する。 +.BI /etc/rc runlevel .d/ NNname +は System V スタイルの init スクリプト用のリンクであり、 +ランレベルを変更する際に +.B init +によって実行され、一般にデーモンのようなシステムサービスの起動、 +停止に使用される。 +.I runlevel +には +.BR init +がサポートするランレベル数 +.BR 0123456789S +のうちのひとつを指定する。 +.I NN +は 2 桁の数字であり、 +.B init +がスクリプトを実行する順序を決めるために使用する。 + +このマニュアルは +.BR update-rc.d +の使用法とその動作についてのみ言及する。 +System V スタイルの init スクリプトの配置についての議論には、 +.BR init (8) +と +.IR "dpkg programmers' manual" +を参照すること。 +.SH INIT スクリプト用のリンクをインストールする +.BR defaults ", " start ", " stop +オプションのいずれかを使って実行した場合、 +update-rc.d は +.BI /etc/rc runlevel .d/[SK] NNname +をスクリプト +.BI /etc/init.d/ name\fR +にリンクする。 + +ファイル +.BI /etc/rc runlevel .d/[SK]?? name +がすでに存在する場合には、 +.B update-rc.d +は何もしない。これは、システム管理者がひとつでもリンクを残していた +場合に、その設定を上書きされることがなく、別の場所に移動させること +ができるようにするためである。 + +.B defaults +が使用された場合、 +.B update-rc.d +はランレベル +.B 2345 +にサービスの起動用リンクを、ランレベル +.BR 016 +にサービスの停止用リンクを作成する。デフォルトでは、リンクはすべて +のシーケンスコード 20 を持つが、引数 +.I NN +をひとつ、又はふたつ与えることで変更することができる。引数がひとつ +の場合、起動用リンクと停止用リンクの両方のシーケンスコードを変更す +る。一方、引数がふたつ与えられた場合、ひとつめが起動用リンクのシー +ケンスコードを、ふたつめが停止用リンクのシーケンスコードを変更す +る。 + +.B defaults +を使用する代わりに、引数セットを与えることで +サービスを起動、停止するランレベルを明示的に指定することができる。 + +引数セットはそれぞれ引数 +.BR start " または " stop +で始まり、これにより起動用リンクまたは停止用リンクのどちらを作成す +るか指定する。次に、引数セットのリンクすべてに対するシーケンスコー +ド番号 +.IR NN +を指定し、更にひとつ以上のランレベル数をそれぞれひとつの引数として +与える。引数セットは引数 +.B . +(ピリオド)により終了する。 + +.BR defaults +を使用せず明示的に指定した場合、通常 +.B start +セットと +.B stop +セットがひとつずつ存在する。 + +ランレベルごとに異なるシーケンスコードが必要な場合は、 +.B start +セットや +.B stop +セットを複数指定する。 + +.B update-rc.d +がリンクを作成する前に、 +スクリプト +.BI /etc/init.d/ name +が存在していなくてはならない。 +.SH リンク削除用のスクリプト +.I remove +オプションを引数に与えると、 +.BI /etc/rc runlevel .d +ディレクトリにあるスクリプト +.BI /etc/init.d/ name\fR +へのリンクをすべて削除する。 +スクリプトはあらかじめ削除されていなくてはならない。 +.B update-rc.d +はこれをチェックする。通常、 +.B update-rc.d +はパッケージの postrm スクリプトから呼び出される。 +これが実行されるのは、postrm スクリプトの第1引数として +.BR purge +が与えられた場合であり、これはユーザがパッケージの設定を削除 +することを要求していることを表す。 +.BI /etc/rc runlevel .d +ディレクトリにあるがスクリプト +.BI /etc/init.d/ name +にシンボリックリンクされていないファイルは削除されずに残される。 +.SH オプション +.TP +.I -n +実際の動作を表示するだけで、何もしない。 +.TP +.I -f +.BI /etc/init.d/ name +が存在しいても、強制的にシンボリックリンクを削除する。 +.SH 使用例 +defaults を使用したリンクの作成 +.nf +.B " update-rc.d foobar defaults" +.fi +引数セットを明示した同等のコマンド +.nf +.B " update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 ." +.fi +.SH バグ +システム管理者のために少なくとも +.B defaults +でどのランレベルを start または stop にするかを指定できる方法が必要である。 +また、可能ならば +.B defaults +以外のオプションでも管理者の指定を優先する方法が必要。 +.SH ファイル +.TP +.B /etc/init.d/ +init スクリプトが実際に置いてあるディレクトリ +.TP +.B /etc/rc?.d/ +.BR update-rc.d +が取り扱うリンクを含んだディレクトリ。 +.BR init +により使用される。 +.TP +.B /etc/init.d/skeleton +.B init.d +スクリプトを書くために使用する雛型 +.SH 関連項目 +.IR "dpkg programmers manual" , +.br +.BR /etc/init.d/skeleton , +.br +.BR init (8). +.SH 翻訳者 +鍋谷 栄展 --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/man8/fr.UTF-8/update-rc.d.8 +++ sysvinit-2.88dsf/debian/src/sysv-rc/man8/fr.UTF-8/update-rc.d.8 @@ -0,0 +1,192 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" Authors: Ian Jackson +.\" Traduction de la révision CVS 1.4 +.TH UPDATE\-RC.D 8 "23 décembre 2003" "Projet Debian " "Utilitaires de dpkg" +.SH NOM +update\-rc.d \- Pour installer ou supprimer les liens vers les scripts +d'initialisation de type System-V +.SH SYNOPSIS +.B update\-rc.d +.RI [ -n ] +.RI [ -f ] +.IB nom " remove" +.HP +.B update-rc.d +.RI [ -n ] +.IB nom " defaults" +.RI [ NN " | " NN-start " " NN-stop ] +.HP +.B update-rc.d +.RI [ -n ] +.I nom +.BR start | stop +.IR "NN runlevel runlevel " ... +.B . +.BR start | stop +.IR "NN runlevel runlevel " ... +.BR . " ..." +.SH DESCRIPTION +.B update-rc.d +met à jour automatiquement les liens vers les scripts d'initialisation de type +System-V dont le nom est +.BI /etc/rc runlevel .d/ NNnom +vers les scripts +.BI /etc/init.d/ name \fR. +Ils sont lancés par +.B init +quand on change de niveau de fonctionnement et ils sont généralement utilisés +pour démarrer ou arrêter des services tels que les démons. +.I runlevel +est l'un des niveaux de fonctionnement autorisés par +.BR init ", " 0123456789S , +et +.I NN +est le code à deux chiffres utilisé par +.B init +pour décider de l'ordre d'exécution des scripts. + +Cette page de manuel documente seulement le comportement de +.BR update-rc.d +et son utilisation. +Pour une discussion sur la préparation des scripts pour l'initialisation de type System-V voyez +.BR init (8) +et la +.IR "charte Debian" . +.SH L'INSTALLATION DES LIENS DES SCRIPTS D'INITIALISATION +Quand update-rc.d est lancé avec les options +.BR defaults ", " start ", ou " stop, +il crée les liens +.BI /etc/rc runlevel .d/[SK] NNname +qui pointent vers le script +.BI /etc/init.d/ name\fR. + +Quand des fichiers +.BI /etc/rc runlevel .d/[SK]?? name +existent déjà, +.B update-rc.d +ne fait rien. C'est ainsi pour que l'administrateur système puisse +réarranger les liens -- à condition qu'il en reste au moins un -- sans +que sa configuration ne soit réécrite. + +Quand l'option +.B defaults +est utilisée, +.B update-rc.d +crée des liens pour démarrer un service dans les niveaux de fonctionnement +.B 2345 +et des liens pour arrêter un service dans les niveaux +.BR 016 . +Par défaut, tous les liens ont un code égal à 20, mais on peut le changer en +donnant un ou deux arguments +.I NN ; +quand un seul argument est donné, il remplace le code à la fois pour les +liens de démarrage (start) et pour les liens d'arrêt (stop) ; quand deux +arguments sont donnés, le premier remplace le code pour les liens de +démarrage (start) et le second remplace le code pour les liens d'arrêt (stop). + +Au lieu de +.B defaults, +on peut indiquer les niveaux de fonctionnement dans lesquels lancer ou +arrêter les services en utilisant une suite explicite d'ensembles d'arguments : + +Chacun de ces ensembles commence par un argument +.BR start " ou " stop +de manière à indiquer s'il faut créer des liens de démarrage ou d'arrêt. +Ensuite vient le nombre du code +.IR NN , +pour tous les liens de cet ensemble, puis un ou plusieurs nombres indiquant +le niveau de fonctionnement, un seul argument pour chacun. l'ensemble se +termine par un argument +.B . +(un simple point). + +Quand, plutôt que +.BR defaults, +on utilise une détermination explicite, il faut habituellement un ensemble de +démarrage +.B start, +et un ensemble d'arrêt +.B stop. +Quand on veut différents codes dans les différents niveaux de fonctionnement, +on peut spécifier différents ensembles de démarrage +.B start +ou différents ensembles d'arrêt +.B stop. + +Le script +.BI /etc/init.d/ name +doit exister avant de lancer +.B update-rc.d +pour créer les liens. +.SH LA SUPPRESSION DES SCRIPTS +Quand on appelle update-rc.d avec l'option +.I remove +les liens dans les répertoires +.BI /etc/rc runlevel .d +qui pointent vers le script +.BI /etc/init.d/ name\fR. +sont supprimés. +Ce script doit déjà avoir été supprimé -- +.B update-rc.d +vérifie cela. +On appelle habituellement +.B update-rc.d +dans le script « post-removal » d'un paquet et quand ce script a détecté que +son premier argument était +.BR purge ; +Cela indique que l'utilisateur a demandé le suppression de la configuration de +ce paquet. +Tout fichier dans les répertoires +.BI /etc/rc runlevel .d +qui n'est pas un lien symbolique vers le script +.BI /etc/init.d/ name +est préservé. +.SH OPTIONS +.TP +.I -n +Ne fait rien, montre seulement ce qui pourrait être fait. +.TP +.I -f +Force la suppression des liens même si +.BI /etc/init.d/ name +existe encore. +.SH EXEMPLES +Insère des liens avec l'option « defaults » : +.nf +.B " update-rc.d foobar defaults" +.fi +La męme commande, avec une détermination explicite utilisant les ensembles +d'arguments : +.nf +.B " update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 ." +.fi +.SH BOGUES + +Il devrait y avoir un moyen pour l'administrateur système d'indiquer à +l'option +.B defaults +au moins les niveaux de fonctionnement par défaut à utiliser pour le +démarrage et l'arrêt des services ; l'administrateur systàme devrait sans +doute aussi pouvoir changer d'autres choses. +.SH FICHIERS +.TP +.B /etc/init.d/ +Le répertoire qui contient en fait les scripts d'initialisation. +.TP +.B /etc/rc?.d/ +Le répertoire qui contient les liens utilisés par +.BR init +et gérés par +.BR update-rc.d. +.TP +.B /etc/init.d/skeleton +Modàle pour l'écriture des scripts de +.B init.d. +.SH VOIR AUSSI +.IR "la charte Debian" , +.br +.BR /etc/init.d/skeleton , +.br +.BR init (8). +.SH TRADUCTION +Philippe Batailler. Dec 2000. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/man8/es/update-rc.d.8 +++ sysvinit-2.88dsf/debian/src/sysv-rc/man8/es/update-rc.d.8 @@ -0,0 +1,206 @@ +.\" Hey, Emacs! This is an -*- nroff -*- source file. +.\" Authors: Ian Jackson +.\" (c) 2003 Software in the Public Interest + +.\" Traductor: Rubén Porras (nahoo@inicia.es) +.\" Revisado por : Javier Fernández-Sanguino Peńa (jfs@debian.org) +.\" Esteban Manchado Velázquez (zoso@demiurgo.org) +.\" Está basada en la página de manual original: +.\" versión 1.2 del CVS de /cvs/debian-doc/manpages/english/sysvinit/update-rc.d.8 + +.TH UPDATE\-RC.D 8 "23 de Diciembre de 2003" "Proyecto Debian" "sysv-rc" +.SH NOMBRE +update\-rc.d \- crea y borra los enlaces a los scripts init de tipo +System V +.SH SINOPSIS +.B update\-rc.d +.RI [ -n ] +.RI [ -f ] +.IB nombre " remove" +.HP +.B update-rc.d +.RI [ -n ] +.IB nombre " defaults" +.RI [ NN " | " NN-start " " NN-stop ] +.HP +.B update-rc.d +.RI [ -n ] +.I nombre +.BR start | stop +.IR "NN nivel_de_ejecución nivel_de_ejecución " ... +.B . +.BR start | stop +.IR "NN nivel_de_ejecución nivel_de_ejecución " ... +.BR . " ..." +.SH DESCRIPCI\['O]N +.B update-rc.d +actualiza automáticamente los enlaces a los scripts de init tipo +System V que se encuentran en +.BI /etc/rc[nivel_de_ejecución].d/NNnombre +y que apuntan a los script +.BI /etc/init.d/nombre\fR. +Estos son ejecutados por +.B init +cuando se cambia de nivel de ejecución y se usan generalmente para +arrancar y parar servicios del sistema (por ejemplo, demonios). +.I nivel_de_ejecución +es uno de los soportados por +.BR init ", " 0123456789S , +y +.I NN +es el código de secuencia de dos dígitos usado por +.B init +para decidir en que orden se ejecutan los scripts. + +Esta página del manual documenta sólo el modo de uso y comportamiento de +.BR update-rc.d . +Para una explicación más detallada sobre la administración de los +scripts de init estilo System V, por favor, lea +.BR init (8) +y el +.IR "Manual de normativa de Debian" . +.SH CREACI\['O]N DE ENLACES A LOS SCRIPTS DE INIT +Cuando se ejecuta con una o varias de las opciones +.BR defaults ", " start ", o " stop , +.B update-rc.d +crea los enlaces +.BI /etc/rc[nivel_de_ejecución].d/[SK]NNnombre +apuntando al script +.BI /etc/init.d/nombre\fR. + +Si ya existe algún fichero con el nombre +.BI /etc/rc[nivel_de_ejecución].d/[SK]?? +entonces +.B update-rc.d +no hace nada. Esto es así para que el administrador del sistema pueda +reorganizar los enlaces ( teniendo en cuenta que debe dejar al +menos un enlace si los quiere eliminar ) sin que se sobreescriba su +configuración. + +Si se usa la opción +.B defaults +entonces +.B update-rc.d +creará enlaces para arrancar los servicios en los niveles de ejecución +.B 2345 +y parar los servicios en los niveles de ejecución +.BR 016 . +Por omisión todos los enlaces tendrán el código de secuencia 20, pero +esto puede cambiarse especificando uno o dos argumentos +.I NN. +Un argumento cambia el valor por omisión del código de secuencia tanto +para los enlaces de arranque como para los de parada, y si se +proporcionan dos argumentos el primero cambia el código de los enlaces +de arranque y el segundo el de los enlaces de parada. + +En vez de usar +.B defaults +, los niveles de ejecución en los que se arranca o se para un servicio +pueden ser especificados explícitamente mediante un conjunto de +argumentos: + +Cada uno de estos conjuntos empieza con un argumento +.BR start " o " stop +para especificar cuándo se van a crear enlaces para arrancar o parar +el servicio. + +Luego les sigue +.IR NN , +el código de secuencia para todos los enlaces del conjunto, y uno o +más números de nivel de ejecución, cada uno como un solo argumento. El +conjunto se termina con el argumento +.B '.' +(un punto). + +Cuando se especifican explícitamente los niveles de ejecución, +normalmente habrá un conjunto +.B start +y otro +.B stop . +Si son necesarios diferentes códigos de secuencia para los +distintos niveles de ejecución, entonces es necesario especificar +varios conjuntos +.B start +y +.B stop . + +El script +.BI /etc/init.d/nombre +debe existir antes de ejecutar +.B update-rc.d +para crear los enlaces. +.SH BORRADO DE LOS SCRIPTS +Cuando se ejecuta con la opción +.I remove +, update-rc.d borra todos los enlaces dentro del directorio +.BI /etc/rc[nivel_de_ejecución].d +que apunten al script +.BI /etc/init.d/nombre\fR . +El script debe haber sido borrado previamente ( +.B update-rc.d +lo comprueba ). +Normalmente los scripts post-eliminación de los paquetes ejecutan +.B update-rc.d +cuando detectan que su primer argumento es +.BR purge +, dado que esto indica que el administrador ha pedido explícitamente +que se borren los scripts de configuración proporcionados por el paquete. + +Cualquier fichero en los directorios +.BI /etc/rc[nivel_de_ejecución].d +que no sea un enlace simbólico apuntando a un script en +.BI /etc/init.d/nombre +se mantendrá intacto. +.SH OPCIONES +.TP +.I -n +No hacer nada, solamente indicar que hubiera hecho. +.TP +.I -f +Borrar los enlaces incluso si todavía existe el script +.BI /etc/init.d/nombre . +.SH EJEMPLOS +Crear los enlaces usando los parámetros por omisión: +.nf +.B update-rc.d foobar defaults +.fi +Comando equivalente usando explícitamente un conjunto de argumentos: +.nf +.B update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 . +.fi +.SH FALLOS + +No existe aún una forma para que el administrador pueda especificar al menos +los niveles de ejecución que +.B update-rc.d +usará por defecto para arrancar y parar los servicios cuando se +utilice la opción +.B defaults +ni la posibilidad de cambiar otros comportamientos. +.SH FICHEROS +.TP +.B /etc/init.d/ +El directorio que contienen los scripts de arranque y parada. +.TP +.B /etc/rc?.d/ +Los directorios que contienen los enlaces usados por +.BR init +y administrados por +.BR update-rc.d . +.TP +.B /etc/init.d/skeleton +Un modelo a usar por los que escriban scripts de +.B init.d . + +.SH VER ADEM\['A]S +.IR "Manual de normativa de Debian" +, modelo a usar por los que escriban scripts de +.B init.d . + +.BR /etc/init.d/skeleton +, +.br +.BR init (8) . + +.SH TRADUCTOR +Traducción de Rubén Porras Campo --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/doc/README.invoke-rc.d +++ sysvinit-2.88dsf/debian/src/sysv-rc/doc/README.invoke-rc.d @@ -0,0 +1,135 @@ + + +This is the internal documentation for invoke-rc.d, as +written by Henrique M Holschuh + +This document can be found on the web as well at +http://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt + +There is also the Debian BTS entry for the invoke-rc.d policy change at +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=76868 + + +INVOKE-RC.D (/usr/sbin/invoke-rc.d) interface: +============================================== + +The interface for all implementations of invoke-rc.d is mandated by the base +implementation in the sysvinit package, just like it is done for +update-rc.d. + +There is a provision for a "local initscript policy layer" (read: a call to +/usr/sbin/policy-rc.d if this executable is present in the local system), +which allows the local system administrator to control the behaviour of +invoke-rc.d for every initscript id and action. It is assumed that this +script is OPTIONAL and will by written and provided by packages other than +the initscript system (sysvinit and file-rc packages). + +The basic interface for all implementations of policy-rc.d is mandated by +the requirements of the base implementation of invoke-rc.d. This interface +will be described either in the manpage of invoke-rc.d, and in a text file +stored in /usr/share/doc/sysvinit/ by package sysvinit (which will host the +base implementation of invoke-rc.d). + +Proposed script interfaces: + +invoke-rc.d [options] [extra initscript parameters...] + + basename - Initscript ID, as per update-rc.d(8) + action - Initscript action. Known actions are: + start, [force-]stop, restart, + [force-]reload, status + (status is there because of the LSB. Debian does not use it). + + extra initscript parameters: These parameters are passed to the initscript + as is, after the action parameter. is always the first paramenter + to the initscript, and may be modified by fallback actions or policy-rc.d + requests. Note, however, that the extra parameters are not dropped or + modified even if the action (first parameter) is modified. + +Options: + + --quiet + Quiet mode, no error messages are generated by invoke-rc.d; policy-rc.d + is also called with --quiet if this option is in effect. + + --force + Try to run init script regardless of policy and non-fatal errors. Use + of this option in automated scripts is severely discouraged as it + bypasses integrity checks. If the initscript cannot be executed, error + status 102 is returned. Do note that the policy layer call + (policy-rc.d) is NOT skipped, although its results are ignored. + + --try-anyway + Try to run the initscript even if a non-fatal subsystem error is + detected (e.g: bad rc.d symlinks). A 102 status exit code will result + if init script fails to execute anyway). Unlike --force, policy is + still enforced with --try-anyway. + + --disclose-deny + Return status code 101 instead of status code 0 if initscript action is + denied by local policy rules or runlevel constrains. An warning is + generated if the action is denied. + + --query + Returns one of status codes 100-106, does not execute the init.d + script. Implies --disclose-deny and --nofallback. Status codes 104-106 + are only generated by this option. + + Note many messages are still sent to stderr in --query mode, including + those regarding policy overrides and subsystem errors. Use --quiet if + silent --query operation is desired. + + --no-fallback + The policy layer (policy-rc.d) may return fallback actions to be run + instead of the requested action. If this option is active, a fallback + action request will be ignored and a "action not allowed" reply used in + its place. This is probably a BAD idea unless you know exactly what + you're doing. + + --help + Outputs help message to stdout + +Unknown actions may generate warnings, but are passed to the underlying +initscript anyway. The reason for the warning is simple: It is very unlikely +that an unknown action (by invoke-rc.d) will be known to the policy layer +(policy-rc.d), and therefore it may cause an initscript to execute an action +which the local system administrator would have not allowed had he known +about it. If policy-rc.d is not present, no warnings for unknown actions +are generated. + +Should an initscript be executed, invoke-rc.d ALWAYS returns the status code +returned by the initscript. Initscripts should not return status codes in +the 100+ range (this is also a LSB requirement). + +Exit status codes (LSB compatible): + 0 : success + either the init script was run and returned exit status 0 (note + that a fallback action may have been run instead of the one given + in the command line), or it was not run because of runlevel/local + policy constrains and --disclose-deny is not in effect. + 1 - 99 : reserved for init.d script + 100 : init script ID (basename) unknown + init script not registered sucessfully through + update-rc.d or init script does not exist. + This error is fatal for most initscript systems. + 101 : action not allowed + requested action will not be performed because of + runlevel or local policy constrains, and + --disclose-deny is in effect. Note that a fallback + action is NOT considered "action not allowed", + unless --nofalback is in effect. + 102 : subsystem error + initscript (or policy) subsystem malfuncion. + (e.g. broken /sbin/runlevel). + Also, forced initscript execution due to + --try-anyway or --force failed. + 103 : syntax error + 104 : action allowed + --query is in effect; init script would be run if + not for --query. + 105 : behaviour uncertain + cannot determine if action should be carried out or + not, and --query in effect. + 106 : fallback action requested + the policy layer denied the requested action, and + supplied an allowed fallback action. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/doc/README.policy-rc.d +++ sysvinit-2.88dsf/debian/src/sysv-rc/doc/README.policy-rc.d @@ -0,0 +1,102 @@ + + +This is the internal documentation for policy-rc.d, as +written by Henrique M Holschuh + +This document can be found on the web as well at +http://people.debian.org/~hmh/invokerc.d-policyrc.d-specification.txt + +There is also the Debian BTS entry for the invoke-rc.d policy change at +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=76868 + + +POLICY-RC.D Policy layer (/usr/sbin/policy-rc.d) interface: +============================================================= + +Most Debian systems will not have this script as the need for a policy layer +is not very common. Most people using chroot jails just need an one-line +script which returns an exit status of 101 as the jailed +/usr/sbin/policy-rc.d script. + +The /usr/sbin/policy-rc.d file *must* be managed through the alternatives +system (/usr/sbin/update-alternatives) by any packages providing it. + +/usr/sbin/policy-rc.d [options] [] +/usr/sbin/policy-rc.d [options] --list [ ...] + +Options: + --quiet + no error messages are generated. + + --list + instead of verifying policy, list (in a "human parseable" way) all + policies defined for the given initscript id (for all runlevels if no + runlevels are specified; otherwise, list it only for the runlevels + specified), as well as all known actions and their fallbacks for the + given initscript id (note that actions and fallback actions might be + global and not particular to a single initscript id). + + is a space-separated list of actions (usually only one). Note that +the list is passed in a single parameter and not as multiple parameters. + +The following actions are always known (even if specifying a policy for them +is not supported by whatever policy-rc.d system is in use): start, +[force-]stop, restart, [force-]reload, status. + +If an out-of-runlevel start or restart attempt is detected by invoke-rc.d, +the "start" or "restart" action will be changed to "(start)" or "(restart)" +respectively. This allows policy-rc.d to differentiate an out-of-runlevel +start/restart from a normal one. + +The runlevel parameters are optional. If a runlevel is not specified, it is +considered to be unknown/undefined. Note that for sysv-like initscript +systems, an undefined runlevel is very likely to cause a 105 exit status. + +A runlevel for update-rc.d is defined as a character string, of which the +usual INIT one-character runlevels are only a subset. It may contain +embedded blanks. + + stdout is used to output a single line containing fallback actions, + or to output --list results. + stderr is used to output error messages + stdin is not to be used, this is not an interactive interface. + + Exit status codes: + 0 - action allowed + 1 - unknown action (therefore, undefined policy) + 100 - unknown initscript id + 101 - action forbidden by policy + 102 - subsystem error + 103 - syntax error + 104 - [reserved] + 105 - behaviour uncertain, policy undefined. + 106 - action not allowed. Use the returned fallback actions + (which are implied to be "allowed") instead. + +When in doubt (policy-rc.d returned status 105 or status 1), invoke-rc.d +will assume an action is allowed, but it will warn the user of the problem. + +Returning fallback information: + +Fallback actions are returned in the first line sent to stdout (other lines +will be discarded). Multiple actions to be tried are allowed, and must be +separated by spaces. Multiple actions are carried out one at a time, until +one is sucessful. + +e.g.: returning status 106 and "restart stop" in stdout (without +the quotes) will cause invoke-rc.d to attempt action "restart", +and then only if "restart" failed, attempt action "stop". + +invoke-rc.d built-in policy rules: + +To shield policy-rc.d of the underlying initscript system (file-rc, links in +/etc/rc?.d or something else), invoke-rc.d implements the following built-in +rules: + + 1. action "start" out of runlevel is denied, + (policy-rc.d receives action "(start)" instead of "start"); + 2. action "restart" out of runlevel is denied, + (policy-rc.d receives action "(restart)" instead of "restart"); + 3. any action for a non-executable initscript is denied. + +Rule 3 is absolute, policy-rc.d cannot override it. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/doc/README.Debian +++ sysvinit-2.88dsf/debian/src/sysv-rc/doc/README.Debian @@ -0,0 +1,46 @@ +README for sysv-rc +------------------ + +Policy requires that maintainer scripts use update-rc.d to register and +deregister initscripts. An unfortunate result of this policy, combined +with shortcomings in current update-rc.d implementations, is that there +is no way for maintainer scripts to change the sequence number of an +initscript that has already been registered if and only if its sequence +number has not been changed by the administrator. update-rc.d *never* +changes the sequence number of an already registered initscript, even +if its sequence number has not been changed by the administrator. +There are no plans to fix this problem. Therefore, if it is necessary +to change the sequence number of an initscript in order to fix a bug +then the maintainer script should go ahead and do: + + update-rc.d -f remove + +before the new update-rc.d call, even though this overrides out any +administrator changes. + +Migrating to dependency-based boot sequencing +--------------------------------------------- + +Migrating to the dependency-based system of boot sequencing (using LSB +headers) is non-reversible, and renders obsolete the legacy system of +static sequence numbers. Please note that any boot sequence changes +made locally will be lost in the migration, and must be reimplemented +in terms of dependencies. However, the new system is recommended for +several reasons. + + * initscripts can be made to run more efficiently via parallelized + execution strategies (see $POINTER_TO_ENTICING_BOOTCHARTS); + * boot and shutdown ordering is calculated on the basis of the + dependency information declared within each init.d script, ensuring + that the sequence is optimized for the set of packages installed; + * problems introduced by new or upgraded packages can be detected and + averted - the boot sequence is only modified if it is safe to do + so. + +It can also bring benefits for Debian package development, and for +admins maintaining local software, since it eliminates the difficulty +of fitting an initscript into the boot sequence between existing +services with adjacent sequence numbers. + +It is also a step in the direction of boot systems better suited to +the asynchronous nature of the Linux-2.6 kernel boot process. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/doc/README.runlevels +++ sysvinit-2.88dsf/debian/src/sysv-rc/doc/README.runlevels @@ -0,0 +1,103 @@ + + Order of scripts run in /etc/rc?.d + ================================== + +0. Overview. + + All scripts executed by the init system are located in /etc/init.d. + The directories /etc/rc?.d (? = S, 0 .. 6) contain relative links to + those scripts. These links are named S<2-digit-number> + or K<2-digit-number>. + + If a scripts has the ".sh" suffix it is a bourne shell script and + MAY be handled in an optimized manner. The behaviour of executing the + script in an optimized way will not differ in any way from it being + forked and executed in the regular way. + + The following runlevels are defined: + + N System bootup (NONE). + S Single user mode (not to be switched to directly) + 0 halt + 1 single user mode + 2 .. 5 multi user mode + 6 reboot + +1. Boot. + + When the systems boots, the /etc/init.d/rcS script is executed. It + in turn executes all the S* scripts in /etc/rcS.d in alphabetical + (and thus numerical) order. The first argument passed to the + executed scripts is "start". The runlevel at this point is "N" (none). + + Only things that need to be run once to get the system in a consistent + state are to be run. The rcS.d directory is NOT meant to replace rc.local. + One should not start daemons in this runlevel unless absolutely + necessary. Eg, NFS might need the portmapper, so it is OK to start it + early in the bootprocess. But this is not the time to start the + squid proxy server. + +2. Going multiuser. + + After the rcS.d scripts have been executed, init switches to the + default runlevel as specified in /etc/inittab, usually "2". + + Init then executes the /etc/init.d/rc script which takes care of + starting the services in /etc/rc2.d. + + Because the previous runlevel is "N" (none) the /etc/rc2.d/KXXxxxx + scripts will NOT be executed - there is nothing to stop yet, + the system is busy coming up. + + If for example there is a service that wants to run in runlevel 4 + and ONLY in that level, it will place a KXXxxxx script in + /etc/rc{2,3,5}.d to stop the service when switching out of runlevel 4. + We do not need to run that script at this point. + + The /etc.rc2.d/SXXxxxx scripts will be executed in alphabetical + order, with the first argument set to "start". + +3. Switching runlevels. + + When one switches from (for example) runlevel 2 to runlevel 3, + /etc/init.d/rc will first execute in alphabetical order all K + scripts for runlevel 3 (/etc/rc3.d/KXXxxxx) with as first argument + "stop" and then all S scripts for runlevel 3 (/etc/rc3.d/SXXxxxx) + with as first argument "start". + + As an optimization, a check is made for each "service" to see if + it was already running in the previous runlevel. If it was, and there + is no K (stop) script present for it in the new runlevel, there is + no need to start it a second time so that will not be done. + + On the other hand, if there was a K script present, it is assumed the + service was stopped on purpose first and so needs to be restarted. + + We MIGHT make the same optimization for stop scripts as well- + if no S script was present in the previous runlevel, we can assume + that service was not running and we don't need to stop it either. + In that case we can remove the "coming from level N" special case + mentioned above in 2). But right now that has not been implemented. + +4. Single user mode. + + Switching to single user mode is done by switching to runlevel 1. + That will cause all services to be stopped (assuming they all have + a K script in /etc/rc1.d). The runlevel 1 scripts will then switch + to runlevel "S" which has no scripts - all it does is spawn + a shell directly on /dev/console for maintenance. + +5. Halt/reboot + + Going to runlevel 0 or 6 will cause the system to be halted or rebooted, + respectively. For example, if we go to runlevel 6 (reboot) first + all /etc/rc6.d/KXXxxxx scripts will be executed alphabetically with + "stop" as the first argument. + + Then the /etc/rc6.d/SXXxxxx scripts will be executed alphabetically + with "stop" as the first argument as well. The reason is that there + is nothing to start anymore at this point - all scripts that are + run are meant to bring the system down. + + In the future, the /etc/rc6.d/SXXxxxx scripts MIGHT be moved to + /etc/rc6.d/K1XXxxxx for clarity. --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/sbin/update-rc.d +++ sysvinit-2.88dsf/debian/src/sysv-rc/sbin/update-rc.d @@ -0,0 +1,591 @@ +#! /usr/bin/perl +# +# update-rc.d Update the links in /etc/rc[0-9S].d/ +# + +use strict; +use warnings; + +my $initd = "/etc/init.d"; +my $etcd = "/etc/rc"; +my $notreally = 0; + +# Save last action to this directory +my $archive = "/var/lib/update-rc.d"; + +# Print usage message and die. + +sub usage { + print STDERR "update-rc.d: error: @_\n" if ($#_ >= 0); + print STDERR < remove + update-rc.d [-n] defaults [NN | SS KK] + update-rc.d [-n] start|stop NN runlvl [runlvl] [...] . + update-rc.d [-n] disable|enable [S|2|3|4|5] + -n: not really + -f: force + +The disable|enable API is not stable and might change in the future. +EOF + exit (1); +} + +# Dependency based boot sequencing is the default, but upgraded +# systems might keep the legacy ordering until the sysadm choose to +# migrate to the new ordering method. +if ( ! -f "/etc/init.d/.legacy-bootordering" ) { + info("using dependency based boot sequencing"); + exit insserv_updatercd(@ARGV); +} + +# Check out options. +my $force; + +my @orig_argv = @ARGV; + +while($#ARGV >= 0 && ($_ = $ARGV[0]) =~ /^-/) { + shift @ARGV; + if (/^-n$/) { $notreally++; next } + if (/^-f$/) { $force++; next } + if (/^-h|--help$/) { &usage; } + &usage("unknown option"); +} + +sub save_last_action { + my ($script, @arguments) = @_; + + return if $notreally; + + open(FILE, ">", "$archive/${script}.new") || die "unable to write to $archive/${script}.new"; + print FILE join(" ","update-rc.d",@arguments), "\n"; + close(FILE); + rename "$archive/${script}.new", "$archive/${script}"; +} + +sub remove_last_action { + my ($script) = @_; + unlink "$archive/$script"; +} + +# Action. + +&usage() if ($#ARGV < 1); +my $bn = shift @ARGV; + +unless ($bn =~ m/[a-zA-Z0-9+.-]+/) { + print STDERR "update-rc.d: illegal character in name '$bn'\n"; + exit (1); +} + +if ($ARGV[0] ne 'remove') { + if (! -f "$initd/$bn") { + print STDERR "update-rc.d: $initd/$bn: file does not exist\n"; + exit (1); + } + &parse_lsb_header("$initd/$bn"); + &cmp_args_with_defaults($bn, $ARGV[0], @ARGV); +} elsif (-f "$initd/$bn") { + if (!$force) { + printf STDERR "update-rc.d: $initd/$bn exists during rc.d purge (use -f to force)\n"; + exit (1); + } +} + +my @startlinks; +my @stoplinks; + +$_ = $ARGV[0]; +if (/^remove$/) { &checklinks ("remove"); remove_last_action($bn); } +elsif (/^defaults$/) { &defaults (@ARGV); &makelinks; save_last_action($bn, @orig_argv); } +elsif (/^(start|stop)$/) { &startstop (@ARGV); &makelinks; save_last_action($bn, @orig_argv); } +elsif (/^(dis|en)able$/) { &toggle (@ARGV); &makelinks; save_last_action($bn, @orig_argv); } +else { &usage; } + +exit (0); + +sub info { + print STDOUT "update-rc.d: @_\n"; +} + +sub warning { + print STDERR "update-rc.d: warning: @_\n"; +} + +sub error { + print STDERR "update-rc.d: error: @_\n"; + exit (1); +} + +sub error_code { + my $rc = shift; + print STDERR "update-rc.d: error: @_\n"; + exit ($rc); +} + +# Check if there are links in /etc/rc[0-9S].d/ +# Remove if the first argument is "remove" and the links +# point to $bn. + +sub is_link () { + my ($op, $fn, $bn) = @_; + if (! -l $fn) { + warning "$fn is not a symbolic link\n"; + return 0; + } else { + my $linkdst = readlink ($fn); + if (! defined $linkdst) { + die ("update-rc.d: error reading symbolic link: $!\n"); + } + if (($linkdst ne "../init.d/$bn") && ($linkdst ne "$initd/$bn")) { + warning "$fn is not a link to ../init.d/$bn or $initd/$bn\n"; + return 0; + } + } + return 1; +} + +sub checklinks { + my ($i, $found, $fn, $islnk); + + print " Removing any system startup links for $initd/$bn ...\n" + if (defined $_[0] && $_[0] eq 'remove'); + + $found = 0; + + foreach $i (0..9, 'S') { + unless (chdir ("$etcd$i.d")) { + next if ($i =~ m/^[789S]$/); + die("update-rc.d: chdir $etcd$i.d: $!\n"); + } + opendir(DIR, "."); + my $saveBN=$bn; + $saveBN =~ s/\+/\\+/g; + foreach $_ (readdir(DIR)) { + next unless (/^[SK]\d\d$saveBN$/); + $fn = "$etcd$i.d/$_"; + $found = 1; + $islnk = &is_link ($_[0], $fn, $bn); + next unless (defined $_[0] and $_[0] eq 'remove'); + if (! $islnk) { + print " $fn is not a link to ../init.d/$bn; not removing\n"; + next; + } + print " $etcd$i.d/$_\n"; + next if ($notreally); + unlink ("$etcd$i.d/$_") || + die("update-rc.d: unlink: $!\n"); + } + closedir(DIR); + } + $found; +} + +sub parse_lsb_header { + my $initdscript = shift; + my %lsbinfo; + my $lsbheaders = "Provides|Required-Start|Required-Stop|Default-Start|Default-Stop"; + open(INIT, "<$initdscript") || die "error: unable to read $initdscript"; + while () { + chomp; + $lsbinfo{'found'} = 1 if (m/^\#\#\# BEGIN INIT INFO\s*$/); + last if (m/\#\#\# END INIT INFO\s*$/); + if (m/^\# ($lsbheaders):\s*(\S?.*)$/i) { + $lsbinfo{lc($1)} = $2; + } + } + close(INIT); + + # Check that all the required headers are present + if (!$lsbinfo{found}) { + printf STDERR "update-rc.d: warning: $initdscript missing LSB information\n"; + printf STDERR "update-rc.d: see \n"; + } else { + for my $key (split(/\|/, lc($lsbheaders))) { + if (!exists $lsbinfo{$key}) { + warning "$initdscript missing LSB keyword '$key'\n"; + } + } + } +} + + +# Process the arguments after the "enable" or "disable" keyword. + +sub toggle { + my @argv = @_; + my ($action, %lvls, @start, @stop, @xstartlinks); + + if (!&checklinks) { + print " System start/stop links for $initd/$bn do not exist.\n"; + exit (0); + } + + $action = $argv[0]; + if ($#argv > 1) { + while ($#argv > 0 && shift @argv) { + if ($argv[0] =~ /^[S2-5]$/) { + $lvls{$argv[0]}++; + } else { + &usage ("expected 'S' '2' '3' '4' or '5'"); + } + } + } else { + $lvls{$_}++ for ('S', '2', '3', '4', '5'); + } + + push(@start, glob($etcd . '[2-5S].d/[KS][0-9][0-9]' . $bn)); + + foreach (@start) { + my $islink = &is_link (undef, $_, $bn); + next if !$islink; + + next unless my ($lvl, $sk, $seq) = m/^$etcd([2-5S])\.d\/([SK])([0-9]{2})$bn$/; + $startlinks[$lvl] = $sk . $seq; + + if ($action eq 'disable' and $sk eq 'S' and $lvls{$lvl}) { + $xstartlinks[$lvl] = 'K' . sprintf "%02d", (100 - $seq); + } elsif ($action eq 'enable' and $sk eq 'K' and $lvls{$lvl}) { + $xstartlinks[$lvl] = 'S' . sprintf "%02d", -($seq - 100); + } else { + $xstartlinks[$lvl] = $sk . $seq; + } + } + + push(@stop, glob($etcd . '[016].d/[KS][0-9][0-9]' . $bn)); + + foreach (@stop) { + my $islink = &is_link (undef, $_, $bn); + next if !$islink; + + next unless my ($lvl, $sk, $seq) = m/^$etcd([016])\.d\/([SK])([0-9]{2})$bn$/; + $stoplinks[$lvl] = $sk . $seq; + } + + if ($action eq 'disable') { + print " Disabling system startup links for $initd/$bn ...\n"; + } elsif ($action eq 'enable') { + print " Enabling system startup links for $initd/$bn ...\n"; + } + + &checklinks ("remove"); + @startlinks = @xstartlinks; + + 1; +} + +# Process the arguments after the "defaults" keyword. + +sub defaults { + my @argv = @_; + my ($start, $stop) = (20, 20); + + &usage ("defaults takes only one or two codenumbers") if ($#argv > 2); + $start = $stop = $argv[1] if ($#argv >= 1); + $stop = $argv[2] if ($#argv >= 2); + &usage ("codenumber must be a number between 0 and 99") + if ($start !~ /^\d\d?$/ || $stop !~ /^\d\d?$/); + + $start = sprintf("%02d", $start); + $stop = sprintf("%02d", $stop); + + $stoplinks[$_] = "K$stop" for (0, 1, 6); + $startlinks[$_] = "S$start" for (2, 3, 4, 5); + + 1; +} + +# Process the arguments after the start or stop keyword. + +sub startstop { + my @argv = @_; + my($letter, $NN, $level); + + while ($#argv >= 0) { + if ($argv[0] eq 'start') { $letter = 'S'; } + elsif ($argv[0] eq 'stop') { $letter = 'K'; } + else { + &usage("expected start|stop"); + } + + if ($argv[1] !~ /^\d\d?$/) { + &usage("expected NN after $argv[0]"); + } + $NN = sprintf("%02d", $argv[1]); + + if ($argv[-1] ne '.') { + &usage("start|stop arguments not terminated by \".\""); + } + + shift @argv; shift @argv; + $level = shift @argv; + do { + if ($level !~ m/^[0-9S]$/) { + &usage( + "expected runlevel [0-9S] (did you forget \".\" ?)"); + } + if (! -d "$etcd$level.d") { + print STDERR + "update-rc.d: $etcd$level.d: no such directory\n"; + exit(1); + } + $level = 99 if ($level eq 'S'); + $startlinks[$level] = "$letter$NN" if ($letter eq 'S'); + $stoplinks[$level] = "$letter$NN" if ($letter eq 'K'); + } while (($level = shift @argv) ne '.'); + } + 1; +} + +# Create the links. + +sub makelinks { + my($t, $i); + my @links; + + if (&checklinks) { + print " System start/stop links for $initd/$bn already exist.\n"; + return 0; + } + print " Adding system startup for $initd/$bn ...\n"; + + # nice unreadable perl mess :) + + for($t = 0; $t < 2; $t++) { + @links = $t ? @startlinks : @stoplinks; + for($i = 0; $i <= $#links; $i++) { + my $lvl = $i; + $lvl = 'S' if ($i == 99); + next if (!defined $links[$i] or $links[$i] eq ''); + print " $etcd$lvl.d/$links[$i]$bn -> ../init.d/$bn\n"; + next if ($notreally); + symlink("../init.d/$bn", "$etcd$lvl.d/$links[$i]$bn") + || die("update-rc.d: symlink: $!\n"); + } + } + + 1; +} + +## Dependency based +sub insserv_updatercd { + my @args = @_; + my @opts; + my $scriptname; + my $action; + my $notreally = 0; + + my @orig_argv = @args; + + while($#args >= 0 && ($_ = $args[0]) =~ /^-/) { + shift @args; + if (/^-n$/) { push(@opts, $_); $notreally++; next } + if (/^-f$/) { push(@opts, $_); next } + if (/^-h|--help$/) { &usage; } + usage("unknown option"); + } + + usage("not enough arguments") if ($#args < 1); + + $scriptname = shift @args; + $action = shift @args; + if ("remove" eq $action) { + if ( -f "/etc/init.d/$scriptname" ) { + my $rc = system("insserv", @opts, "-r", $scriptname) >> 8; + if (0 == $rc && !$notreally) { + remove_last_action($scriptname); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } else { + # insserv removes all dangling symlinks, no need to tell it + # what to look for. + my $rc = system("insserv", @opts) >> 8; + if (0 == $rc && !$notreally) { + remove_last_action($scriptname); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } + } elsif ("defaults" eq $action || "start" eq $action || + "stop" eq $action) { + # All start/stop/defaults arguments are discarded so emit a + # message if arguments have been given and are in conflict + # with Default-Start/Default-Stop values of LSB comment. + cmp_args_with_defaults($scriptname, $action, @args); + + if ( -f "/etc/init.d/$scriptname" ) { + my $rc = system("insserv", @opts, $scriptname) >> 8; + if (0 == $rc && !$notreally) { + save_last_action($scriptname, @orig_argv); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } else { + error("initscript does not exist: /etc/init.d/$scriptname"); + } + } elsif ("disable" eq $action || "enable" eq $action) { + insserv_toggle($notreally, $action, $scriptname, @args); + # Call insserv to resequence modified links + my $rc = system("insserv", @opts, $scriptname) >> 8; + if (0 == $rc && !$notreally) { + save_last_action($scriptname, @orig_argv); + } + error_code($rc, "insserv rejected the script header") if $rc; + exit $rc; + } else { + usage(); + } +} + +sub parse_def_start_stop { + my $script = shift; + my (%lsb, @def_start_lvls, @def_stop_lvls); + + open my $fh, '<', $script or error("unable to read $script"); + while (<$fh>) { + chomp; + if (m/^### BEGIN INIT INFO$/) { + $lsb{'begin'}++; + } + elsif (m/^### END INIT INFO$/) { + $lsb{'end'}++; + last; + } + elsif ($lsb{'begin'} and not $lsb{'end'}) { + if (m/^# Default-Start:\s*(\S?.*)$/) { + @def_start_lvls = split(' ', $1); + } + if (m/^# Default-Stop:\s*(\S?.*)$/) { + @def_stop_lvls = split(' ', $1); + } + } + } + close($fh); + + return (\@def_start_lvls, \@def_stop_lvls); +} + +sub lsb_header_for_script { + my $name = shift; + + foreach my $file ("/etc/insserv/overrides/$name", "/etc/init.d/$name", + "/usr/share/insserv/overrides/$name") { + return $file if -s $file; + } + + error("cannot find a LSB script for $name"); +} + +sub cmp_args_with_defaults { + my ($name, $act) = (shift, shift); + my ($lsb_start_ref, $lsb_stop_ref, $arg_str, $lsb_str); + my (@arg_start_lvls, @arg_stop_lvls, @lsb_start_lvls, @lsb_stop_lvls); + + ($lsb_start_ref, $lsb_stop_ref) = parse_def_start_stop("/etc/init.d/$name"); + @lsb_start_lvls = @$lsb_start_ref; + @lsb_stop_lvls = @$lsb_stop_ref; + return if (!@lsb_start_lvls and !@lsb_stop_lvls); + + if ($act eq 'defaults') { + @arg_start_lvls = (2, 3, 4, 5); + @arg_stop_lvls = (0, 1, 6); + } elsif ($act eq 'start' or $act eq 'stop') { + my $start = $act eq 'start' ? 1 : 0; + my $stop = $act eq 'stop' ? 1 : 0; + + # The legacy part of this program passes arguments starting with + # "start|stop NN x y z ." but the insserv part gives argument list + # starting with sequence number (ie. strips off leading "start|stop") + # Start processing arguments immediately after the first seq number. + my $argi = $_[0] eq $act ? 2 : 1; + + while (defined $_[$argi]) { + my $arg = $_[$argi]; + + # Runlevels 0 and 6 are always stop runlevels + if ($arg eq 0 or $arg eq 6) { + $start = 0; $stop = 1; + } elsif ($arg eq 'start') { + $start = 1; $stop = 0; $argi++; next; + } elsif ($arg eq 'stop') { + $start = 0; $stop = 1; $argi++; next; + } elsif ($arg eq '.') { + next; + } + push(@arg_start_lvls, $arg) if $start; + push(@arg_stop_lvls, $arg) if $stop; + } continue { + $argi++; + } + } + + if ($#arg_start_lvls != $#lsb_start_lvls or + join("\0", sort @arg_start_lvls) ne join("\0", sort @lsb_start_lvls)) { + $arg_str = @arg_start_lvls ? "@arg_start_lvls" : "none"; + $lsb_str = @lsb_start_lvls ? "@lsb_start_lvls" : "none"; + warning "$name start runlevel arguments ($arg_str) do not match", + "LSB Default-Start values ($lsb_str)"; + } + if ($#arg_stop_lvls != $#lsb_stop_lvls or + join("\0", sort @arg_stop_lvls) ne join("\0", sort @lsb_stop_lvls)) { + $arg_str = @arg_stop_lvls ? "@arg_stop_lvls" : "none"; + $lsb_str = @lsb_stop_lvls ? "@lsb_stop_lvls" : "none"; + warning "$name stop runlevel arguments ($arg_str) do not match", + "LSB Default-Stop values ($lsb_str)"; + } +} + +sub insserv_toggle { + my ($dryrun, $act, $name) = (shift, shift, shift); + my (@toggle_lvls, $start_lvls, $stop_lvls, @symlinks); + my $lsb_header = lsb_header_for_script($name); + + # Extra arguments to disable|enable action are runlevels. If none + # given parse LSB info for Default-Start value. + if ($#_ >= 0) { + @toggle_lvls = @_; + } else { + ($start_lvls, $stop_lvls) = parse_def_start_stop($lsb_header); + @toggle_lvls = @$start_lvls; + if ($#toggle_lvls < 0) { + error("$name Default-Start contains no runlevels, aborting."); + } + } + + # Find symlinks in rc.d directories. Refuse to modify links in runlevels + # not used for normal system start sequence. + for my $lvl (@toggle_lvls) { + if ($lvl !~ /^[S2345]$/) { + warning("$act action will have no effect on runlevel $lvl"); + next; + } + push(@symlinks, $_) for glob("/etc/rc$lvl.d/[SK][0-9][0-9]$name"); + } + + if (!@symlinks) { + error("no runlevel symlinks to modify, aborting!"); + } + + # Toggle S/K bit of script symlink. + for my $cur_lnk (@symlinks) { + my $sk; + my @new_lnk = split(//, $cur_lnk); + + if ("disable" eq $act) { + $sk = rindex($cur_lnk, '/S') + 1; + next if $sk < 1; + $new_lnk[$sk] = 'K'; + } else { + $sk = rindex($cur_lnk, '/K') + 1; + next if $sk < 1; + $new_lnk[$sk] = 'S'; + } + + if ($dryrun) { + printf("rename(%s, %s)\n", $cur_lnk, join('', @new_lnk)); + next; + } + + rename($cur_lnk, join('', @new_lnk)) or error($!); + } +} --- sysvinit-2.88dsf.orig/debian/src/sysv-rc/sbin/invoke-rc.d +++ sysvinit-2.88dsf/debian/src/sysv-rc/sbin/invoke-rc.d @@ -0,0 +1,464 @@ +#!/bin/sh +# +# invoke-rc.d.sysvinit - Executes initscript actions +# +# SysVinit /etc/rc?.d version for Debian's sysvinit package +# +# Copyright (C) 2000,2001 Henrique de Moraes Holschuh +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + +# Constants +RUNLEVELHELPER=/sbin/runlevel +POLICYHELPER=/usr/sbin/policy-rc.d +INITDPREFIX=/etc/init.d/ +RCDPREFIX=/etc/rc + +# Options +BEQUIET= +MODE= +ACTION= +FALLBACK= +NOFALLBACK= +FORCE= +RETRY= +RETURNFAILURE= +RC= + +# Shell options +set +e + +dohelp () { + # + # outputs help and usage + # +cat < + +Usage: + invoke-rc.d [options] [extra parameters] + + basename - Initscript ID, as per update-rc.d(8) + action - Initscript action. Known actions are: + start, [force-]stop, restart, + [force-]reload, status + WARNING: not all initscripts implement all of the above actions. + + extra parameters are passed as is to the initscript, following + the action (first initscript parameter). + +Options: + --quiet + Quiet mode, no error messages are generated. + --force + Try to run the initscript regardless of policy and subsystem + non-fatal errors. + --try-anyway + Try to run init script even if a non-fatal error is found. + --disclose-deny + Return status code 101 instead of status code 0 if + initscript action is denied by local policy rules or + runlevel constrains. + --query + Returns one of status codes 100-106, does not run + the initscript. Implies --disclose-deny and --no-fallback. + --no-fallback + Ignores any fallback action requests by the policy layer. + Warning: this is usually a very *bad* idea for any actions + other than "start". + --help + Outputs help message to stdout + +EOF +} + +printerror () { + # + # prints an error message + # $* - error message + # +if test x${BEQUIET} = x ; then + echo `basename $0`: "$*" >&2 +fi +} + +formataction () { + # + # formats a list in $* into $printaction + # for human-friendly printing to stderr + # and sets $naction to action or actions + # +printaction=`echo $* | sed 's/ /, /g'` +if test $# -eq 1 ; then + naction=action +else + naction=actions +fi +} + +querypolicy () { + # + # queries policy database + # returns: $RC = 104 - ok, run + # $RC = 101 - ok, do not run + # other - exit with status $RC, maybe run if $RETRY + # initial status of $RC is taken into account. + # + +policyaction="${ACTION}" +if test x${RC} = "x101" ; then + if test "${ACTION}" = "start" || test "${ACTION}" = "restart" ; then + policyaction="(${ACTION})" + fi +fi + +if test "x${POLICYHELPER}" != x && test -x "${POLICYHELPER}" ; then + FALLBACK=`${POLICYHELPER} ${BEQUIET} ${INITSCRIPTID} "${policyaction}" ${RL}` + RC=$? + formataction ${ACTION} + case ${RC} in + 0) RC=104 + ;; + 1) RC=105 + ;; + 101) if test x${FORCE} != x ; then + printerror Overriding policy-rc.d denied execution of ${printaction}. + RC=104 + else + printerror policy-rc.d denied execution of ${printaction}. + fi + ;; + esac + if test x${MODE} != xquery ; then + case ${RC} in + 105) printerror policy-rc.d query returned \"behaviour undefined\", + printerror assuming \"${printaction}\" is allowed. + RC=104 + ;; + 106) formataction ${FALLBACK} + if test x${FORCE} = x ; then + if test x${NOFALLBACK} = x ; then + ACTION="${FALLBACK}" + printerror executing ${naction} \"${printaction}\" instead due to policy-rc.d request. + RC=104 + else + printerror ignoring policy-rc.d fallback request: ${printaction}. + RC=101 + fi + else + printerror ignoring policy-rc.d fallback request: ${printaction}. + RC=104 + fi + ;; + esac + fi + case ${RC} in + 100|101|102|103|104|105|106) ;; + *) printerror WARNING: policy-rc.d returned unexpected error status ${RC}, 102 used instead. + RC=102 + ;; + esac +else + if test x${RC} = x ; then + RC=104 + fi +fi +return +} + +verifyparameter () { + # + # Verifies if $1 is not null, and $# = 1 + # +if test $# -eq 0 ; then + printerror syntax error: invalid empty parameter + exit 103 +elif test $# -ne 1 ; then + printerror syntax error: embedded blanks are not allowed in \"$*\" + exit 103 +fi +return +} + +## +## main +## + +## Verifies command line arguments + +if test $# -eq 0 ; then + printerror syntax error: missing required parameter, --help assumed + dohelp + exit 103 +fi + +state=I +while test $# -gt 0 && test ${state} != III ; do + case "$1" in + --help) dohelp + exit 0 + ;; + --quiet) BEQUIET=--quiet + ;; + --force) FORCE=yes + RETRY=yes + ;; + --try-anyway) + RETRY=yes + ;; + --disclose-deny) + RETURNFAILURE=yes + ;; + --query) MODE=query + RETURNFAILURE=yes + ;; + --no-fallback) + NOFALLBACK=yes + ;; + --*) printerror syntax error: unknown option \"$1\" + exit 103 + ;; + *) case ${state} in + I) verifyparameter $1 + INITSCRIPTID=$1 + ;; + II) verifyparameter $1 + ACTION=$1 + ;; + esac + state=${state}I + ;; + esac + shift +done + +if test ${state} != III ; then + printerror syntax error: missing required parameter + exit 103 +fi + +#NOTE: It may not be obvious, but "$@" from this point on must expand +#to the extra initscript parameters, except inside functions. + +## sanity checks and just-in-case warnings. +case ${ACTION} in + start|stop|force-stop|restart|reload|force-reload|status) + ;; + *) + if test "x${POLICYHELPER}" != x && test -x "${POLICYHELPER}" ; then + printerror action ${ACTION} is unknown, but proceeding anyway. + fi + ;; +esac + +## Verifies if the given initscript ID is known +## For sysvinit, this error is critical +if test ! -f "${INITDPREFIX}${INITSCRIPTID}" ; then + printerror unknown initscript, ${INITDPREFIX}${INITSCRIPTID} not found. + exit 100 +fi + +## Queries sysvinit for the current runlevel +RL=`${RUNLEVELHELPER} | sed 's/.*\ //'` +if test ! $? ; then + printerror "could not determine current runlevel" + if test x${RETRY} = x ; then + exit 102 + fi + RL= +fi + +## Running ${RUNLEVELHELPER} to get current runlevel does not work in +## the boot runlevel (scripts in /etc/rcS.d/), as /var/run/utmp +## contains runlevel 0 or 6 (written at shutdown) at that point. +if test x${RL} = x0 || test x${RL} = x6 ; then + if ps -fp 1 | grep -q 'init boot' ; then + RL=S + fi +fi + +## Handles shutdown sequences VERY safely +## i.e.: forget about policy, and do all we can to run the script. +## BTW, why the heck are we being run in a shutdown runlevel?! +if test x${RL} = x0 || test x${RL} = x6 ; then + FORCE=yes + RETRY=yes + POLICYHELPER= + BEQUIET= + printerror "-----------------------------------------------------" + printerror "WARNING: 'invoke-rc.d ${INITSCRIPTID} ${ACTION}' called" + printerror "during shutdown sequence." + printerror "enabling safe mode: initscript policy layer disabled" + printerror "-----------------------------------------------------" +fi + +## Verifies the existance of proper S??initscriptID and K??initscriptID +## *links* in the proper /etc/rc?.d/ directory +verifyrclink () { + # + # verifies if parameters are non-dangling symlinks + # all parameters are verified + # + doexit= + while test $# -gt 0 ; do + if test ! -L "$1" ; then + printerror not a symlink: $1 + doexit=102 + fi + if test ! -f "$1" ; then + printerror dangling symlink: $1 + doexit=102 + fi + shift + done + if test x${doexit} != x && test x${RETRY} = x; then + exit ${doexit} + fi + return 0 +} + +# we do handle multiple links per runlevel +# but we don't handle embedded blanks in link names :-( +if test x${RL} != x ; then + SLINK=`ls -d -Q ${RCDPREFIX}${RL}.d/S[0-9][0-9]${INITSCRIPTID} 2>/dev/null | xargs` + KLINK=`ls -d -Q ${RCDPREFIX}${RL}.d/K[0-9][0-9]${INITSCRIPTID} 2>/dev/null | xargs` + SSLINK=`ls -d -Q ${RCDPREFIX}S.d/S[0-9][0-9]${INITSCRIPTID} 2>/dev/null | xargs` + + verifyrclink ${SLINK} ${KLINK} ${SSLINK} +fi + +testexec () { + # + # returns true if any of the parameters is + # executable (after following links) + # + while test $# -gt 0 ; do + if test -x "$1" ; then + return 0 + fi + shift + done + return 1 +} + +RC= + +### +### LOCAL INITSCRIPT POLICY: Enforce need of a start entry +### in either runlevel S or current runlevel to allow start +### or restart. +### +case ${ACTION} in + start|restart) + if testexec ${SLINK} ; then + RC=104 + elif testexec ${KLINK} ; then + RC=101 + elif testexec ${SSLINK} ; then + RC=104 + fi + ;; +esac + +# test if /etc/init.d/initscript is actually executable +if testexec "${INITDPREFIX}${INITSCRIPTID}" ; then + if test x${RC} = x && test x${MODE} = xquery ; then + RC=105 + fi + + # call policy layer + querypolicy + case ${RC} in + 101|104) + ;; + *) if test x${MODE} != xquery ; then + printerror policy-rc.d returned error status ${RC} + if test x${RETRY} = x ; then + exit ${RC} + else + RC=102 + fi + fi + ;; + esac +else + ### + ### LOCAL INITSCRIPT POLICY: non-executable initscript; deny exec. + ### (this is common sense, actually :^P ) + ### + RC=101 +fi + +## Handles --query +if test x${MODE} = xquery ; then + exit ${RC} +fi + + +setechoactions () { + if test $# -gt 1 ; then + echoaction=true + else + echoaction= + fi +} +getnextaction () { + saction=$1 + shift + ACTION="$@" +} + +## Executes initscript +## note that $ACTION is a space-separated list of actions +## to be attempted in order until one suceeds. +if test x${FORCE} != x || test ${RC} -eq 104 ; then + if testexec "${INITDPREFIX}${INITSCRIPTID}" ; then + RC=102 + setechoactions ${ACTION} + while test ! -z "${ACTION}" ; do + getnextaction ${ACTION} + if test ! -z ${echoaction} ; then + printerror executing initscript action \"${saction}\"... + fi + + "${INITDPREFIX}${INITSCRIPTID}" "${saction}" "$@" && exit 0 + RC=$? + + if test ! -z "${ACTION}" ; then + printerror action \"${saction}\" failed, trying next action... + fi + done + printerror initscript ${INITSCRIPTID}, action \"${saction}\" failed. + exit ${RC} + fi + exit 102 +fi + +## Handles --disclose-deny and denied "status" action (bug #381497) +if test ${RC} -eq 101 && test x${RETURNFAILURE} = x ; then + if test "x${ACTION%% *}" = "xstatus"; then + printerror emulating initscript action \"status\", returning \"unknown\" + RC=4 + else + RC=0 + fi +else + formataction ${ACTION} + printerror initscript ${naction} \"${printaction}\" not executed. +fi + +exit ${RC} --- sysvinit-2.88dsf.orig/debian/src/initscripts/Makefile +++ sysvinit-2.88dsf/debian/src/initscripts/Makefile @@ -0,0 +1,49 @@ +DESTDIR = +sysconfdir = /etc +prefix = /usr +docdir = $(prefix)/share/doc/initscripts +sbindir = /sbin + +INSTALL = install -m755 -o root -g root +INSTALL_DATA = install -m644 -o root -g root + +all: + +install: + # TODO: Replace /lib/init/rw directory with symbolic link to + # /run. This requires the directory to be empty and unused, + # so needs doing post-wheezy. If the migration to /run is + # complete, could be removed entirely. + $(INSTALL) -d $(DESTDIR)/run/. + $(INSTALL) -d $(DESTDIR)/lib/init/rw/. + $(INSTALL) -d $(DESTDIR)/var/lib/initscripts/. + $(INSTALL) -d $(DESTDIR)/var/lib/urandom/. + $(INSTALL) -d $(DESTDIR)/var/log/fsck/. + $(INSTALL) -d $(DESTDIR)$(docdir)/. + $(INSTALL_DATA) doc/* $(DESTDIR)$(docdir) + $(INSTALL) -d $(DESTDIR)/usr/share/initscripts + cp -afv share/* $(DESTDIR)/usr/share/initscripts + find $(DESTDIR)/usr/share/initscripts -type d -name .svn -print0 |xargs -r0 rm -r + + $(INSTALL) -d $(DESTDIR)$(sysconfdir)/. + $(INSTALL) -d $(DESTDIR)$(sysconfdir)/default + cp -afv etc/* $(DESTDIR)$(sysconfdir) + find $(DESTDIR)$(sysconfdir) -type d -name .svn -print0 |xargs -r0 rm -r + + cp -afv lib/* $(DESTDIR)/lib + find $(DESTDIR)/lib -type d -name .svn -print0 |xargs -r0 rm -r + chmod 755 $(DESTDIR)$(sysconfdir)/init.d/[a-z]* + chmod 644 $(DESTDIR)/lib/init/*.sh + chmod 644 $(DESTDIR)$(sysconfdir)/init.d/skeleton + chmod -R g-w $(DESTDIR) + chown -R root:root $(DESTDIR) + + $(INSTALL) -d $(DESTDIR)$(sbindir)/. + $(INSTALL) sbin/fsck.nfs $(DESTDIR)$(sbindir)/fsck.nfs + + $(INSTALL) -d $(DESTDIR)/usr/share/man/man8 + $(INSTALL_DATA) man/fsck.nfs.8 \ + $(DESTDIR)/usr/share/man/man8/fsck.nfs.8 + + $(INSTALL) -d $(DESTDIR)/usr/share/man/man5 + $(INSTALL_DATA) man/*.5 $(DESTDIR)/usr/share/man/man5/. --- sysvinit-2.88dsf.orig/debian/src/initscripts/man/fsck.nfs.8 +++ sysvinit-2.88dsf/debian/src/initscripts/man/fsck.nfs.8 @@ -0,0 +1,16 @@ +.TH FSCK.NFS 8 "May 2004" "Initscripts" +.SH NAME +fsck.nfs \- Dummy fsck.nfs script that always returns success. +.SH SYNOPSIS +.B fsck.nfs +.SH DESCRIPTION +Debian GNU/Linux need this for when the root file system is on NFS: there is +no way to find out if root is NFS mounted and we really want to do a +"fsck -a /". +.SH EXIT CODE +The exit code returned by +.B mount.nfs +is always zero, meaning successful completion. +.SH SEE ALSO +.BR fsck (8), +.BR fstab (5). --- sysvinit-2.88dsf.orig/debian/src/initscripts/man/halt.5 +++ sysvinit-2.88dsf/debian/src/initscripts/man/halt.5 @@ -0,0 +1,49 @@ +.TH halt 5 "16 Jan 2007" "" "File Formats" +.SH NAME +halt \- variables that affect the behavior of the shutdown scripts +.SH DESCRIPTION +The +.I /etc/default/halt +file contains variable settings in POSIX format: +.IP "" .5i +VAR=VAL +.PP +Only one assignment is allowed per line. +Comments (starting with '#') are also allowed. + +.SH OPTIONS +The following variables can be set. + +.IP \fBHALT\fP +If set to +.B poweroff +the system will be powered down after it has been +brought down. This is the default. +.br +If set to +.B halt +the system will only be halted after it has been brought +down. What exactly this means depends on your hardware. + +.IP \fBNETDOWN\fB +Setting this to +.B no +prevents shutdown from shutting down the network intefaces. +This is necessary to use Wake-On-Lan. +Setting it to +.B yes +causes shutdown to also bring down the network interfaces (and +thus prevent the machine from being woken up remotely). + +.SH SEE ALSO +.BR halt "(8), " shutdown "(8)." + +.SH AUTHOR +\fBCasper Gielen\fR <\&casper@gielen.name\&> + +.SH "COPYRIGHT" +This manual page is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. +.PP +This manual page is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +.PP +You should have received a copy of the GNU General Public License along with this manual page; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111\-1307 USA --- sysvinit-2.88dsf.orig/debian/src/initscripts/man/rcS.5 +++ sysvinit-2.88dsf/debian/src/initscripts/man/rcS.5 @@ -0,0 +1,107 @@ +.TH rcS 5 "16 Jan 2006" "" "Debian Administrator's Manual" +.SH NAME +rcS \- variables that affect the behavior of boot scripts +.SH DESCRIPTION +The +.I /etc/default/rcS +file contains variable settings in POSIX format: +.IP "" .5i +VAR=VAL +.PP +Only one assignment is allowed per line. +Comments (starting with '#') are also allowed. + +.SH OPTIONS +The following variables can be set. +For the default values please see \fI/usr/share/initscripts/default.rcS\fP. + +.IP \fBTMPTIME\fP +On boot the files in /tmp will be deleted if their modification time +is more than TMPTIME days ago. +A value of 0 means that files are removed regardless of age. +If you don't want the system to clean /tmp +then set TMPTIME to a negative value (e.g., \-1) +or to the word \fIinfinite\fP. + +.IP \fBSULOGIN\fB +Setting this to +.B yes +causes init to spawn a +.B sulogin +on the console early in the boot process. +If the administrator does not login +then the sulogin session will time out +after 30 seconds and the boot process will continue. + +.IP \fBDELAYLOGIN\fB +Normally the system will not let non-root users log in +until the boot process is complete +and the system has finished switching +to the default runlevel (usually level 2). +However, in theory it is safe to log in a bit earlier, +namely, as soon as \fBinetd\fP has started. +Setting the variable to \fBno\fP allows earlier login; +setting the variable to \fByes\fP prevents it. + +Some details: +The \fBDELAYLOGIN\fP variable controls whether or not the +file \fI/var/lib/initscripts/nologin\fP is created during +the boot process and deleted at the end of it. +\fI/etc/nologin\fP is normally a symbolic link to the latter location, +and the \fBlogin\fP(1) program refuses to allow non-root logins so long +as (the target of) \fI/etc/nologin\fP exists. +If you set the variable to \fBno\fP then it is advisable to ensure +that \fI/var/lib/initscripts/nologin\fP does not exist. + +.IP \fBUTC\fP +This is used to govern how the hardware real time clock is interpreted +when it is read (e.g., at boot time, for the purpose of setting the +system clock) and when it is written (e.g., at shutdown). +If this option is set to \fBno\fP +then the system clock is assumed to be set to local time. +If the option is set to \fByes\fP +then the system clock is assumed to be set to something approximating +Coordinated Universal Time (UTC). +(POSIX systems keep a variant of UTC, without leap seconds.) + +On contemporary Debian systems +(although change has been requested at +\fIhttp://bugs.debian.org/346342\fP), +if UTC is set to \fBno\fP then \fI/usr/share/zoneinfo\fP +must be readable early in the boot process. +If you want to keep \fI/usr\fP on a separate filesystem then +you must still ensure that the target of \fI/etc/localtime\fP +points to the correct zone information file for the time zone +of the time kept in your hardware real time clock. + +.IP \fBVERBOSE\fP +Setting this option to \fBno\fP (in lower case) will make the boot process +a bit less verbose. +Setting this option to \fByes\fP will make the boot process +a bit more verbose. + +.IP \fBFSCKFIX\fP +When the root and all other file systems are checked, +.B fsck +is invoked with the \fB\-a\fP option +which means "autorepair". +If there are major inconsistencies +then the fsck process will bail out. +The system will print a message +asking the administrator to repair the file system manually +and will present a root shell prompt +(actually a \fIsulogin\fP prompt) +on the console. +Setting this option to \fByes\fP causes the fsck commands +to be run with the \fB\-y\fP option instead of the \fB\-a\fP option. +This will tell fsck always to repair the file systems +without asking for permission. + +.SH NOTE +The \fBEDITMOTD\fP and \fBRAMRUN\fP variables are no longer used. + +.SH AUTHOR +Miquel van Smoorenburg + +.SH SEE ALSO +.BR inetd "(8), " init "(8), " inittab "(5), " login "(1)." --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/default/halt +++ sysvinit-2.88dsf/debian/src/initscripts/etc/default/halt @@ -0,0 +1,2 @@ +# Default behaviour of shutdown -h / halt. Set to "halt" or "poweroff". +HALT=poweroff --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/default/devpts +++ sysvinit-2.88dsf/debian/src/initscripts/etc/default/devpts @@ -0,0 +1,5 @@ +# GID of the `tty' group +TTYGRP=5 + +# Set to 600 to have `mesg n' be the default +TTYMODE=620 --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/default/bootlogd +++ sysvinit-2.88dsf/debian/src/initscripts/etc/default/bootlogd @@ -0,0 +1,2 @@ +# Run bootlogd at startup ? +BOOTLOGD_ENABLE=No --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/single +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/single @@ -0,0 +1,35 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: single +# Required-Start: $local_fs $all killprocs +# Required-Stop: +# Default-Start: 1 +# Default-Stop: +# Short-Description: executed by init(8) upon entering runlevel 1 (single). +### END INIT INFO + +PATH=/sbin:/bin + +. /lib/lsb/init-functions + +do_start () { + log_action_msg "Will now switch to single-user mode" + exec init -t1 S +} + +case "$1" in + start) + do_start + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + # No-op + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/halt +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/halt @@ -0,0 +1,83 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: halt +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: 0 +# Short-Description: Execute the halt command. +# Description: +### END INIT INFO + +NETDOWN=yes + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +[ -f /etc/default/halt ] && . /etc/default/halt + +. /lib/lsb/init-functions + +do_stop () { + if [ "$INIT_HALT" = "" ] + then + case "$HALT" in + [Pp]*) + INIT_HALT=POWEROFF + ;; + [Hh]*) + INIT_HALT=HALT + ;; + *) + INIT_HALT=POWEROFF + ;; + esac + fi + + # See if we need to cut the power. + if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ] + then + /etc/init.d/ups-monitor poweroff + fi + + # Don't shut down drives if we're using RAID. + hddown="-h" + if grep -qs '^md.*active' /proc/mdstat + then + hddown="" + fi + + # If INIT_HALT=HALT don't poweroff. + poweroff="-p" + if [ "$INIT_HALT" = "HALT" ] + then + poweroff="" + fi + + # Make it possible to not shut down network interfaces, + # needed to use wake-on-lan + netdown="-i" + if [ "$NETDOWN" = "no" ]; then + netdown="" + fi + + log_action_msg "Will now halt" + halt -d -f $netdown $poweroff $hddown +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/urandom +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/urandom @@ -0,0 +1,79 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: urandom +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: S +# Default-Stop: 0 6 +# Short-Description: Save and restore random seed between restarts. +# Description: This script saves the random seed between restarts. +# It is called from the boot, halt and reboot scripts. +### END INIT INFO + +[ -c /dev/urandom ] || exit 0 + +PATH=/sbin:/bin +SAVEDFILE=/var/lib/urandom/random-seed +POOLSIZE=512 +[ -f /proc/sys/kernel/random/poolsize ] && POOLSIZE="$(cat /proc/sys/kernel/random/poolsize)" +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +do_status () { + if [ -f $SAVEDFILE ] ; then + return 0 + else + return 4 + fi +} + +case "$1" in + start|"") + [ "$VERBOSE" = no ] || log_action_begin_msg "Initializing random number generator" + # Load and then save $POOLSIZE bytes, + # which is the size of the entropy pool + if [ -f "$SAVEDFILE" ] + then + # Handle locally increased pool size + set -- $(LC_ALL=C ls -l "$SAVEDFILE") + SAVEDSIZE="$5" + if [ "$SAVEDSIZE" -gt "$POOLSIZE" ] + then + [ -w /proc/sys/kernel/random/poolsize ] && echo $POOLSIZE > /proc/sys/kernel/random/poolsize + POOLSIZE=$SAVEDSIZE + fi + cat "$SAVEDFILE" >/dev/urandom + fi + rm -f $SAVEDFILE + # Hm, why is the saved pool re-created at boot? [pere 2009-09-03] + umask 077 + dd if=/dev/urandom of=$SAVEDFILE bs=$POOLSIZE count=1 >/dev/null 2>&1 + ES=$? + umask 022 + [ "$VERBOSE" = no ] || log_action_end_msg $ES + ;; + stop) + # Carry a random seed from shut-down to start-up; + # see documentation in linux/drivers/char/random.c + [ "$VERBOSE" = no ] || log_action_begin_msg "Saving random seed" + umask 077 + dd if=/dev/urandom of=$SAVEDFILE bs=$POOLSIZE count=1 >/dev/null 2>&1 + ES=$? + [ "$VERBOSE" = no ] || log_action_end_msg $ES + ;; + status) + do_status + exit $? + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + *) + echo "Usage: urandom start|stop" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/umountnfs.sh +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/umountnfs.sh @@ -0,0 +1,108 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: umountnfs +# Required-Start: +# Required-Stop: umountfs +# Should-Stop: $network $portmap nfs-common +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Unmount all network filesystems except the root fs. +# Description: Also unmounts all virtual filesystems (proc, +# devpts, usbfs, sysfs) that are not mounted at the +# top level. +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +KERNEL="$(uname -s)" +RELEASE="$(uname -r)" +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +case "${KERNEL}:${RELEASE}" in + Linux:[01].*|Linux:2.[01].*) + FLAGS="" + ;; + Linux:2.[23].*|Linux:2.4.?|Linux:2.4.?-*|Linux:2.4.10|Linux:2.4.10-*) + FLAGS="-f" + ;; + *) + FLAGS="-f -l" + ;; +esac + +do_stop () { + # Write a reboot record to /var/log/wtmp before unmounting + halt -w + + # Remove bootclean flag files (precaution against symlink attacks) + rm -f /tmp/.clean + + # + # Make list of points to unmount in reverse order of their creation + # + + exec 9<&0 &2 + exit 3 + ;; + stop|"") + do_stop + ;; + *) + echo "Usage: umountnfs.sh [start|stop]" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/umountroot +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/umountroot @@ -0,0 +1,110 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: umountroot +# Required-Start: +# Required-Stop: +# Should-Stop: halt reboot kexec +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Mount the root filesystem read-only. +### END INIT INFO + +PATH=/sbin:/bin +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +do_stop () { + [ "$VERBOSE" = no ] || log_action_begin_msg "Mounting root filesystem read-only" + # These directories must exist on the root filesystem as they are + # targets for system mountpoints. We've just unmounted all other + # filesystems, so either they are mounted now (in which case the + # mount point exists) or we can make the mountpoint. + for dir in /proc /sys; do + mkdir -p $dir || true + done + # These must be turned into symlinks for the /run transition. We + # can't do this at boot time because / is remounted read-write too + # late, so do it on shutdown instead. + if [ -d /var/run ]; then + umount -l /var/run || true + rm -rf /var/run + ln -nsf /run /var/run + fi + if [ -d /var/lock ]; then + umount -l /var/lock || true + rm -rf /var/lock + ln -nsf /run/lock /var/lock + fi + if [ -d /dev/shm ]; then + umount -l /dev/shm || true + rm -rf /dev/shm + ln -nsf /run/shm /dev/shm + fi + if [ ! -L /lib/init/rw ] && umount -l /lib/init/rw && \ + rm -rf /lib/init/rw; then + ln -nsf /run /lib/init/rw + elif [ -L /lib/init/rw ] && [ $(readlink /lib/init/rw) != /run ]; then + rm -f /lib/init/rw + ln -nsf /run /lib/init/rw + fi + + # Ask init to re-exec itself before we go down if it has been + # upgraded this cycle. It'll lose all its state, but at least + # it won't hold open files on the root filesystem (lp:#672177). + if [ -f /var/run/init.upgraded ] + then + old_map=$( cat /proc/1/maps ) + map=$old_map + telinit u || : + i=0 + timeout=5 + while [ "$map" = "$old_map" ] + do + sleep 1 + map=$( cat /proc/1/maps ) + /usr/bin/logger "waiting for init to respawn" + i=$((i+1)) + if [ $i -eq $timeout ] ; then + break + fi + done + + if [ "$map" = "$old_map" ] ; then + /usr/bin/logger "FAIL: init failed to respawn in $timeout seconds - unmounting anyway" + else + /usr/bin/logger "SUCCESS: init respawned after $i seconds (within $timeout seconds timeout)" + fi + fi + + MOUNT_FORCE_OPT= + [ "$(uname -s)" = "GNU/kFreeBSD" ] && MOUNT_FORCE_OPT=-f + # This: + # mount -n -o remount,ro / + # will act on a bind mount of / if there is one. + # See #339023 and the comment in checkroot.sh + mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \ + || mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \ + || mount $MOUNT_FORCE_OPT -n -o remount,ro / + ES=$? + [ "$VERBOSE" = no ] || log_action_end_msg $ES +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/ondemand +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/ondemand @@ -0,0 +1,40 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: ondemand +# Required-Start: $remote_fs $all +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Set the CPU Frequency Scaling governor to "ondemand" +### END INIT INFO + + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. /lib/init/vars.sh +. /lib/lsb/init-functions + +case "$1" in + start) + start-stop-daemon --start --background --exec /etc/init.d/ondemand -- background + ;; + background) + sleep 60 # probably enough time for desktop login + + for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor + do + [ -f $CPUFREQ ] || continue + echo -n ondemand > $CPUFREQ + done + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/reboot +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/reboot @@ -0,0 +1,38 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: reboot +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: 6 +# Short-Description: Execute the reboot command. +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. /lib/lsb/init-functions + +do_stop () { + # Message should end with a newline since kFreeBSD may + # print more stuff (see #323749) + log_action_msg "Will now restart" + reboot -d -f -i +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/stop-bootlogd-single +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/stop-bootlogd-single @@ -0,0 +1,51 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: stop-bootlogd-single +# Required-Start: $local_fs $all +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Stop bootlogd in single user mode +# Description: See the init.d/bootlogd script +### END INIT INFO +# +# This has to run in the boot sequence (rcS.d), and not in the "single +# user" sequence (rc1.d), because rc1.d/ is not used when booting into +# single user. "grep :[S1]: /etc/inittab" show that single user is just +# a call to /sbin/sulogin, while runlevel 1 is a call to +# "/etc/init.d/rc 1" which in the end switches to runlevel S to run +# /sbin/sulogin. + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +NAME=stop-bootlogd-single +DAEMON=/sbin/bootlogd + +[ -x "$DAEMON" ] || exit 0 + +case "$1" in + start) + single=false + for word in $(cat /proc/cmdline); do + case "$word" in + S|single|1) + single=true + ;; + esac + done + if [ true = "$single" ] ; then + /etc/init.d/bootlogd stop + fi + ;; + stop|restart|force-reload) + # No-op + ;; + status) + exec /etc/init.d/bootlogd status + ;; + *) + echo "Usage: $NAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/killprocs +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/killprocs @@ -0,0 +1,62 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: killprocs +# Required-Start: $local_fs +# Required-Stop: +# Default-Start: 1 +# Default-Stop: +# Short-Description: executed by init(8) upon entering runlevel 1 (single). +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. /lib/lsb/init-functions + +do_start () { + # Kill all processes. + log_action_begin_msg "Asking all remaining processes to terminate" + killall5 -15 # SIGTERM + log_action_end_msg 0 + alldead="" + for seq in 1 2 3 4 5 6 7 8 9 10; do + # use SIGCONT/signal 18 to check if there are + # processes left. No need to check the exit code + # value, because either killall5 work and it make + # sense to wait for processes to die, or it fail and + # there is nothing to wait for. + + if killall5 -18 ; then + : + else + alldead=1 + break + fi + + sleep 1 + done + if [ -z "$alldead" ] ; then + log_action_begin_msg "Killing all remaining processes" + killall5 -9 # SIGKILL + log_action_end_msg 1 + else + log_action_begin_msg "All processes ended within $seq seconds." + log_action_end_msg 0 + fi +} + +case "$1" in + start) + do_start + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + # No-op + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/rc.local +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/rc.local @@ -0,0 +1,41 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: rc.local +# Required-Start: $remote_fs $syslog $all +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Run /etc/rc.local if it exist +### END INIT INFO + + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. /lib/init/vars.sh +. /lib/lsb/init-functions + +do_start() { + if [ -x /etc/rc.local ]; then + [ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)" + /etc/rc.local + ES=$? + [ "$VERBOSE" != no ] && log_end_msg $ES + return $ES + fi +} + +case "$1" in + start) + do_start + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/umountfs +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/umountfs @@ -0,0 +1,140 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: umountfs +# Required-Start: +# Required-Stop: umountroot +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Turn off swap and unmount all local file systems. +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +umask 022 + +do_stop () { + exec 9<&0 /dev/null + log_action_end_msg $? + else + log_daemon_msg "Will now deactivate swap" + swapoff -a -v + log_end_msg $? + fi + + # + # Unmount local filesystems + # + if [ "$WEAK_MTPTS" ]; then + # Do not use -f umount option for WEAK_MTPTS + if [ "$VERBOSE" = no ] + then + log_action_begin_msg "Unmounting weak filesystems" + fstab-decode umount -r -d $WEAK_MTPTS + log_action_end_msg $? + else + log_daemon_msg "Will now unmount weak filesystems" + fstab-decode umount -v -r -d $WEAK_MTPTS + log_end_msg $? + fi + fi + if [ "$REG_MTPTS" ] + then + if [ "$VERBOSE" = no ] + then + log_action_begin_msg "Unmounting local filesystems" + fstab-decode umount -f -r -d $REG_MTPTS + log_action_end_msg $? + else + log_daemon_msg "Will now unmount local filesystems" + fstab-decode umount -f -v -r -d $REG_MTPTS + log_end_msg $? + fi + fi +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/sendsigs +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/sendsigs @@ -0,0 +1,137 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: sendsigs +# Required-Start: +# Required-Stop: umountnfs +# Default-Start: +# Default-Stop: 0 6 +# Short-Description: Kill all remaining processes. +# Description: +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +. /lib/lsb/init-functions + +# Make it possible to see who the misbehaving processes are +report_unkillable() { + [ -x /usr/share/apport/unkillable_shutdown ] || return + if [ ! -e /etc/default/apport ] || ! grep -q '^enabled[[:space:]]*=[[:space:]]*1' /etc/default/apport; then + return + fi + /usr/share/apport/unkillable_shutdown $OMITPIDS +} + +upstart_jobs () { + initctl list | grep start/ | sed -n -e "/process [0-9]/s/.*process //p" +} + +do_stop () { + OMITPIDS= + + # Note: /run transition: Now using /run in place of /var/run; + # /lib/init/rw will be removed following transition of + # /lib/init/rw users to /run. + for omitfile in /run/sendsigs.omit /lib/init/rw/sendsigs.omit; do + if [ -e $omitfile ]; then + for pid in $(cat $omitfile); do + OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" + done + fi + done + + # Load sendsigs.omit.d/packagename files too, to make it + # possible for scripts that need to modify the list of pids at + # run time without race conditions. + # Note: /run transition: both /run and /lib/init/rw are used + # at present during the transition to /run; /lib/init/rw will + # be removed following transition of /lib/init/rw users to + # /run. + for omitdir in /run/sendsigs.omit.d /lib/init/rw/sendsigs.omit.d; do + if [ -d "${omitdir}" ]; then + for pidfile in "${omitdir}/"*; do + [ -f "$pidfile" ] || continue + for pid in $(cat $pidfile); do + OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" + done + done + fi + done + + # Upstart jobs have their own "stop on" clauses that sends + # SIGTERM/SIGKILL just like this, so if they're still running, + # they're supposed to be + if [ -x /sbin/initctl ]; then + for pid in $(upstart_jobs); do + OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" + done + fi + + # Flush the kernel I/O buffer before we start to kill + # processes, to make sure the IO of already stopped services to + # not slow down the remaining processes to a point where they + # are accidentily killed with SIGKILL because they did not + # manage to shut down in time. + sync + + # Kill all processes. + log_action_begin_msg "Asking all remaining processes to terminate" + killall5 -15 $OMITPIDS # SIGTERM + log_action_end_msg 0 + alldead="" + OMITPIDS0="$OMITPIDS" + for seq in 1 2 3 4 5 6 7 8 9 10; do + OMITPIDS="$OMITPIDS0" + # use SIGCONT/signal 18 to check if there are + # processes left. No need to check the exit code + # value, because either killall5 work and it make + # sense to wait for processes to die, or it fail and + # there is nothing to wait for. + + # did an upstart job start since we last polled initctl? check + # again on each loop and add any new jobs (e.g., plymouth) to + # the list. If we did miss one starting up, this beats waiting + # 10 seconds before shutting down. + if [ -x /sbin/initctl ]; then + for pid in $(upstart_jobs); do + OMITPIDS="${OMITPIDS:+$OMITPIDS }-o $pid" + done + fi + if killall5 -18 $OMITPIDS ; then + : + else + alldead=1 + break + fi + + sleep 1 + done + if [ -z "$alldead" ] ; then + #report_unkillable + log_action_begin_msg "Killing all remaining processes" + killall5 -9 $OMITPIDS # SIGKILL + log_action_end_msg 1 + else + log_action_begin_msg "All processes ended within $seq seconds." + log_action_end_msg 0 + fi +} + +case "$1" in + start) + # No-op + ;; + restart|reload|force-reload) + echo "Error: argument '$1' not supported" >&2 + exit 3 + ;; + stop) + do_stop + ;; + *) + echo "Usage: $0 start|stop" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/bootlogd +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/bootlogd @@ -0,0 +1,96 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: bootlogd +# Required-Start: mountdevsubfs +# X-Start-Before: hostname keymap keyboard-setup procps pcmcia hwclock hwclockfirst hdparm hibernate-cleanup lvm2 +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Start or stop bootlogd. +# Description: Starts or stops the bootlogd log program +# which logs boot messages. +### END INIT INFO + +PATH=/sbin:/bin # No remote fs at start +DAEMON=/sbin/bootlogd +[ -x "$DAEMON" ] || exit 0 +NAME=bootlogd +DESC="boot logger" +BOOTLOGD_OPTS="-r -c" +[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd +. /lib/init/vars.sh + +. /lib/lsb/init-functions + +# Because bootlogd is broken on some systems, we take the special measure +# of requiring it to be enabled by setting an environment variable. +case "$BOOTLOGD_ENABLE" in + [Nn]*) + exit 0 + ;; +esac + +# Previously this script was symlinked as "stop-bootlogd" which, when run +# with the "start" argument, should stop bootlogd. Now stop-bootlogd is +# a distinct script, but for backward compatibility this script continues +# to implement the old behavior. +SCRIPTNAME=${0##*/} +SCRIPTNAME=${SCRIPTNAME#[SK]??} +ACTION="$1" +case "$0" in + *stop-bootlog*) + [ "$ACTION" = start ] && ACTION=stop + ;; +esac + +case "$ACTION" in + start) + # PATH is set above + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + if [ -d /proc/1/. ] + then + umask 027 + start-stop-daemon --start --quiet --exec $DAEMON -- \ + $BOOTLOGD_OPTS + ES=$? + else + $DAEMON $BOOTLOGD_OPTS + ES=$? + fi + [ "$VERBOSE" != no ] && log_end_msg $ES + ;; + stop) + PATH=/bin:/sbin:/usr/bin:/usr/sbin + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + start-stop-daemon --oknodo --stop --quiet --exec $DAEMON + ES=$? + sleep 1 + [ "$VERBOSE" != no ] && log_end_msg $ES + if [ -f /var/log/boot ] && [ -f /var/log/boot~ ] + then + [ "$VERBOSE" = no ] || log_action_begin_msg "Moving boot log file" + # bootlogd writes to boot, making backup at boot~ + cd /var/log && { + chgrp adm boot || : + savelog -q -p -c 5 boot \ + && mv boot.0 boot \ + && mv boot~ boot.0 + } + ES=$? + [ "$VERBOSE" = no ] || log_action_end_msg $ES + fi + ;; + restart|force-reload) + /etc/init.d/bootlogd stop + /etc/init.d/bootlogd start + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/skeleton +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/skeleton @@ -0,0 +1,159 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: skeleton +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Example initscript +# Description: This file should be used to construct scripts to be +# placed in /etc/init.d. +### END INIT INFO + +# Author: Foo Bar +# +# Please remove the "Author" lines above and replace them +# with your own name if you copy and modify this script. + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Description of the service" +NAME=daemonexecutablename +DAEMON=/usr/sbin/$NAME +DAEMON_ARGS="--options args" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/etc/init.d/stop-bootlogd +++ sysvinit-2.88dsf/debian/src/initscripts/etc/init.d/stop-bootlogd @@ -0,0 +1,33 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: stop-bootlogd +# Required-Start: $local_fs $all +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Stop bootlogd +# Description: See the init.d/bootlogd script +### END INIT INFO + +NAME=stop-bootlogd +DAEMON=/sbin/bootlogd + +[ -x "$DAEMON" ] || exit 0 + +case "$1" in + start) + /etc/init.d/bootlogd stop + ;; + stop|restart|force-reload) + # No-op + ;; + status) + exec /etc/init.d/bootlogd status + ;; + *) + echo "Usage: $NAME {start|stop|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: --- sysvinit-2.88dsf.orig/debian/src/initscripts/share/default.rcS +++ sysvinit-2.88dsf/debian/src/initscripts/share/default.rcS @@ -0,0 +1,27 @@ +# +# /etc/default/rcS +# +# Default settings for the scripts in /etc/rcS.d/ +# +# For information about these variables see the rcS(5) manual page. +# +# This file belongs to the "initscripts" package. + +# delete files in /tmp during boot older than x days. +# '0' means always, -1 or 'infinite' disables the feature +TMPTIME=0 + +# spawn sulogin during boot, continue normal boot if not used in 30 seconds +SULOGIN=no + +# do not allow users to log in until the boot has completed +DELAYLOGIN=no + +# assume that the BIOS clock is set to UTC time (recommended) +UTC=yes + +# be more verbose during the boot process +VERBOSE=no + +# automatically repair filesystems with inconsistencies during boot +FSCKFIX=no --- sysvinit-2.88dsf.orig/debian/src/initscripts/lib/init/splash-functions-base +++ sysvinit-2.88dsf/debian/src/initscripts/lib/init/splash-functions-base @@ -0,0 +1,93 @@ +# This script contains hooks to allow init scripts to control +# a splash program during boot and shutdown. +# +# To override these, provide a /lib/init/splash-functions scripts +# with new functions (it is sourced at the end of this file) +# +# Note that scripts have a number of constraints: +# 1) Should avoid using any binaries not found in the initramfs so that +# the same hooks can be used there. +# 2) This also means that bashisms can't be used. +# 3) Scripts must work when running under "set -e". +# 4) "local" should be used to avoid overwriting global variables. + + +# Detects whether a splash is running +splash_running() { return 1; } + +# Tells the splash to quit +splash_stop() { return 0; } + +# Tells the splash to start if not already running +splash_start() { return 1; } + +# Tells the splash the current boot/shutdown progress +# $1 contains the progress as a percentage value between -100 and 100 +# Positive values indicate boot progress +# Negative values indicate shutdown progress +splash_progress() +{ + local progress tmp + progress="$1" + + splash_running || return 0 + + # Sanity check step 1 - must match ^-[0-9]*$ + tmp="$progress" + + # Strip trailing numbers + while [ "${tmp%[0-9]}" != "$tmp" ]; do + tmp="${tmp%[0-9]}" + done + + # Now "-" or no characters should remain + if [ -n "$tmp" ] && [ "$tmp" != "-" ]; then + return 1 + fi + + # Sanity check step 2 - check for values >= -100 and <= 100 + if [ "$progress" != "${progress#-}" ]; then + # Negative value + if [ "$progress" -lt -100 ]; then + return 1 + fi + else + # Positive value + if [ "$progress" -gt 100 ]; then + return 1 + fi + fi + + # Sanity checks passed + custom_splash_progress "$progress" || return 1 + return 0 +} + +# Customizations should replace this function instead of splash_progress above +custom_splash_progress() { return 0; } + + +# Tells the splash that a task which may take an unknown amount of +# time has started (such as a fsck). This is useful to make sure the +# splash doesn't time out and to give visual feedback to the user. +splash_start_indefinite() { return 0; } + +# Tells the splash that an indefinite task is done +splash_stop_indefinite() { return 0; } + +# Gets user input from a splash +# $1 contains the text for the user prompt +# $2 describes the type of input: +# regular = regular input, e.g. a user name +# password = input which should not be echoed to screen, e.g. a password +# enter = A "press enter to continue" type of prompt +# +# Returns 1 if no user input is possible +# Should be called with an alternative non-splash input fallback: +# INPUT="$(splash_user_input "Enter password:" password)" || \ +# INPUT="$(manual_method)" +splash_user_input() { return 1; } + +# Allow these functions to be overridden with custom scripts. This is +# the official API hook. +if [ -e /lib/init/splash-functions ] ; then . /lib/init/splash-functions ; fi --- sysvinit-2.88dsf.orig/debian/src/initscripts/lib/init/vars.sh +++ sysvinit-2.88dsf/debian/src/initscripts/lib/init/vars.sh @@ -0,0 +1,54 @@ +# +# Set rcS vars +# + +# Because /etc/default/rcS isn't a conffile, it's never updated +# automatically. So that an empty or outdated file missing newer +# options works correctly, set the default values here. +TMPTIME=0 +SULOGIN=no +DELAYLOGIN=no +UTC=yes +VERBOSE=no +FSCKFIX=no +RAMLOCK=yes +RAMSHM=yes +# Defaults to yes in /etc/defaults/rcS, so will be enabled for new +# installs. +RAMTMP=no + +# Source conffile +if [ -f /etc/default/rcS ]; then + . /etc/default/rcS +fi + +# Parse kernel command line +if [ -r /proc/cmdline ]; then + for ARG in $(cat /proc/cmdline); do + case $ARG in + + # check for bootoption 'noswap' and do not activate swap + # partitions/files when it is set. + noswap) + NOSWAP=yes + break + ;; + + # Accept the same 'quiet' option as the kernel, but only + # during boot and shutdown. Only use this rule when the + # variables set by init.d/rc is present. + quiet) + if [ "$RUNLEVEL" ] && [ "$PREVLEVEL" ] ; then + VERBOSE="no" + fi + break + ;; + esac + done +fi + +# But allow both rcS and the kernel options 'quiet' to be overrided +# when INIT_VERBOSE=yes is used as well. +if [ "$INIT_VERBOSE" ] ; then + VERBOSE="$INIT_VERBOSE" +fi --- sysvinit-2.88dsf.orig/debian/src/initscripts/doc/README.Debian +++ sysvinit-2.88dsf/debian/src/initscripts/doc/README.Debian @@ -0,0 +1,18 @@ +sendsigs process omission interface +----------------------------------- + +Since initscripts package version 2.86.ds1-48, /etc/init.d/sendsigs is +able to omit processes from being killed by killall5(8). Process id's +listed in /run/sendsigs.omit, /lib/init/rw/sendsigs.omit or any file +in the /run/sendsigs.omit.d/ or /lib/init/rw/sendsigs.omit.d/ +directories will be omitted by sendsigs. Note use of /lib/init/rw is +deprecated and will be removed; users of /lib/init/rw must migrate to +/run. + +The recommended practice for adding a process id for omission is to +create a file in /run/sendsigs.omit.d/ containing the +process id that is to be omitted by sendsigs. + +This feature is only to be used for processes that need to be running +when remote file systems are umounted, and that have current working +directory set to a directory in the root file system. --- sysvinit-2.88dsf.orig/debian/src/initscripts/sbin/fsck.nfs +++ sysvinit-2.88dsf/debian/src/initscripts/sbin/fsck.nfs @@ -0,0 +1,21 @@ +#! /bin/sh +# +# fsck.nfs +# +# Dummy fsck.nfs file that always returns success. We +# need this for when the root file system is on NFS: +# there is no way to find out if root is NFS mounted +# and we really want to do a "fsck -a /". +# + +while : +do + case "$1" in + -*) shift ;; + *) break ;; + esac +done + +echo "$1: NFS file system." + +exit 0