#! /bin/sh

# ircd-hybrid	Start/stop the Hybrid 7 IRC server.
# Version:	ircd-hybrid  7.0rc9-1  03-Mar-2003  joshk@triplehelix.org
# Version:	ircd-hybrid  7.2.2-2   10-Sep-2006  ag@roxor.cx

### BEGIN INIT INFO
# Provides:          ircd-hybrid
# Required-Start:    $syslog
# Required-Stop:     $syslog
# Should-Start:      $local_fs $network $named
# Should-Stop:       $local_fs $network $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: IRCd-Hybrid daemon init.d script
# Description:       Use to manage the IRCd-Hybrid daemon.
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/ircd-hybrid
DEFAULT=/etc/default/ircd-hybrid
NAME=ircd-hybrid
DESC="Hybrid 7 IRC Server"

test -f $DAEMON || exit 0

if [ -f $DEFAULT ]
then
	. $DEFAULT
fi

set -e

case "$1" in
  start)
	if [ "$START" = "yes" ]
	then
		echo -n "Starting $DESC: $NAME"
		start-stop-daemon --start --quiet \
			-u irc -c irc --exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid \
			> /dev/null
		echo "."
	fi
	;;
  stop)
	if [ "$START" = "yes" ]
	then
		echo -n "Stopping $DESC: $NAME"
		start-stop-daemon --oknodo --stop --quiet \
		--pidfile /var/run/ircd/$NAME.pid \
		--signal 15 --exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid
		echo "."
	fi
	;;
  reload)
	if [ "$START" = "yes" ]
	then
	  	if [ -f "/var/run/ircd/$NAME.pid" ]; then
	  	  echo -n "Reloading configuration files for $NAME..."
		  kill -HUP `cat /var/run/ircd/$NAME.pid`
		  echo "done."
		else
		  echo "Not reloading configuration files for $NAME - not running!"
		fi
	fi
	;;
  restart|force-reload)
	if [ "$START" = "yes" ]
	then
		echo -n "Restarting $DESC: $NAME"
		if [ -f "/var/run/ircd/$NAME.pid" ]; then
		  start-stop-daemon --stop --quiet --pidfile \
			/var/run/ircd/$NAME.pid --signal 15 \
			--exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid
		  sleep 1
		fi
		start-stop-daemon --start --quiet \
		  -u irc -c irc --exec $DAEMON -- -pidfile /var/run/ircd/$NAME.pid \
		> /dev/null
		echo "."
	fi
	;;
  *)
	echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
	exit 1
	;;
esac

exit 0
