#!@l_prefix@/bin/openpkg rc
##
##  rc.gmediaserver -- runcommands
##

%config
    gmediaserver_enable="$openpkg_rc_def"
    gmediaserver_log_prolog="true"
    gmediaserver_log_epilog="true"
    gmediaserver_log_numfiles="10"
    gmediaserver_log_minsize="1M"
    gmediaserver_log_complevel="9"
    gmediaserver_name="GMediaServer"
    gmediaserver_fschar="ISO-8859-1"
    gmediaserver_devchar="ISO-8859-1"
    gmediaserver_logchar="ISO-8859-1"
    gmediaserver_profile="generic"
    gmediaserver_ftypes="ogg,mp3,wma,wav,pls,m3u,m4a,jpg,png"
    gmediaserver_expire="100"
    gmediaserver_iface="lo0"
    gmediaserver_port="49152"
    gmediaserver_dirs="@l_prefix@/pub"
    gmediaserver_cmdstart="echo 'route add -net 239.0.0.0 netmask 255.0.0.0 dev eth0'"
    gmediaserver_cmdstop="echo 'route del -net 239.0.0.0 netmask 255.0.0.0 dev eth0'"

%common
    gmediaserver_pidfile="@l_prefix@/var/gmediaserver/run/gmediaserver.pid"
    gmediaserver_logfile="@l_prefix@/var/gmediaserver/log/gmediaserver.log"
    gmediaserver_signal () {
        [ -f $gmediaserver_pidfile ] && kill -$1 `cat $gmediaserver_pidfile`
    }

%status -u @l_susr@ -o
    gmediaserver_usable="no"
    gmediaserver_active="no"
    rcService gmediaserver enable yes && \
        gmediaserver_usable="yes"
    rcService gmediaserver enable yes && \
        gmediaserver_signal 0 && gmediaserver_active="yes"
    echo "gmediaserver_enable=\"$gmediaserver_enable\""
    echo "gmediaserver_usable=\"$gmediaserver_usable\""
    echo "gmediaserver_active=\"$gmediaserver_active\""

%start -u @l_susr@
    rcService gmediaserver enable yes || exit 0
    rcService gmediaserver active yes && exit 0
    eval $gmediaserver_cmdstart
    @l_prefix@/bin/gmediaserver \
        --friendly-name=$gmediaserver_name \
        --fs-charset=$gmediaserver_fschar \
        --device-charset=$gmediaserver_devchar \
        --log-charset=$gmediaserver_logchar \
        --profile=$gmediaserver_profile \
        --file-types=$gmediaserver_ftypes \
        --expire-time=$gmediaserver_expire \
        --interface=$gmediaserver_iface \
        --port=$gmediaserver_port \
        --pid-file=$gmediaserver_pidfile \
        --output=$gmediaserver_logfile \
        --background \
        --timestamp \
        $gmediaserver_dirs

%stop -u @l_susr@
    rcService gmediaserver enable yes || exit 0
    rcService gmediaserver active no && exit 0
    gmediaserver_signal TERM
    eval $gmediaserver_cmdstop

%restart -u @l_susr@
    rcService gmediaserver enable yes || exit 0
    rcService gmediaserver active no && exit 0
    rc gmediaserver stop
    sleep 2
    rc gmediaserver start

%reload -u @l_susr@
    rcService gmediaserver enable yes || exit 0
    rcService gmediaserver active no  && exit 0
    gmediaserver_signal USR1

%daily -u @l_susr@
    rcService gmediaserver enable yes || exit 0
    shtool rotate -f \
        -n ${gmediaserver_log_numfiles} -s ${gmediaserver_log_minsize} -d \
        -z ${gmediaserver_log_complevel} -o @l_susr@ -g @l_mgrp@ -m 644 \
        -P "${gmediaserver_log_prolog}" \
        -E "${gmediaserver_log_epilog}; rc gmediaserver restart" \
        @l_prefix@/var/gmediaserver/log/gmediaserver.log \
        @l_prefix@/var/gmediaserver/log/arpsnmp.log
