#!/bin/bash
#
#  $Id$
#
#  Copyleft (C) ITEG IT-Engineers GmbH 2014
#
#  Starts/stops the GPSFake-Runner
#
# /etc/init.d/gpsfake-runner
#
### BEGIN INIT INFO
# Provides:       gpsfake-runner
# Required-Start: $network $remote_fs 
# Required-Stop:  $network $remote_fs 
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Description:    Starts/stops the GPSFake-Runner
### END INIT INFO
#
# chkconfig: 345 32 68
# description: Starts/stops the GPSFake-Runner


# Some of these environment variables are not used yet, but may be supported in a future version.
# See /etc/default/gpsfake-runner

GPSFAKERUNNER_STARTDAEMON="no"

GPSFAKERUNNER_USER="nobody"
GPSFAKERUNNER_ID="gpsfake-runner/gpsfake-runner"

# only used to if the daemon is up, not usable to steer the actual daemon
#GPSFAKERUNNER_OPTIONS="-c 1"
GPSFAKERUNNER_WAIT="1"

GPSFAKERUNNER_BIN="/usr/bin/gpsfake-runner"

# debian helper functions.
. /lib/lsb/init-functions

# Pull in user-config
. /etc/default/gpsfake-runner

case "$1" in
    start)
	if [ ! "$GPSFAKERUNNER_STARTDAEMON" = "yes" ] ; then
	  echo "Not starting GPSFake-Runner because GPSFAKERUNNER_STARTDAEMON not set to yes"
	  exit 0
	fi

        log_begin_msg "Starting GPSFake-Runner ..."

        # pid-files for libo-related servers reside in /var/run/libo and
        # use the group of the web server.
        # debain based distributions tend to delete /var/run directories
        # upon reboot, so recreate it here.
        GFRGROUPID=$(getent passwd $GPSFAKERUNNER_USER | cut -f4 -d':')
        mkdir -p /var/run/gpsfake-runner
        chown root.$GFRGROUPID /var/run/gpsfake-runner
        chmod 770 /var/run/gpsfake-runner

	fancywrap3 $GPSFAKERUNNER_ID -r -t $GPSFAKERUNNER_WAIT -u $GPSFAKERUNNER_USER -d /var/spool/gpsfake-runner --syslog -x /bin/bash '[gpsfake-runner]' $GPSFAKERUNNER_BIN 
 	
        log_end_msg $?
        ;;
    stop)
        log_begin_msg "Stopping GPSFake-Runner ..."
        fancywrap3 $GPSFAKERUNNER_ID -k
        log_end_msg $?
        ;;
    restart)
        $0 stop && $0 start
        ;;
    status)
        log_begin_msg "Checking GPSFake-Runner ..."
        fancywrap3 $GPSFAKERUNNER_ID -s
        log_end_msg $?
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart}"
        exit 1
esac


