xref: /openbmc/openbmc/meta-openembedded/meta-networking/recipes-daemons/openhpi/files/openhpi.init (revision eb8dc40360f0cfef56fb6947cc817a547d6d9bc6)
1#! /bin/sh
2#
3### BEGIN INIT INFO
4# Provides:          openhpid
5# Required-Start:    $network $remote_fs $syslog
6# Required-Stop:     $network $remote_fs $syslog
7# Should-Start:      $named
8# Should-Stop:       $named
9# Default-Start:     2 3 4 5
10# Default-Stop:      0 1 6
11# Short-Description: Start OpenHPI daemon at boot time
12# Description:       Enable OpenHPI service which is provided by openhpid.
13### END INIT INFO
14#
15# openhpid.sh    Start/Stop the openhpi daemon.
16#
17# description: openhpid is standard UNIX program which uses the OpenHPI \
18#              APIs and provides a standard internet server to access those \
19#              APIs for client programs.
20# processname: openhpid
21# config: the standard openhpi conf file specified on the command line or the env.
22# pidfile: /var/run/openhpid.pid
23#
24# Author(s):
25#	W. David Ashley <dashley@us.ibm.com>
26#	Daniel de Araujo <ddearauj@us.ibm.com>
27
28# Source function library.
29PATH=/sbin:/bin:/usr/sbin:/usr/bin
30prog="OpenHPI"
31
32# If the openhpid executable is not available, we can't do any of this
33test -f /usr/sbin/openhpid || exit 0
34
35# Determine whether the lsb package is installed
36# If it is, determine which lsb is installed:
37# redhat, suse, or standard lsb
38
39if test -f /etc/init.d/functions
40then
41   lsbtype="rh"
42   . /etc/init.d/functions
43elif test -f /etc/rc.status
44then
45   lsbtype="suse"
46   . /etc/rc.status
47elif test -f /lib/lsb/init-functions
48then
49   lsbtype="lsb"
50   . /lib/lsb/init-functions
51elif test -f /etc/gentoo-release
52then
53   lsbtype="gentoo"
54   . /sbin/functions.sh
55else
56   lsbtype="nolsb"
57fi
58
59print_outcome()
60{
61
62	case "${lsbtype}" in
63
64		suse)
65 			rc_status -v
66			;;
67
68		lsb)
69			if test "$?" -eq 0
70   			then
71      			log_success_msg "success"
72   			else
73				log_failure_msg "failed"
74   			fi
75  			;;
76
77  		gentoo)
78  			eend $?
79  			;;
80
81		nolsb | rh)
82			if test "$?" -eq 0
83			then
84				echo " ... success"
85			fi
86			if test "$?" -ne 0
87			then
88				echo " ... failed"
89			fi
90			;;
91   	esac
92}
93
94start() {
95	case "${lsbtype}" in
96
97		suse)
98			echo -n "Starting $prog: "
99			startproc /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
100			RETVAL=$?
101			;;
102		lsb)
103			echo -n "Starting $prog: "
104			start_daemon /usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
105			RETVAL=$?
106			;;
107		gentoo | rh)
108			echo "Starting $prog: "
109			start-stop-daemon --start --quiet --exec /usr/sbin/openhpid -- -c /etc/openhpi/openhpi.conf
110			RETVAL=$?
111			;;
112		nolsb)
113			echo -n "Starting $prog: "
114			/usr/sbin/openhpid -c /etc/openhpi/openhpi.conf
115			RETVAL=$?
116			;;
117
118	esac
119
120	print_outcome
121
122}
123
124stop() {
125	case "${lsbtype}" in
126
127		lsb | suse)
128			echo -n "Stopping $prog: "
129			killproc /usr/sbin/openhpid
130			RETVAL=$?
131			;;
132
133		gentoo)
134			echo "Stopping $prog: "
135			start-stop-daemon --stop --quiet --exec /usr/sbin/openhpid
136			RETVAL=$?
137			;;
138
139		nolsb | rh)
140			echo -n "Stopping $prog: "
141			if test -f /var/run/openhpid.pid && test "`cat /var/run/openhpid.pid`" != ""
142         		then
143            			kill "`cat /var/run/openhpid.pid`"
144				RETVAL=$?
145			else
146				RETVAL=0
147			fi
148			;;
149
150	esac
151
152	print_outcome
153
154	if test "$RETVAL" -eq 0 && test -f /var/run/openhpid.pid
155	then
156		rm -f /var/lock/openhpid
157		rm -f /var/run/openhpid.pid
158	fi
159
160}
161
162dstatus() {
163	echo "Checking for $prog daemon: "
164
165	case "${lsbtype}" in
166
167		suse)
168			checkproc /usr/sbin/openhpid
169			rc_status -v
170			;;
171		lsb)
172			pid="`pidofproc /usr/sbin/openhpid`"
173         		if test "${pid}" != ""
174			then
175				log_success_msg "$prog is running"
176			else
177				log_success_msg "$prog is not running"
178			fi
179			;;
180		gentoo | nolsb | rh)
181			if test -f /var/run/openhpid.pid &&
182				test "`cat /var/run/openhpid.pid`" != "" &&
183				kill -s 0 "`cat /var/run/openhpid.pid`"
184			then
185				echo "$prog is running"
186			else
187				echo "$prog is not running"
188			fi
189
190			;;
191
192	esac
193
194
195
196}
197
198restart() {
199  	stop
200	start
201}
202
203force_reload() {
204	# We don't currently support a reload, but can do a restart
205	stop
206	start
207}
208
209# See how we were called.
210
211case "$1" in
212  start)
213  	start
214	;;
215  stop)
216  	stop
217	;;
218  restart)
219  	restart
220	;;
221  status)
222  	dstatus
223	;;
224  force-reload)
225  	force_reload
226	;;
227  *)
228	echo "Usage: $0 {start|stop|restart|status|force-reload}"
229	exit 1
230esac
231