]> err.no Git - varnish/commitdiff
Patched up Red Hat init script to comply with newer Fedora standards
authoringvar <ingvar@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 25 Aug 2008 21:56:11 +0000 (21:56 +0000)
committeringvar <ingvar@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 25 Aug 2008 21:56:11 +0000 (21:56 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3122 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/redhat/varnish.initrc

index 8d3825b3623285082bbef640a1b3f70c16f36c52..356334630c99443378cb77c48cc53ac7e7aaf8f2 100755 (executable)
 #! /bin/sh
 #
-# varnish      Control the varnish HTTP accelerator
+# varnish Control the varnish HTTP accelerator
 #
 # chkconfig: - 90 10
-# description: HTTP accelerator
+# description: Varnish is a high-perfomance HTTP accelerator
 # processname: varnishd
-# config: /etc/varnish/vcl.conf
+# config: /etc/sysconfig/varnish
 # pidfile: /var/run/varnish/varnishd.pid
 
+### BEGIN INIT INFO
+# Provides: varnish
+# Required-Start: $network $local_fs $remote_fs
+# Required-Stop: $network $local_fs $remote_fs
+# Should-Start: $syslog
+# Short-Description: start and stop varnishd
+# Description: Varnish is a high-perfomance HTTP accelerator
+### END INIT INFO
+
 # Source function library.
 . /etc/init.d/functions
 
-RETVAL=0
-PROCNAME=varnishd
-PIDFILE=/var/run/varnish.pid
-LOCKFILE=/var/lock/subsys/varnish
+retval=0
+pidfile=/var/run/varnish.pid
+lockfile=/var/lock/subsys/varnish
 
-# Include varnish defaults
-. /etc/sysconfig/varnish
+exec="/usr/sbin/varnishd"
+prog="varnishd"
+config="/etc/sysconfig/varnish"
 
-DAEMON="/usr/sbin/varnishd"
+# Include varnish defaults
+[ -e /etc/sysconfig/varnish ] && . /etc/sysconfig/varnish
 
-mkdir -p /var/run/varnish 2>/dev/null
+lockfile=/var/lock/subsys/$prog
 
-# Open files (usually 1024, which is way too small for varnish)
-ulimit -n ${NFILES:-131072}
+start() {
 
-# Varnish wants to lock shared memory log in memory. 
-ulimit -l ${MEMLOCK:-82000}
+       if [ ! -x $exec ]
+       then
+               echo $exec not found
+               exit 5
+       fi
 
-# See how we were called.
-case "$1" in
-  start)
+       if [ ! -f $config ]
+       then
+               echo $config not found
+               exit 6
+       fi
        echo -n "Starting varnish HTTP accelerator: "
 
+       # Open files (usually 1024, which is way too small for varnish)
+       ulimit -n ${NFILES:-131072}
+
+       # Varnish wants to lock shared memory log in memory. 
+       ulimit -l ${MEMLOCK:-82000}
+
         # $DAEMON_OPTS is set in /etc/sysconfig/varnish. At least, one
         # has to set up a backend, or /tmp will be used, which is a bad idea.
        if [ "$DAEMON_OPTS" = "" ]; then
-           echo "\$DAEMON_OPTS empty."
-           echo -n "Please put configuration options in /etc/sysconfig/varnish"
-           echo_failure
+               echo "\$DAEMON_OPTS empty."
+               echo -n "Please put configuration options in $config"
+               return 6
        else
-           daemon ${DAEMON} "$DAEMON_OPTS" -P ${PIDFILE} > /dev/null 2>&1
-           sleep 1
-           pkill -0 $PROCNAME
-           RETVAL=$?
-           if [ $RETVAL -eq 0 ]
+               # Varnish always gives output on STDOUT
+               daemon $exec "$DAEMON_OPTS" -P $pidfile > /dev/null 2>&1
+               retval=$?
+               if [ $retval -eq 0 ]
                then
-               echo_success
-               touch $LOCKFILE
-           else
-               echo_failure
-           fi  
-       fi
-       echo
-       ;;
-  stop)
-       echo -n "Stopping varnish HTTP accelerator: "
-       killproc $DAEMON
-       RETVAL=$?
-       if [ $RETVAL -eq 0 ]
-       then
-               echo_success
-               rm -f $LOCKFILE $PIDFILE
-       else
-               echo_failure
+                       touch $lockfile
+                       echo_success
+                       echo
+               else
+                       echo_failure
+               fi
+               return $retval
        fi
+}
+
+stop() {
+       echo -n "Stopping $prog: "
+       killproc $prog
+       retval=$?
        echo
-       ;;
-  status)
-       status $PROCNAME
-       RETVAL=$?
-       ;;
-  restart|reload)
-       $0 stop
-       $0 start
-       RETVAL=$?
-       ;;
-  condrestart)
-        if [ -f $PIDFILE ]; then
-            $0 stop
-            $0 start
-            RETVAL=$?
-        fi
-       ;;
-  *)
-       echo "Usage: $0 {start|stop|status|restart|condrestart}"
-       exit 1
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+restart() {
+       stop
+       start
+}
+
+reload() {
+       restart
+}
+
+force_reload() {
+       restart
+}
+
+rh_status() {
+       status $prog
+}
+
+rh_status_q() {
+       rh_status >/dev/null 2>&1
+}
+
+# See how we were called.
+case "$1" in
+       start)
+               rh_status_q && exit 0
+               $1
+               ;;
+       stop)
+               rh_status_q || exit 0
+               $1
+               ;;
+       restart)
+               $1
+               ;;
+       reload)
+               rh_status_q || exit 7
+               $1
+               ;;
+       force-reload)
+               force_reload
+               ;;
+       status)
+               rh_status
+               ;;
+       condrestart|try-restart)
+               rh_status_q || exit 0
+               restart
+               ;;
+       *)
+       echo "Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+
+       exit 2
 esac
 
-exit $RETVAL
+exit $?
+