aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/sysvinit/sysvinit/bootlogd.init
blob: 7b87827fdf7d9c7f6171f3da315de16252be1b79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#! /bin/sh
#
# bootlogd	One of the first scripts to be executed. Starts or stops
#		the bootlogd log program. If this script is called as
#		"stop-bootlogd", it will stop the daemon instead of
#		starting it even when called with the "start" argument.
#
# Version:	@(#)bootlogd  2.85-12  21-Mar-2004  miquels@cistron.nl
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/sbin/bootlogd
NAME=bootlogd
DESC="Bootlog daemon"

# source function library
. /etc/init.d/functions

test -f $DAEMON || exit 0

[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd

## set -e # not needed

case "$BOOTLOGD_ENABLE" in
	[Nn]*)
		exit 0
		;;
esac

STOPPER=
ACTION="$1"
case "$0" in
	*stop-bootlog*)
		STOPPER=Y
		if [ "$ACTION" = start ]
		then
			ACTION=stop
		fi
		;;
esac

case "$ACTION" in
	start)
		echo -n "Starting $DESC: "
		if [ -d /proc/1/. ]
		then
			umask 027
			start-stop-daemon --start --quiet \
				--exec $DAEMON -- -r
		else
			$DAEMON -r
		fi
		echo "$NAME."
		;;
	stop)
		echo -n "Stopping $DESC: "
		start-stop-daemon --stop --quiet --exec $DAEMON

		if [ "$STOPPER" ] && [ -f /var/log/boot ] && \
		   [ -f /var/log/boot~ ]
		then
			cd /var/log
			chgrp adm boot
			savelog -p -c 5 boot > /dev/null 2>&1
			mv boot.0 boot
			mv boot~ boot.0
		fi

		echo "$NAME."
		;;
	 restart|force-reload)
		echo -n "Restarting $DESC: "
		start-stop-daemon --stop --quiet --exec $DAEMON
		sleep 1
		start-stop-daemon --start --quiet --exec $DAEMON
		echo "$NAME."
		;;
	status)
		status $DAEMON
		exit $?
		;;
	*)
		N=${0##*/}
		N=${N#[SK]??}
		echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
		exit 1
		;;
esac

exit 0