--- /dev/null
+#!/bin/sh
+#
+# Startup script for the BNC
+#
+# chkconfig: 2345 81 45
+# description: BNC is an IRC (Internet Relay Chat) proxying server
+# processname: bnc
+# config: /etc/bnc
+
+# Set some frequently user variables
+SERVICE=bnc
+LOCKFILE=/var/lock/subsys/$SERVICE
+MSG=$SERVICE
+PROG=$SERVICE
+PIDFILE=/var/run/$SERVICE/$SERVICE.pid
+
+# Source funtion library
+. /etc/rc.d/init.d/functions
+
+# Get network config
+. /etc/sysconfig/network
+
+# Check that networking is up
+if is_yes "${NETWORKING}"; then
+ if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+ msg_network_down $MSG
+ exit 1
+ fi
+else
+ exit 0
+fi
+
+# Get service config
+[ -f "/etc/sysconfig/$SERVICE" ] && . "/etc/sysconfig/$SERVICE"
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ if [ ! -f "$LOCKFILE" ]; then
+ # create the log
+ if [ ! -f /var/log/bnc.log ]; then
+ touch /var/log/bnc.log
+ chown bnc:bnc /var/log/bnc.log
+ chmod 640 /var/log/bnc.log
+ fi
+
+ msg_starting "$MSG"
+ start-stop-daemon --start --pidfile $PIDFILE --chuid bnc \
+ --chdir /etc/bnc --exec /usr/bin/bnc -- bnc.conf > /dev/null
+ # take or leave it, but rc=7 is successful exit code in bnc
+ [ $RETVAL = 7 ] && RETVAL=0
+
+ if [ $RETVAL -eq 0 ]; then
+ touch $LOCKFILE
+ ok
+ else
+ fail
+ fi
+ else
+ msg_already_running $MSG
+ fi
+ ;;
+ stop)
+ if [ -f "$LOCKFILE" ]; then
+ msg_stopping "$MSG"
+ if start-stop-daemon --stop --oknodo --pidfile $PIDFILE; then
+ rm -f $PIDFILE $LOCKFILE >/dev/null 2>&1
+ ok
+ else
+ fail
+ fi
+ else
+ msg_not_running "$MSG"
+ fi
+ ;;
+ status)
+ status $PROG
+ exit $?
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ exit $?
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|force-reload|status}"
+ exit 3
+esac
+
+exit $RETVAL