#! /bin/sh
#
### BEGIN INIT INFO
# Provides:          kopano-spooler
# Required-Start:    $syslog $network $remote_fs
# Required-Stop:     $syslog $network $remote_fs
# Should-Start:      kopano-server
# Should-Stop:       kopano-server
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Kopano Collaboration Server's Spooler Daemon
# Description:       The Kopano Spooler is responsible for converting
#                    MAPI messages into the internet format and sending
#                    using your MTA as configured.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SPOOLER=/usr/sbin/kopano-spooler
DESC="Kopano spooler"
NAME=`basename $SPOOLER`
#QUIETDAEMONDAEMON=--quiet
PIDFILE=/var/run/kopano-spooler.pid

test -x $SPOOLER || exit 0

# Include kopano defaults if available
if [ -f /etc/default/kopano ] ; then
    . /etc/default/kopano
fi
if [ -z "$KOPANO_LOCALE" ]; then
    KOPANO_LOCALE="C"
fi

if [ -e "$SPOOLER_CONFIG" ]; then
    SPOOLER_OPTS="$SPOOLER_OPTS -c $SPOOLER_CONFIG"
fi

#set -e

. /lib/lsb/init-functions

case "$1" in
    start)
        if [ "$SPOOLER_ENABLED" = "no" ]; then
            log_warning_msg "Kopano Mail Spooler daemon not enabled in /etc/default/kopano ... not starting"
            exit 0
        fi
        log_begin_msg "Starting $DESC: $NAME"
        export LC_ALL=$KOPANO_LOCALE
        export LANG=$KOPANO_LOCALE
        start-stop-daemon --start $QUIETDAEMON --pidfile $PIDFILE --exec $SPOOLER -- $SPOOLER_OPTS
        log_end_msg $?
        unset LC_ALL LANG
    ;;

    stop)
        log_begin_msg "Stopping $DESC: $NAME"
        start-stop-daemon --stop $QUIETDAEMON --pidfile $PIDFILE --retry TERM/15/KILL --exec $SPOOLER
        RETVAL=$?
        rm -f $PIDFILE
        log_end_msg $RETVAL
    ;;

    restart)
        $0 stop
        $0 start
    ;;

    status)
        status_of_proc -p $PIDFILE "$SPOOLER" "$NAME" && exit 0 || exit $?
    ;;

    reload|force-reload)
        log_begin_msg "Reloading $DESC: $NAME"
        start-stop-daemon --stop $QUIETDAEMON --signal HUP --pidfile $PIDFILE --exec $SPOOLER
        log_end_msg $?
    ;;

    *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|reload|force-reload|status}" >&2
        exit 1
    ;;
esac

exit 0
