#!/bin/sh -e
#
# gracie        Startup script for the Gracie OpenID provider.
#
### BEGIN INIT INFO
# Provides:          gracie
# Required-Start:    $syslog $network $remote_fs
# Required-Stop:     $syslog $network $remote_fs
# Should-Start:      $local_fs
# Should-Stop:       $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Stand-alone Gracie OpenID provider
# Description:       Stand-alone Gracie OpenID provider
### END INIT INFO


DESC='Gracie OpenID provider'

BINFILE=gracied
EXECUTABLE=/usr/bin/$BINFILE
PIDFILE=/var/run/gracied.pid
HOST="localhost"
PORT="8000"
ROOT_URL=

DEFAULTS_FILE=/etc/default/gracie
if test -f $DEFAULTS_FILE; then
    . $DEFAULTS_FILE
fi

if test -z "${ROOT_URL}" ; then
    ROOT_URL="http://${HOST}:${PORT}/"
fi

DAEMON_OPTS=""
DAEMON_OPTS="${DAEMON_OPTS} --pidfile ${PIDFILE}"
DAEMON_OPTS="${DAEMON_OPTS} --data-dir /var/lib/gracie"
DAEMON_OPTS="${DAEMON_OPTS} --host ${HOST}"
DAEMON_OPTS="${DAEMON_OPTS} --port ${PORT}"
DAEMON_OPTS="${DAEMON_OPTS} --root-url ${ROOT_URL}"

test -x $EXECUTABLE || exit 0

start_stop() {
    case "$1" in
    start)
        printf "Starting $DESC:"
        start-stop-daemon --start --oknodo --quiet \
            --pidfile $PIDFILE \
            --exec $EXECUTABLE -- $DAEMON_OPTS
        printf " $BINFILE"
        printf ".\n"
        ;;
    stop)
        printf "Stopping $DESC:"
        start-stop-daemon --stop --oknodo --quiet \
            --pidfile $PIDFILE
        printf " $BINFILE"
        printf ".\n"
        ;;
    restart | force-reload)
        start_stop stop
        sleep 1
        start_stop start
        ;;
    *)
        printf "Usage: $0 {start|stop|restart|force-reload}\n" >&2
        exit 1
        ;;
    esac
}

start_stop "$@"

exit 0
