On 6/20/12 12:00 AM, Roger Leigh wrote:

>> That pinpointed the trouble to three files: bootlogd, stop-bootlogd,
>> and stop-bootlogd-single. I still don't understand what problem
>> they're causing, but I've got more information to go on now.
> 
> They probably lack an LSB header to specify their dependencies? It
> would be good to know if they are truly problematic. If you still have
> the files, if you could attach a copy here that would be great.

Sure (found a copy from a backup). They *do* have "BEGIN INIT INFO"
headers (I grepped for all files in /etc/init.d/ that lacked the
headers, while trying to track down the problem, and they did not appear
on that list). I also remember that the "dpkg-query -W
-f='${Conffiles}\n'" command (in sysv-rc.postinst) did report "obsolete"
for those three... I don't know what criteria that uses, though.

Here's the contents of "bootlogd":

==================== BEGIN /etc/init.d/bootlogd
#! /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

:

==================== END /etc/init.d/bootlogd

The other two files' headers are:

### 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

and

### 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

Deleting all three cleared up the problem.. my system is now running
with dependency-based boot.

cheers,
 -Brian



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to