#! /bin/sh
#
# diablo	Start/stop the Diablo news server daemon.
#
# Version:	@(#)diablo.sh  1.2  28-Feb-1998  miquels@cistron.nl
#

set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DIABLO=/usr/sbin/diablo
DREADERD=/usr/sbin/dreaderd
NAME=diablo
DESC="Diablo News Feeder"
SPACES="-s                                                                   "
NEWSDIR="/etc/news"

if [ -f /etc/default/diablo ]; then
. /etc/default/diablo
fi

test -x $DIABLO || test -x $DREADERD || exit 0
test -d $NEWSDIR || exit 0
test -e $NEWSDIR/diablo.pathname || exit 0
cd $NEWSDIR

DNAME=`cat $NEWSDIR/diablo.pathname`
if [ -s $NEWSDIR/diablo.hostname ]
then
	HNAME=`cat $NEWSDIR/diablo.hostname`
else
	HNAME=$DNAME
fi

start_feeder () {
	test -x $DIABLO || return
	echo -n "Starting Diablo News feeder: "
	start-stop-daemon --start --quiet --exec $DIABLO \
		-- server "$SPACES" -p $DNAME -h $HNAME $FEEDER_OPTIONS
	echo "diablo"
}
stop_feeder () {
	test -x $DIABLO || return
	echo -n "Stopping Diablo News feeder: "
    start-stop-daemon --stop --quiet --oknodo --exec $DIABLO \
		-- server "$SPACES" -p $DNAME -h $HNAME $FEEDER_OPTIONS
	echo "diablo"
}

start_readerd () {
	test -x $DREADERD || return
	echo -n "Starting Diablo News readerd: "
    start-stop-daemon --start --quiet --exec $DREADERD \
		-- $READERD_OPTIONS -p $DNAME "$SPACES"
	echo "dreaderd"
}
stop_readerd () {
	test -x $DREADERD || return
	echo -n "Stopping Diablo News readerd: "
    start-stop-daemon --stop --quiet --oknodo --exec $DREADERD \
		-- $READERD_OPTIONS -p $DNAME "$SPACES"
	echo "dreaderd"
}

case "$1" in
  start)
    if [ "$DNAME" = unconfigured ]
    then
	echo "Diablo not configured - not started."
	exit 0
    fi
	if [ "$FEEDER" = "true" ]; then
		start_feeder
	fi
	if [ "$READERD" = "true" ]; then
		start_readerd
	fi
    ;;
  stop)
    if [ "$DNAME" = unconfigured ]
    then
	echo "Diablo not configured - not started."
	exit 0
    fi
	if [ "$FEEDER" = "true" ]; then
		stop_feeder
	fi
	if [ "$READERD" = "true" ]; then
		stop_readerd
	fi
    ;;
  reload)
    #
    # Diablo re-reads config files on the fly.
    #
    ;;
  restart|force-reload)
	$0 stop
    sleep 2
	$0 start
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}"
    exit 1
    ;;
esac

exit 0
