Init script upgrade-related changes. - defaults to five loops one second each - loops and timeouts are configurable via defaults files - while at it, get rid of bashisms in variable substitutions.
diff --git a/debian/nginx.init.in b/debian/nginx.init.in index 72274f6..5da7090 100644 --- a/debian/nginx.init.in +++ b/debian/nginx.init.in
@@ -22,14 +22,14 @@ [ -r /etc/default/$sysconfig ] && . /etc/default/$sysconfig -DESC=${DESC-%%PROVIDES%%} -NAME=${NAME-%%PROVIDES%%} -CONFFILE=${CONFFILE-/etc/nginx/nginx.conf} -DAEMON=${DAEMON-/usr/sbin/%%PROVIDES%%} -PIDFILE=${PIDFILE-/var/run/nginx.pid} -SLEEPSEC=1 -UPGRADEWAITLOOPS=5 -CHECKSLEEP=${CHECKSLEEP-3} +DESC=${DESC:-%%PROVIDES%%} +NAME=${NAME:-%%PROVIDES%%} +CONFFILE=${CONFFILE:-/etc/nginx/nginx.conf} +DAEMON=${DAEMON:-/usr/sbin/%%PROVIDES%%} +PIDFILE=${PIDFILE:-/var/run/nginx.pid} +SLEEPSEC=${SLEEPSEC:-1} +UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS:-5} +CHECKSLEEP=${CHECKSLEEP:-3} [ -x $DAEMON ] || exit 0
diff --git a/rpm/SOURCES/nginx.init.in b/rpm/SOURCES/nginx.init.in index 3083099..66f1500 100755 --- a/rpm/SOURCES/nginx.init.in +++ b/rpm/SOURCES/nginx.init.in
@@ -33,14 +33,14 @@ . /etc/sysconfig/$sysconfig fi -nginx=${NGINX-/usr/sbin/%PROVIDES%} +nginx=${NGINX:-/usr/sbin/%PROVIDES%} prog=`/bin/basename $nginx` -conffile=${CONFFILE-/etc/nginx/nginx.conf} -lockfile=${LOCKFILE-/var/lock/subsys/%PROVIDES%} -pidfile=${PIDFILE-/var/run/nginx.pid} -SLEEPMSEC=${SLEEPMSEC-200000} -UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS-5} -CHECKSLEEP=${CHECKSLEEP-3} +conffile=${CONFFILE:-/etc/nginx/nginx.conf} +lockfile=${LOCKFILE:-/var/lock/subsys/%PROVIDES%} +pidfile=${PIDFILE:-/var/run/nginx.pid} +SLEEPSEC=${SLEEPSEC:-1}} +UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS:-5} +CHECKSLEEP=${CHECKSLEEP:-3} RETVAL=0 start() { @@ -77,7 +77,7 @@ echo for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do - /bin/usleep $SLEEPMSEC + /bin/sleep $SLEEPSEC if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then echo -n $"Graceful shutdown of old $prog: " killproc -p ${oldbinpidfile} ${prog} -QUIT
diff --git a/rpm/SOURCES/nginx.suse.init b/rpm/SOURCES/nginx.suse.init index e6abde3..c363f9a 100755 --- a/rpm/SOURCES/nginx.suse.init +++ b/rpm/SOURCES/nginx.suse.init
@@ -39,10 +39,10 @@ if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } -nginx=${NGINX-/usr/sbin/nginx} -conffile=${CONFFILE-/etc/nginx/nginx.conf} -pidfile=${PIDFILE-/var/run/nginx.pid} -SLEEPMSEC=100000 +nginx=${NGINX:-/usr/sbin/nginx} +conffile=${CONFFILE:-/etc/nginx/nginx.conf} +pidfile=${PIDFILE:-/var/run/nginx.pid} +SLEEPSEC=${SLEEPSEC:-1} . /etc/rc.status @@ -54,7 +54,7 @@ configtest -q || return 6 echo -n $"Starting new master: " /sbin/killproc -p ${pidfile} -USR2 $nginx - /bin/usleep $SLEEPMSEC + /bin/sleep $SLEEPSEC if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then echo -n $"Graceful shutdown of old nginx: " killproc -p ${oldbinpidfile} -QUIT $nginx
diff --git a/rpm/SOURCES/nginx.upgrade.sh b/rpm/SOURCES/nginx.upgrade.sh index 6503233..5343662 100644 --- a/rpm/SOURCES/nginx.upgrade.sh +++ b/rpm/SOURCES/nginx.upgrade.sh
@@ -5,12 +5,16 @@ # Source function library. [ -f /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions +if [ -f /etc/sysconfig/nginx ]; then + . /etc/sysconfig/nginx +fi + prog=nginx nginx=/usr/sbin/nginx conffile=/etc/nginx/nginx.conf pidfile=`/usr/bin/systemctl show -p PIDFile nginx.service | sed 's/^PIDFile=//' | tr ' ' '\n'` -SLEEPMSEC=200000 -UPGRADEWAITLOOPS=5 +SLEEPSEC=${SLEEPSEC:-1} +UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS:-5} oldbinpidfile=${pidfile}.oldbin ${nginx} -t -c ${conffile} -q || return 6 @@ -19,7 +23,7 @@ echo for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do - /bin/usleep $SLEEPMSEC + /bin/sleep $SLEEPSEC if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then echo -n $"Graceful shutdown of old $prog: " killproc -p ${oldbinpidfile} ${prog} -QUIT