From a41242bed823db77186ed7d11953cffaa0c3b733 Mon Sep 17 00:00:00 2001 From: David Ward Date: Sun, 29 Apr 2012 16:47:07 -0400 Subject: redhat: update initscripts Taken from Fedora packaging with additional fixes. * redhat/*.init: make all initscripts LSB-compliant; store the daemon configuration file location in $CONF_FILE, and perform existence testing before starting the daemon * redhat/babeld.init: add initscript for Babel routing engine * redhat/quagga.sysconfig: add command-line options for babeld; remove the daemon configuration file locations from $*_OPTS; clarify directions for configuring watchquagga * redhat/Makefile.am: add babeld.init to distribution Signed-off-by: David Ward Signed-off-by: David Lamparter --- redhat/zebra.init | 75 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 33 deletions(-) (limited to 'redhat/zebra.init') diff --git a/redhat/zebra.init b/redhat/zebra.init index 8caae1f1..4242b16c 100644 --- a/redhat/zebra.init +++ b/redhat/zebra.init @@ -1,64 +1,73 @@ #!/bin/bash -# -# chkconfig: 2345 15 85 -# description: GNU Zebra routing manager -# -# processname: zebra +# chkconfig: - 15 85 # config: /etc/quagga/zebra.conf +### BEGIN INIT INFO +# Provides: zebra +# Short-Description: GNU Zebra routing manager +# Description: GNU Zebra routing manager +### END INIT INFO + # source function library . /etc/rc.d/init.d/functions +# Get network config +. /etc/sysconfig/network + # quagga command line options . /etc/sysconfig/quagga -# Check that networking is up. -[ "${NETWORKING}" = "no" ] && exit 0 - -# The process must be configured first. -[ -f /etc/quagga/zebra.conf ] || exit 0 - RETVAL=0 - -prog="zebra" +PROG="zebra" +cmd=zebra +LOCK_FILE=/var/lock/subsys/zebra +CONF_FILE=/etc/quagga/zebra.conf case "$1" in start) - echo -n $"Starting $prog: " + # Check that networking is up. + [ "${NETWORKING}" = "no" ] && exit 1 + # The process must be configured first. + [ -f $CONF_FILE ] || exit 6 + if [ `id -u` -ne 0 ]; then + echo $"Insufficient privilege" 1>&2 + exit 4 + fi + + echo -n $"Starting $PROG: " /sbin/ip route flush proto zebra - - daemon /usr/sbin/zebra -d $ZEBRA_OPTS + daemon $cmd -d $ZEBRA_OPTS -f $CONF_FILE RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zebra + [ $RETVAL -eq 0 ] && touch $LOCK_FILE echo ;; stop) - echo -n $"Shutting down $prog: " - killproc zebra + echo -n $"Shutting down $PROG: " + killproc $cmd RETVAL=$? - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zebra + [ $RETVAL -eq 0 ] && rm -f $LOCK_FILE echo ;; - restart|reload) - $0 stop - $0 start + restart|reload|force-reload) + $0 stop + $0 start RETVAL=$? - ;; - condrestart) - if [ -f /var/lock/subsys/zebra ]; then - $0 stop + ;; + condrestart|try-restart) + if [ -f $LOCK_FILE ]; then + $0 stop $0 start - fi + fi RETVAL=$? - ;; + ;; status) - status zebra + status $cmd RETVAL=$? - ;; + ;; *) - echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}" - exit 1 + echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}" + exit 2 esac exit $RETVAL -- cgit v1.2.1