From 6e43ab9bc68d820835e76b26422d2df5e983616c Mon Sep 17 00:00:00 2001 From: ingvar Date: Mon, 25 Aug 2008 21:56:11 +0000 Subject: [PATCH] Patched up Red Hat init script to comply with newer Fedora standards git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3122 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/redhat/varnish.initrc | 181 ++++++++++++++++++---------- 1 file changed, 116 insertions(+), 65 deletions(-) diff --git a/varnish-cache/redhat/varnish.initrc b/varnish-cache/redhat/varnish.initrc index 8d3825b3..35633463 100755 --- a/varnish-cache/redhat/varnish.initrc +++ b/varnish-cache/redhat/varnish.initrc @@ -1,92 +1,143 @@ #! /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 $? + -- 2.39.5