#! /bin/bash

set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESC="DirMngr"
NAME=dirmngr
DAEMON=/usr/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

test -x $DAEMON || exit 0

if [ -r /etc/default/$NAME ]; then
	. /etc/default/$NAME
fi


d_start() {
	eval "$(start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- --daemon --sh)"
	pid=$(echo "$DIRMNGR_INFO" | cut -d : -f 2)
	echo "$pid" >$PIDFILE

	chgrp dirmngr /var/run/dirmngr/socket
	chmod ${DIRMNGR_SOCKET_MODE:-0770} /var/run/dirmngr/socket
}


d_stop() {
	start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --name $NAME --signal INT --retry 10
	rm -f $PIDFILE
}


d_reload() {
	start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --signal HUP
}


d_status() {
	# sets status to 0 if the process is running
	start-stop-daemon --stop --quiet --test --pidfile $PIDFILE --name $NAME >/dev/null
}


case "$1" in
    start)
	echo -n "Starting $DESC: $NAME"
	d_start
	echo "."
	;;
    stop)
	echo -n "Stopping $DESC: $NAME"
	d_stop
	echo "."
	;;
    status)
	d_status && echo "$DESC is running."
	exit
	;;
    restart)
	echo -n "Restarting $DESC: $NAME"
	d_stop
	sleep 1
	d_start
	echo "."
	;;
    try-restart)
	$0 status >/dev/null && $0 restart
	;;
    reload|force-reload)
	echo -n "Reloading $DESC configuration..."
	d_reload
	echo "done."
	;;
    *)
	echo "Usage: $SCRIPTNAME {start|stop|status|restart|try-restart|reload|force-reload}" >&2
	exit 1
	;;
esac

exit 0
