trousers/trousers-init.patch
Miloš Jakubíček acab9db20c - Fix init script to conform to Fedora guidelines
- Do not overuse macros
2010-05-01 11:19:40 +00:00

175 lines
3.5 KiB
Diff

--- dist/fedora/fedora.initrd.tcsd.orig 2010-05-01 13:16:32.000000000 +0200
+++ dist/fedora/fedora.initrd.tcsd 2010-05-01 13:16:53.000000000 +0200
@@ -1,51 +1,46 @@
#!/bin/bash
#
-# Init file for the TrouSerS TCG Core Services daemon
+# tcsd Init script for the TrouSerS TCG Core Services daemon
#
# chkconfig: - 90 10
# description: TrouSerS server daemon
-#
-# processname: tcsd
-# config: /etc/tcsd.conf
-# pidfile: /var/run/tcsd.pid
-#
-# Return values according to LSB for all commands but status:
-# 0 - success
-# 1 - generic or unspecified error
-# 2 - invalid or excess argument(s)
-# 3 - unimplemented feature (e.g. "reload")
-# 4 - insufficient privilege
-# 5 - program is not installed
-# 6 - program is not configured
-# 7 - program is not running
-#
+### BEGIN INIT INFO
+# Provides:
+# Required-Start:
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Init script for TCSD
+# Description: TrouSerS TCG Core Services daemon
+### END INIT INFO
+
+exec="/usr/sbin/tcsd"
prog="tcsd"
+config="/etc/tcsd.conf"
+PID_FILE="/var/run/tcsd.pid"
+INSMOD="/sbin/insmod"
+LSMOD="/sbin/lsmod"
+GREP="/bin/grep"
# source function library
. /etc/rc.d/init.d/functions
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
# Allow anyone to run status
-if [ "$1" = "status" ] ; then
- status $prog
+if [ "$1" = "status" -o "$1" = "rh_status" -o "$1" = "rh_status_q" ] ; then
+ $1 $prog
RETVAL=$?
exit $RETVAL
fi
# Check that we are root ... so non-root users stop here
-test $EUID = 0 || exit 4
-
-# pull in sysconfig settings
-test -f /etc/sysconfig/tcsd && . /etc/sysconfig/tcsd
-
-RETVAL=0
-
-# Some variables to make the below more readable
-TCSD=/usr/sbin/tcsd
-PID_FILE=/var/run/tcsd.pid
-INSMOD=/sbin/insmod
-LSMOD=/sbin/lsmod
-GREP=/bin/grep
+test $EUID = 0 || exit 4
load_drivers()
{
@@ -64,14 +59,15 @@
start()
{
- test -x $TCSD || exit 5
- test -f /etc/tcsd.conf || exit 6
+ test -x $exec || exit 5
+ test -f $config || exit 6
check_drivers || load_drivers || failure
echo -n $"Starting $prog: "
- $TCSD $OPTIONS && success || failure
+ $exec $OPTIONS && success || failure
RETVAL=$?
- [ "$RETVAL" = 0 ] && touch /var/lock/subsys/tcsd
echo
+ [ "$RETVAL" = 0 ] && touch $lockfile
+ return $RETVAL
}
stop()
@@ -79,32 +75,59 @@
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
- [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/tcsd
echo
+ [ "$RETVAL" = 0 ] && rm -f $lockfile
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
}
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+
case "$1" in
start)
- start
+ rh_status_q && exit 0
+ $1
;;
stop)
- stop
+ rh_status_q || exit 0
+ $1
;;
restart)
- test -f /etc/tcsd.conf || exit 6
- stop
- start
+ $1
;;
- reload|force-reload)
- restart
+ reload)
+ rh_status_q || exit 7
+ $1
;;
+ force-reload)
+ force_reload
+ ;;
condrestart|try-restart)
- if [ -f /var/lock/subsys/tcsd ] ; then
- restart
- fi
+ rh_status_q || exit 0
+ restart
;;
*)
- echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}"
- RETVAL=3
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
esac
-exit $RETVAL
+exit $?