From: Sebastian Harl Date: Thu, 10 Feb 2011 10:14:28 +0000 (+0100) Subject: Install NPCD init/default scripts with --name=npcd rather than pnp4nagios-bin. X-Git-Tag: v_0_6_11-1~11 X-Git-Url: https://git.tokkee.org/?p=pkg-pnp4nagios.git;a=commitdiff_plain;h=713d32b37868fd825522f141fa2ced9511f2a7f7 Install NPCD init/default scripts with --name=npcd rather than pnp4nagios-bin. --- diff --git a/debian/pnp4nagios-bin.default b/debian/pnp4nagios-bin.default deleted file mode 100644 index 737a536..0000000 --- a/debian/pnp4nagios-bin.default +++ /dev/null @@ -1,7 +0,0 @@ -# Default settings for the pnp4nagios init script. - -# Should NPCD be started? ("yes" to enable) -RUN="yes" - -# Additional options that are passed to the daemon. -DAEMON_OPTS="-d -f /etc/pnp4nagios/npcd.cfg" diff --git a/debian/pnp4nagios-bin.init b/debian/pnp4nagios-bin.init deleted file mode 100644 index 92bdf7e..0000000 --- a/debian/pnp4nagios-bin.init +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/sh -# -# init.d script for NPCD of PNP4Nagios -# -# Based on a example script of Javier Fernandez-Sanguino -# Copyright (c) 2007 Javier Fernandez-Sanguino -# Copyright (c) 2009 Sven Velt -# -### BEGIN INIT INFO -# Provides: pnp4nagios-bin -# Required-Start: $network $local_fs $remote_fs -# Required-Stop: $network $local_fs $remote_fs -# Should-Start: -# Should-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Nagios Performance C Daemon -# Description: Speed up processing of Nagios' performance data -### END INIT INFO - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin - -DAEMON=/usr/sbin/npcd -NAME=npcd -DESC="Nagios Performance C Daemon (PNP4Nagios)" -LOGDIR=/var/log/pnp4nagios - -PIDFILE=/var/run/$NAME.pid - -test -x $DAEMON || exit 0 - -. /lib/lsb/init-functions - -# Default options, these can be overriden by the information -# at /etc/default/$NAME -DAEMON_OPTS="" -DIETIME=10 -STARTTIME=2 -LOGFILE=$LOGDIR/$NAME.log - -# Include defaults if available -if [ -f /etc/default/pnp4nagios ] ; then - . /etc/default/pnp4nagios -fi - -# Check if RUN is set to "yes" in /etc/defaults/pnp4nagios -if [ "x$RUN" != "xyes" ] ; then - echo "$NAME has been disabled in /etc/default/pnp4nagios." - exit 0 -fi - -set -e - -# Check if a given process pid's cmdline matches a given name -running_pid() { - pid=$1 - name=$2 - [ -z "$pid" ] && return 1 - [ ! -d /proc/$pid ] && return 1 - cmd=`cat /proc/$pid/cmdline | tr "\000" "\n" | head -n 1 | cut -d : -f 1` - # Is this the expected server - [ "$cmd" != "$name" ] && return 1 - return 0 -} - -# Check if the process is running looking at /proc -# (works for all users) -running() { - # No pidfile, probably no daemon present - [ ! -f "$PIDFILE" ] && return 1 - pid=`cat $PIDFILE` - running_pid $pid $DAEMON || return 1 - return 0 -} - -# Start the process using the wrapper -start_server() { - start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS - errcode=$? - return $errcode -} - -# Stop the process using the wrapper -stop_server() { - killproc -p $PIDFILE $DAEMON - errcode=$? - return $errcode -} - -reload_server() { - [ ! -f "$PIDFILE" ] && return 1 - pid=pidofproc $PIDFILE # This is the daemon's pid - # Send a SIGHUP - kill -1 $pid - return $? -} - -# Force the process to die killing it manually -force_stop() { - [ ! -e "$PIDFILE" ] && return - if running ; then - kill -15 $pid - # Is it really dead? - sleep "$DIETIME"s - if running ; then - kill -9 $pid - sleep "$DIETIME"s - if running ; then - echo "Cannot kill $NAME (pid=$pid)!" - exit 1 - fi - fi - fi - rm -f $PIDFILE -} - -case "$1" in - start) - log_daemon_msg "Starting $DESC " "$NAME" - # Check if it's running first - if running ; then - log_progress_msg "apparently already running" - log_end_msg 0 - exit 0 - fi - if start_server ; then - # NOTE: Some servers might die some time after they start, - # this code will detect this issue if STARTTIME is set - # to a reasonable value - [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time - if running ; then - # It's ok, the server started and is running - log_end_msg 0 - else - # It is not running after we did start - log_end_msg 1 - fi - else - # Either we could not start it - log_end_msg 1 - fi - ;; - stop) - log_daemon_msg "Stopping $DESC" "$NAME" - if running ; then - # Only stop the server if we see it running - errcode=0 - stop_server || errcode=$? - log_end_msg $errcode - else - # If it's not running don't do anything - log_progress_msg "apparently not running" - log_end_msg 0 - exit 0 - fi - ;; - force-stop) - # First try to stop gracefully the program - $0 stop - if running; then - # If it's still running try to kill it more forcefully - log_daemon_msg "Stopping (force) $DESC" "$NAME" - errcode=0 - force_stop || errcode=$? - log_end_msg $errcode - fi - ;; - restart|force-reload) - log_daemon_msg "Restarting $DESC" "$NAME" - errcode=0 - stop_server || errcode=$? - # Wait some sensible amount, some server need this - [ -n "$DIETIME" ] && sleep $DIETIME - start_server || errcode=$? - [ -n "$STARTTIME" ] && sleep $STARTTIME - running || errcode=$? - log_end_msg $errcode - ;; - status) - - log_daemon_msg "Checking status of $DESC" "$NAME" - if running ; then - log_progress_msg "running" - log_end_msg 0 - else - log_progress_msg "apparently not running" - log_end_msg 1 - exit 1 - fi - ;; - # Use this if the daemon cannot reload - reload) - log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon" - log_warning_msg "cannot re-read the config file (use restart)." - exit 1 - ;; - *) - N=/etc/init.d/$NAME - echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/debian/pnp4nagios-bin.npcd.default b/debian/pnp4nagios-bin.npcd.default new file mode 100644 index 0000000..dba2ddf --- /dev/null +++ b/debian/pnp4nagios-bin.npcd.default @@ -0,0 +1,7 @@ +# Default settings for the NPCD init script. + +# Should NPCD be started? ("yes" to enable) +RUN="yes" + +# Additional options that are passed to the daemon. +DAEMON_OPTS="-d -f /etc/pnp4nagios/npcd.cfg" diff --git a/debian/pnp4nagios-bin.npcd.init b/debian/pnp4nagios-bin.npcd.init new file mode 100644 index 0000000..af01ee8 --- /dev/null +++ b/debian/pnp4nagios-bin.npcd.init @@ -0,0 +1,204 @@ +#!/bin/sh +# +# init.d script for NPCD of PNP4Nagios +# +# Based on a example script of Javier Fernandez-Sanguino +# Copyright (c) 2007 Javier Fernandez-Sanguino +# Copyright (c) 2009 Sven Velt +# +### BEGIN INIT INFO +# Provides: npcd +# Required-Start: $network $local_fs $remote_fs +# Required-Stop: $network $local_fs $remote_fs +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Nagios Performance C Daemon +# Description: Speed up processing of Nagios' performance data +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +DAEMON=/usr/sbin/npcd +NAME=npcd +DESC="Nagios Performance C Daemon (PNP4Nagios)" +LOGDIR=/var/log/pnp4nagios + +PIDFILE=/var/run/$NAME.pid + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +# Default options, these can be overriden by the information +# at /etc/default/$NAME +DAEMON_OPTS="" +DIETIME=10 +STARTTIME=2 +LOGFILE=$LOGDIR/$NAME.log + +# Include defaults if available +if [ -f /etc/default/npcd ] ; then + . /etc/default/npcd +fi + +# Check if RUN is set to "yes" in /etc/defaults/npcd +if [ "x$RUN" != "xyes" ] ; then + echo "$NAME has been disabled in /etc/default/npcd." + exit 0 +fi + +set -e + +# Check if a given process pid's cmdline matches a given name +running_pid() { + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n" | head -n 1 | cut -d : -f 1` + # Is this the expected server + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +# Check if the process is running looking at /proc +# (works for all users) +running() { + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +# Start the process using the wrapper +start_server() { + start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS + errcode=$? + return $errcode +} + +# Stop the process using the wrapper +stop_server() { + killproc -p $PIDFILE $DAEMON + errcode=$? + return $errcode +} + +reload_server() { + [ ! -f "$PIDFILE" ] && return 1 + pid=pidofproc $PIDFILE # This is the daemon's pid + # Send a SIGHUP + kill -1 $pid + return $? +} + +# Force the process to die killing it manually +force_stop() { + [ ! -e "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + sleep "$DIETIME"s + if running ; then + kill -9 $pid + sleep "$DIETIME"s + if running ; then + echo "Cannot kill $NAME (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC " "$NAME" + # Check if it's running first + if running ; then + log_progress_msg "apparently already running" + log_end_msg 0 + exit 0 + fi + if start_server ; then + # NOTE: Some servers might die some time after they start, + # this code will detect this issue if STARTTIME is set + # to a reasonable value + [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time + if running ; then + # It's ok, the server started and is running + log_end_msg 0 + else + # It is not running after we did start + log_end_msg 1 + fi + else + # Either we could not start it + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if running ; then + # Only stop the server if we see it running + errcode=0 + stop_server || errcode=$? + log_end_msg $errcode + else + # If it's not running don't do anything + log_progress_msg "apparently not running" + log_end_msg 0 + exit 0 + fi + ;; + force-stop) + # First try to stop gracefully the program + $0 stop + if running; then + # If it's still running try to kill it more forcefully + log_daemon_msg "Stopping (force) $DESC" "$NAME" + errcode=0 + force_stop || errcode=$? + log_end_msg $errcode + fi + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + errcode=0 + stop_server || errcode=$? + # Wait some sensible amount, some server need this + [ -n "$DIETIME" ] && sleep $DIETIME + start_server || errcode=$? + [ -n "$STARTTIME" ] && sleep $STARTTIME + running || errcode=$? + log_end_msg $errcode + ;; + status) + + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + log_end_msg 0 + else + log_progress_msg "apparently not running" + log_end_msg 1 + exit 1 + fi + ;; + # Use this if the daemon cannot reload + reload) + log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon" + log_warning_msg "cannot re-read the config file (use restart)." + exit 1 + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/rules b/debian/rules index 13dc456..1fcf7ba 100755 --- a/debian/rules +++ b/debian/rules @@ -178,7 +178,8 @@ binary-arch: build install dh_installchangelogs -a ChangeLog dh_installdocs -A -a AUTHORS README README.Debian dh_installexamples -a - dh_installinit -a + dh_installinit -ppnp4nagios-bin --name=npcd + dh_installinit -a -Npnp4nagios-bin dh_installman -a man/npcd.8 dh_link -a dh_strip -a