#!/bin/bash
# gmediaserver  Start/stop gmediaserver service
#
# chkconfig: - 85 15
# description: GMediaServer is a UPnP compatible media server for the GNU system.\
# 		It is part of the GNU project.
#
# processname: gmediaserver
# config: /etc/sysconfig/gmediaserver
# pidfile: /var/run/gmediaserver.pid
#
### BEGIN INIT INFO
# Provides: gmediaserver
# Required-Start: $network
# Should-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:      0 1 2 3 4 5 6
# Short-Description: Start gmediaserver daemon
# Description:       Start gmediaserver, a UPnP compatible media server for the GNU system.
### END INIT INFO


# Source function library.
. /etc/rc.d/init.d/functions

gserv=${gserv-/usr/sbin/gmediaserver}
prog=gmediaserver
user=gmediaserver
pidfile=/var/run/gmediaserver.pid
lockfile=/var/lock/subsys/gmediaserver
RETVAL=0

. /etc/sysconfig/$prog

OPTIONS="-b "
[ $logfile ] && OPTIONS="$OPTIONS --output=$logfile";
[ $disabletags != 0 ] && OPTIONS="$OPTIONS --disable-tags ";
[ $notimestamp != 0 ] && OPTIONS="$OPTIONS --no-timestamp ";
[ $fscharset ] && OPTIONS="$OPTIONS --fs-charset=$fscharset ";
[ $devicecharset ] && OPTIONS="$OPTIONS --device-charset=$devicecharset ";
[ $logcharset ] && OPTIONS="$OPTIONS --log-charset=$logcharset ";
[ $interface ] && OPTIONS="$OPTIONS --interface=$interface ";
[ $port ] && OPTIONS="$OPTIONS --port=$port ";
[ $timestamp ] && OPTIONS="$OPTIONS --timestamp=$timestamp ";
[ $profile ] && OPTIONS="$OPTIONS --profile=$profile ";
[ $filetypes ] && OPTIONS="$OPTIONS --file-types=$filetypes ";
[ $expiretime ] && OPTIONS="$OPTIONS --expire-time=$expiretime ";
[ -d "$dir" ] || dir=/srv/gmediaserver;
OPTIONS="$OPTIONS $dir";

start()
{
	echo -n "Starting $prog: "
        daemon --user=$user $gserv $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
}

stop()
{
	echo -n "Stopping $prog: "
	killproc -d 10 $gserv
	RETVAL=$?
	echo
	[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
	echo ""
	return $RETVAL
}

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart|reload|force-reload)
        stop
        start
        ;;
  try-restart)
        [ -e /var/lock/subsys/gmediaserver ] && (stop; start)
        ;;
  status)
        status $gserv
	RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|try-restart}"
        exit 2
	;;
esac

exit $RETVAL
