xref: /openbmc/ipmitool/contrib/ipmievd.init.debian (revision c18ec02f3304ce2a889a50e378f07a4168af3884)
1*c18ec02fSPetter Reinholdtsen#! /bin/sh
2*c18ec02fSPetter Reinholdtsen### BEGIN INIT INFO
3*c18ec02fSPetter Reinholdtsen# Provides:          ipmievd
4*c18ec02fSPetter Reinholdtsen# Required-Start:    $local_fs $remote_fs $syslog
5*c18ec02fSPetter Reinholdtsen# Required-Stop:     $local_fs $remote_fs $syslog
6*c18ec02fSPetter Reinholdtsen# Default-Start:     2 3 4 5
7*c18ec02fSPetter Reinholdtsen# Default-Stop:      S 0 1 6
8*c18ec02fSPetter Reinholdtsen# Short-Description: IPMI event daemon
9*c18ec02fSPetter Reinholdtsen# Description:       ipmievd  is a daemon which will listen for events
10*c18ec02fSPetter Reinholdtsen#                    from the BMC that are being sent to the SEL and
11*c18ec02fSPetter Reinholdtsen#                    also log those messages to syslog.
12*c18ec02fSPetter Reinholdtsen### END INIT INFO
13*c18ec02fSPetter Reinholdtsen#
14*c18ec02fSPetter Reinholdtsen# Author:	Elmar Hoffmann <elho@elho.net>
15*c18ec02fSPetter Reinholdtsen# Licence:      This script is public domain using the same
16*c18ec02fSPetter Reinholdtsen#               licence as ipmitool itself.
17*c18ec02fSPetter Reinholdtsen# Modified by:  Petter Reinholdtsen
18*c18ec02fSPetter Reinholdtsen
19*c18ec02fSPetter Reinholdtsenset -e
20*c18ec02fSPetter Reinholdtsen
21*c18ec02fSPetter ReinholdtsenPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
22*c18ec02fSPetter ReinholdtsenDESC="IPMI event daemon"
23*c18ec02fSPetter ReinholdtsenNAME=ipmievd
24*c18ec02fSPetter ReinholdtsenDAEMON=/usr/sbin/$NAME
25*c18ec02fSPetter ReinholdtsenPIDFILE=/var/run/$NAME.pid
26*c18ec02fSPetter ReinholdtsenSCRIPTNAME=/etc/init.d/$NAME
27*c18ec02fSPetter Reinholdtsen
28*c18ec02fSPetter Reinholdtsen# Gracefully exit if the package has been removed.
29*c18ec02fSPetter Reinholdtsentest -x $DAEMON || exit 0
30*c18ec02fSPetter Reinholdtsen
31*c18ec02fSPetter Reinholdtsen. /lib/lsb/init-functions
32*c18ec02fSPetter Reinholdtsen. /etc/default/rcS
33*c18ec02fSPetter Reinholdtsen
34*c18ec02fSPetter Reinholdtsen# Options used by ipmievd.
35*c18ec02fSPetter Reinholdtsen#
36*c18ec02fSPetter Reinholdtsen# "open" uses the asynchronous event notification from the OpenIPMI
37*c18ec02fSPetter Reinholdtsen# kernel driver, "sel" uses active polling of the contents of the SEL
38*c18ec02fSPetter Reinholdtsen# for new events.
39*c18ec02fSPetter Reinholdtsen#
40*c18ec02fSPetter Reinholdtsen# Need to force 'daemon' mode, to make sure messages are sent to
41*c18ec02fSPetter Reinholdtsen# syslog and the program forks into the background.
42*c18ec02fSPetter Reinholdtsen#
43*c18ec02fSPetter Reinholdtsen# Se ipmievd(8) for more info.
44*c18ec02fSPetter ReinholdtsenIPMIEVD_OPTIONS="open daemon"
45*c18ec02fSPetter Reinholdtsen
46*c18ec02fSPetter Reinholdtsen# Read config file if it is present.
47*c18ec02fSPetter Reinholdtsen[ -f /etc/default/$NAME ] && . /etc/default/$NAME
48*c18ec02fSPetter Reinholdtsen
49*c18ec02fSPetter Reinholdtsen#
50*c18ec02fSPetter Reinholdtsen#	Function that starts the daemon/service.
51*c18ec02fSPetter Reinholdtsen#
52*c18ec02fSPetter Reinholdtsend_start() {
53*c18ec02fSPetter Reinholdtsen	start-stop-daemon --start --quiet --exec $DAEMON -- $IPMIEVD_OPTIONS
54*c18ec02fSPetter Reinholdtsen}
55*c18ec02fSPetter Reinholdtsen
56*c18ec02fSPetter Reinholdtsen#
57*c18ec02fSPetter Reinholdtsen#	Function that stops the daemon/service.
58*c18ec02fSPetter Reinholdtsen#
59*c18ec02fSPetter Reinholdtsend_stop() {
60*c18ec02fSPetter Reinholdtsen	start-stop-daemon --stop --quiet --name $NAME --exec $DAEMON
61*c18ec02fSPetter Reinholdtsen}
62*c18ec02fSPetter Reinholdtsen
63*c18ec02fSPetter ReinholdtsenCODE=0
64*c18ec02fSPetter Reinholdtsen
65*c18ec02fSPetter Reinholdtsencase "$1" in
66*c18ec02fSPetter Reinholdtsen  start)
67*c18ec02fSPetter Reinholdtsen	[ "$VERBOSE" != no ] && log_begin_msg "Starting $DESC" "$NAME"
68*c18ec02fSPetter Reinholdtsen	d_start || CODE=$?
69*c18ec02fSPetter Reinholdtsen	[ "$VERBOSE" != no ] && log_end_msg $CODE
70*c18ec02fSPetter Reinholdtsen	exit $CODE
71*c18ec02fSPetter Reinholdtsen	;;
72*c18ec02fSPetter Reinholdtsen  stop)
73*c18ec02fSPetter Reinholdtsen	log_begin_msg "Stopping $DESC" "$NAME"
74*c18ec02fSPetter Reinholdtsen	d_stop || CODE=$?
75*c18ec02fSPetter Reinholdtsen	log_end_msg $CODE
76*c18ec02fSPetter Reinholdtsen	exit $CODE
77*c18ec02fSPetter Reinholdtsen	;;
78*c18ec02fSPetter Reinholdtsen  restart|force-reload)
79*c18ec02fSPetter Reinholdtsen	log_begin_msg "Restarting $DESC" "$NAME"
80*c18ec02fSPetter Reinholdtsen	d_stop || true
81*c18ec02fSPetter Reinholdtsen	sleep 1
82*c18ec02fSPetter Reinholdtsen	d_start || CODE=$?
83*c18ec02fSPetter Reinholdtsen	log_end_msg $CODE
84*c18ec02fSPetter Reinholdtsen	exit $CODE
85*c18ec02fSPetter Reinholdtsen	;;
86*c18ec02fSPetter Reinholdtsen  *)
87*c18ec02fSPetter Reinholdtsen	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
88*c18ec02fSPetter Reinholdtsen	exit 1
89*c18ec02fSPetter Reinholdtsen	;;
90*c18ec02fSPetter Reinholdtsenesac
91*c18ec02fSPetter Reinholdtsen
92*c18ec02fSPetter Reinholdtsenexit 0
93