From 5f758a9a653821dc377ca4b97e2856dea11f5d0c Mon Sep 17 00:00:00 2001 From: James Laska Date: Fri, 25 Jun 2010 03:25:16 +0200 Subject: [PATCH] init: fix fedora init script handling for PIDFILE (rhbz#600430) --- initscript/fedora/Makefile.am | 10 ++++- initscript/fedora/avahi-daemon.in | 45 ++++++++++------------ initscript/fedora/avahi-dnsconfd.in | 59 +++++++++++++---------------- 3 files changed, 53 insertions(+), 61 deletions(-) diff --git a/initscript/fedora/Makefile.am b/initscript/fedora/Makefile.am index 2aceb36..2e2f017 100644 --- a/initscript/fedora/Makefile.am +++ b/initscript/fedora/Makefile.am @@ -24,9 +24,15 @@ initd_SCRIPTS = avahi-daemon avahi-dnsconfd CLEANFILES = avahi-daemon avahi-dnsconfd avahi-daemon: avahi-daemon.in - $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' $< > $@ && \ + $(AM_V_GEN)sed \ + -e 's,@sbindir\@,$(sbindir),g' \ + -e 's,@localstatedir\@,$(localstatedir),g' \ + $< > $@ && \ chmod +x $@ avahi-dnsconfd: avahi-dnsconfd.in - $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' $< > $@ && \ + $(AM_V_GEN)sed \ + -e 's,@sbindir\@,$(sbindir),g' \ + -e 's,@localstatedir\@,$(localstatedir),g' \ + $< > $@ && \ chmod +x $@ diff --git a/initscript/fedora/avahi-daemon.in b/initscript/fedora/avahi-daemon.in index c5b3230..b1b6124 100644 --- a/initscript/fedora/avahi-daemon.in +++ b/initscript/fedora/avahi-daemon.in @@ -1,16 +1,17 @@ -#! /bin/sh +#!/bin/sh # -# avahi-daemon: Starts the Avahi Daemon +# avahi-daemon: Starts the Avahi Daemon # -# chkconfig: 345 24 02 +# chkconfig: 345 24 02 # description: This is a daemon which runs on client machines to perform \ # Zeroconf service discovery on a network. avahi-daemon must be \ # running on systems that use Avahi for service discovery. \ # Avahi-daemon should not be running otherwise. # processname: avahi-daemon -# config: +# pidfile: @localstatedir@/run/avahi-daemon/pid AVAHI_BIN=@sbindir@/avahi-daemon +AVAHI_OPTS="-D" if [ "$1" = 'status' ]; then test -x $AVAHI_BIN || exit 4 @@ -18,13 +19,13 @@ else test -x $AVAHI_BIN || exit 5 fi -OTHER_AVAHI_OPTS="" - # Source function library. . /etc/init.d/functions . /etc/sysconfig/network -LOCKFILE=/var/lock/subsys/avahi-daemon +LOCKFILE=@localstatedir@/lock/subsys/avahi-daemon +PIDFILE=@localstatedir@/run/avahi-daemon/pid +RETVAL=0 base=${0##*/} @@ -36,33 +37,26 @@ start() { if [ -s /etc/localtime ]; then cp -fp /etc/localtime /etc/avahi/etc >/dev/null 2>&1 fi; - $AVAHI_BIN -D - RETVAL=$? - if [ $RETVAL = 0 ]; then - touch $LOCKFILE - success $"$base startup" - else - failure $"$base startup" - fi - echo + daemon --pidfile=${PIDFILE} $AVAHI_BIN $AVAHI_OPTS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch ${LOCKFILE} return $RETVAL } stop() { echo -n $"Shutting down Avahi daemon: " - $AVAHI_BIN -k - RETVAL=$? - [ $RETVAL = 0 ] && success $"$base shutdown" || failure $"$base shutdown" - rm -f $LOCKFILE - echo + killproc -p ${PIDFILE} $AVAHI_BIN + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE} + echo return $RETVAL } reload() { echo -n $"Reloading Avahi daemon... " - $AVAHI_BIN -r + killproc -p ${PIDFILE} $AVAHI_BIN -HUP RETVAL=$? - [ $RETVAL = 0 ] && success $"$base reload" || failure $"$base reload" echo return $RETVAL } @@ -83,9 +77,8 @@ case "$1" in stop ;; status) - $AVAHI_BIN -c - RETVAL=$? - [ $RETVAL = 0 ] && echo $"Avahi daemon is running" || echo $"Avahi daemon is not running" + status -p ${PIDFILE} $AVAHI_BIN + RETVAL=$? ;; restart) restart diff --git a/initscript/fedora/avahi-dnsconfd.in b/initscript/fedora/avahi-dnsconfd.in index de49d7f..df8b964 100644 --- a/initscript/fedora/avahi-dnsconfd.in +++ b/initscript/fedora/avahi-dnsconfd.in @@ -1,16 +1,17 @@ -#! /bin/sh +#!/bin/sh # -# avahi-dnsconfd: Starts the Avahi dns configuration daemon +# avahi-dnsconfd: Starts the Avahi dns configuration daemon # -# chkconfig: - 96 02 +# chkconfig: - 96 02 # description: avahi-dnsconfd connects to a running avahi-daemon and runs the script \ -# /etc/avahi/dnsconf.action for each unicast DNS server that is announced \ -# on the local LAN. This is useful for configuring unicast DNS servers in \ -# a DHCP-like fashion with mDNS. +# /etc/avahi/dnsconf.action for each unicast DNS server that is announced \ +# on the local LAN. This is useful for configuring unicast DNS servers in \ +# a DHCP-like fashion with mDNS. # processname: avahi-dnsconfd -# config: +# pidfile: @localstatedir@/run/avahi-dnsconfd.pid AVAHI_BIN=@sbindir@/avahi-dnsconfd +AVAHI_OPTS="-D" if [ "$1" = 'status' ]; then test -x $AVAHI_BIN || exit 4 @@ -18,13 +19,13 @@ else test -x $AVAHI_BIN || exit 5 fi -OTHER_AVAHI_OPTS="" - # Source function library. . /etc/init.d/functions . /etc/sysconfig/network -LOCKFILE=/var/lock/subsys/avahi-dnsconfd +LOCKFILE=@localstatedir@/lock/subsys/avahi-dnsconfd +PIDFILE=@localstatedir@/run/avahi-dnsconfd.pid +RETVAL=0 base=${0##*/} @@ -33,35 +34,28 @@ start() { [ ${NETWORKING} = "no" ] && exit 1 echo -n $"Starting Avahi DNS daemon... " - $AVAHI_BIN -D - RETVAL=$? - if [ $RETVAL = 0 ]; then - touch $LOCKFILE - success $"$base startup" - else - failure $"$base startup" - fi - echo - return $RETVAL + daemon --pidfile=${PIDFILE} $AVAHI_BIN $AVAHI_OPTS + RETVAL=$? + echo + [ $RETVAL -eq 0 ] && touch ${LOCKFILE} + return $RETVAL } stop() { echo -n $"Shutting down Avahi DNS daemon: " - $AVAHI_BIN -k - RETVAL=$? - [ $RETVAL = 0 ] && success $"$base shutdown" || failure $"$base shutdown" - rm -f $LOCKFILE - echo - return $RETVAL + killproc -p ${PIDFILE} $AVAHI_BIN + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f ${LOCKFILE} ${PIDFILE} + echo + return $RETVAL } reload() { echo -n $"Reloading Avahi DNS daemon... " - $AVAHI_BIN -r - RETVAL=$? - [ $RETVAL = 0 ] && success $"$base startup" || failure $"$base startup" - echo - return $RETVAL + killproc -p ${PIDFILE} $AVAHI_BIN -HUP + RETVAL=$? + echo + return $RETVAL } restart() { @@ -80,9 +74,8 @@ case "$1" in stop ;; status) - $AVAHI_BIN -c + status -p ${PIDFILE} $AVAHI_BIN RETVAL=$? - [ $RETVAL = 0 ] && echo $"Avahi DNS daemon is running" || echo $"Avahi DNS daemon is not running" ;; restart) restart -- 2.39.5