#!/bin/sh

### BEGIN INIT INFO
# Provides:        proxdaemon
# Required-Start:  $network $syslog
# Required-Stop:   $network $syslog
# Default-Start:   2 3 4 5
# Default-Stop:    0 1 6
# Short-Description: Start Proxmox Daemon
### END INIT INFO

. /lib/lsb/init-functions

PATH=/sbin:/bin:/usr/bin:/usr/sbin
DAEMON=/usr/bin/proxdaemon
PIDFILE=/var/run/proxdaemon.pid

test -f $DAEMON || exit 0

case "$1" in
	start)
		log_daemon_msg "Starting Proxmox daemon" "proxdaemon"
	        # make sure postgres server is running (wait max 55 seconds)
                i=0;until psql -U postgres -l >/dev/null 2>&1; do echo "waiting for postgres server startup";i=$(($i+1));if [[ $i == '6' ]]; then break; else sleep $(($i*$i)); fi done	
	        # make sure we have a database
	        proxdb -i >/dev/null 2>&1
  		start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -p $PIDFILE
		log_end_msg $?
  		;;
	stop)
		log_daemon_msg "Stopping Proxmox daemon" "proxdaemon"
  		start-stop-daemon --stop --quiet --retry TERM/2/TERM/10/KILL --pidfile $PIDFILE
		log_end_msg $?
  		;;
	restart|force-reload)
		log_daemon_msg "Restarting Proxmox daemon" "proxdaemon"
  		start-stop-daemon --stop --quiet --retry TERM/2/TERM/10/KILL --pidfile $PIDFILE
                sleep 2
  		start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -p $PIDFILE
		log_end_msg $?
  		;;
	*)
  		echo "Usage: /etc/init.d/proxdaemon {start|stop|restart|force-reload}"
  		exit 1
		;;
esac

exit 0
