#!/bin/sh
#
# Start the Roxen webserver

test -x /usr/bin/pike -a -x /usr/lib/roxen2/start || exit 0

# To change the default paths, without changing the upstream
# source to much...
PID="--pid-file=/var/run/roxen2/roxen2.pid"
LOG="--log-dir=/var/log/roxen2/"
CFG="--config-dir=/etc/roxen2/"

MAINOPTS="$PID $LOG $CFG"
if [ -f /usr/lib/roxen2/remove_dumped ]; then
    MAINOPTS="$MAINOPTS --remove-dumped"
    rm -f /usr/lib/roxen2/remove_dumped
fi

# Source any user definable options we might have...
if [ -f /usr/lib/roxen2/start_options ]; then
    OPTIONS=`cat /usr/lib/roxen2/start_options`
else
    OPTIONS=""
fi

case "$1" in
  start)
    echo -n "Starting Roxen http server: roxen"
    cd /usr/lib/roxen2
    ./start $MAINOPTS $OPTIONS > /dev/null
    echo "."
    ;;
  stop)
    if [ -f /var/run/roxen2/roxen2.pid ]; then
	echo -n "Stopping Roxen http server: roxen"
	touch /var/run/roxen2/roxen2_shutdown.pid

	for pid in `cat /var/run/roxen2/roxen2.pid`; do
	    kill -TERM $pid
	done
	rm /var/run/roxen2/roxen2.pid

	echo "."
    else
	echo "No pidfile found, sorry."
    fi
    ;;
  reload|force-reload)
    if [ -f /var/run/roxen2/roxen2.pid ]; then
	echo -n "Reloading configuration for Roxen http server: roxen"

	for pid in `cat /var/run/roxen2/roxen2.pid | sed -e 1d`; do
	    kill -HUP $pid
	done

	echo "."
    else
	echo "No pidfile found, sorry."
    fi
    ;;
  restart)
    sh /etc/init.d/roxen2 stop
    sleep 2
    sh /etc/init.d/roxen2 start
     ;;
  *)
    echo "Usage: /etc/init.d/roxen2 {start|stop|reload|restart|force-reload}"
    exit 1
esac

exit 0
