#!/bin/sh
#
### BEGIN INIT INFO
# Provides:       getstream
# Required-Start: $network $syslog
# Should-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Description:    getstream is a Lightweight DVB Streaming tool
### END INIT INFO

#
# getstream:        This is an init script for ALT Linux distribution.
#
# chkconfig: 345 42 10
# description: getstream is a Lightweight DVB Streaming tool

# Source function library.
WITHOUT_RC_COMPAT=1

. /etc/rc.d/init.d/functions

[ -x /usr/bin/getstream ] || exit 0

LOCKFILE="/var/lock/subsys/getstream"
PIDFILE="/var/run/getstream.pid"
RETVAL=0

start()
{
    touch "$PIDFILE"
    chown getstream "$PIDFILE"
    if start-stop-daemon --start --test --quiet --pidfile "$PIDFILE" \
        --user getstream --exec /usr/bin/getstream >/dev/null; then
        action "Starting getstream:" \
            start-stop-daemon --start --pidfile "$PIDFILE" --make-pidfile \
            --background --chuid getstream --exec /usr/bin/getstream -- -c /etc/getstream.conf
    else
        msg_already_running getstream
        passed "getstream startup"
        echo
    fi
    RETVAL=$?
    [ "$RETVAL" -ne 0 ] || touch "$LOCKFILE"
    return $RETVAL
}

stop()
{
    action "Stopping getstream:" \
        start-stop-daemon --stop --pidfile "$PIDFILE" --user getstream --exec /usr/bin/getstream
    RETVAL=$?
    [ "$RETVAL" -ne 0 ] || rm -f -- "$LOCKFILE" "$PIDFILE"
    return $RETVAL

}

restart()
{
    stop
    start
}

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  status)
	status getstream
	;;
  restart)
	restart
	;;
  condstop)
	if [ -e "$LOCKFILE" ]; then
	    stop
	fi
	;;
  condrestart)
	if [ -e "$LOCKFILE" ]; then
	    restart
	fi
	;;
  *)
	echo "Usage: getstream {start|stop|status|restart|condstop|condrestart}"
	RETVAL=1
esac

exit $RETVAL
