commit 5b4a3eda08029b01fb00c3968cac4df5848e06a7 from: Alexander Barton date: Tue May 05 10:50:55 2009 UTC Added start/stop script for Red Hat based distributions Script contributed by Naoya Nakazawa . commit - a83554b572255add47d0694d9e85a301a3a0e6b8 commit + 5b4a3eda08029b01fb00c3968cac4df5848e06a7 blob - edc0f575a57f3c2c4e1d3ec2f70f890c73301f4d blob + ab6b3426b86ae5cb4a39223fdc59c4fa296637a5 --- contrib/Makefile.am +++ contrib/Makefile.am @@ -11,7 +11,8 @@ SUBDIRS = Debian MacOSX -EXTRA_DIST = README ngircd.spec systrace.policy ngindent ngircd-bsd.sh +EXTRA_DIST = README ngircd.spec systrace.policy ngindent ngircd-bsd.sh \ + ngircd-redhat.init maintainer-clean-local: rm -f Makefile Makefile.in blob - c9d8265cceef51cd3562998693b0ea72d2783b3d blob + 353e2bb8fb8d5c207d38f5c6b3a89afa67792e7c --- contrib/README +++ contrib/README @@ -22,6 +22,9 @@ ngindent ngircd-bsd.sh - Start script for FreeBSD. +ngircd-redhat.init + - Start/stop script for RedHat-based distributions (like CentOS). + ngircd.spec - RPM "spec" file. blob - /dev/null blob + f63eba7c2d5deb426db655b0b76aefce6899d6e2 (mode 644) --- /dev/null +++ contrib/ngircd-redhat.init @@ -0,0 +1,119 @@ +#!/bin/sh +# +# ngIRCd start and stop script for RedHat based distributions. +# Written by Naoya Nakazawa for CentOS 5.2, 2009. +# +# chkconfig: 2345 01 +# description: ngIRCd is an Open Source server for \ +# the Internet Relay Chat (IRC), which \ +# is developed and published under \ +# the terms of the GNU General Public +# Licence (URL: http://www.gnu.org/licenses/gpl.html). \ +# ngIRCd means "next generation IRC daemon", \ +# it's written from scratch and not deduced from the \ +# "grandfather of IRC daemons", the daemon of the IRCNet. +# +# processname: /usr/sbin/ngircd +# config: /etc/ngircd +# pidfile: /var/run/ngircd.pid + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/ngircd +NAME=ngIRCd +BASENAME=ngircd +CONF=/etc/$BASENAME.conf +DESC="IRC daemon" +PARAMS="-f $CONF" + +# Source function library. +. /etc/init.d/functions + +# Get config. +test -f /etc/sysconfig/network && . /etc/sysconfig/network +test -f /etc/sysconfig/makuosan && . /etc/sysconfig/makuosan + +# Check that networking is up. +[ "${NETWORKING}" = "yes" ] || exit 0 + +[ -x $DAEMON ] || exit 1 +[ -f $CONF ] || exit 2 + +RETVAL=0 + +start(){ + echo -n $"Starting $NAME: " + daemon $DAEMON $PARAMS + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$BASENAME + echo + return $RETVAL +} + +stop(){ + echo -n $"Stopping $NAME: " + killproc $DAEMON + RETVAL=$? + if [ $RETVAL -eq 0 ] ; then + rm -f /var/lock/subsys/$BASENAME + fi + echo + return $RETVAL +} + +reload(){ + echo -n $"Reloading configuration: " + killproc $DAEMON -HUP + RETVAL=$? + echo + return $RETVAL +} + +restart(){ + stop + start +} + +condrestart(){ + [ -e /var/lock/subsys/$BASENAME ] && restart + return 0 +} + +check_config(){ + $DAEMON $PARAMS --configtest >/dev/null 2>&1 + [ $? -eq 0 ] && return 0 + + echo -n $"Configuration of $NAME is not valid, won't (re)start!" + echo -n $"Run \"$DAEMON --configtest\" and fix it up ..." + exit 6 +} + +# See how we were called. +case "$1" in + start) + check_config + start + ;; + stop) + stop + ;; + status) + status $NAME + ;; + restart) + restart + ;; + reload) + reload + ;; + condrestart) + condrestart + ;; + test) + check_config + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|test}" + RETVAL=1 +esac + +exit $RETVAL