Commit Diff


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 <naoya@sanow.net> 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