diff options
Diffstat (limited to 'abs/extra/community/mediatomb/mediatomb.rc')
-rw-r--r--[-rwxr-xr-x] | abs/extra/community/mediatomb/mediatomb.rc | 94 |
1 files changed, 45 insertions, 49 deletions
diff --git a/abs/extra/community/mediatomb/mediatomb.rc b/abs/extra/community/mediatomb/mediatomb.rc index b3333cc..7b93012 100755..100644 --- a/abs/extra/community/mediatomb/mediatomb.rc +++ b/abs/extra/community/mediatomb/mediatomb.rc @@ -1,58 +1,54 @@ #!/bin/bash -DESC="MediaTomb UPnP A/V Media Server" +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/mediatomb -USER="" +MT_OPTIONS="-p $MT_PORT -u $MT_USER -g $MT_GROUP -P $MT_PIDFILE \ + -l $MT_LOGFILE -m $MT_HOME -f $MT_CFGDIR $MT_OPTIONS" -if [ "$(whoami)" != "root" ];then - echo "You must be root to start/restart/stop services." - exit 1 -fi +case "$1" in + start) + stat_busy "Starting Mediatomb UPnP Media Server" -. /etc/rc.conf -. /etc/rc.d/functions + chown "$MT_USER:$MT_GROUP" "$MT_HOME" -[ -r "/etc/conf.d/mediatomb" ] && . /etc/conf.d/mediatomb + if ! pidof -o %PPID /usr/bin/mediatomb &> /dev/null; then + rm -f "$MT_PIDFILE" + fi -PID=`pidof -o %PPID /usr/bin/mediatomb` + PID="$(cat "$MT_PIDFILE" 2> /dev/null)" -case "$1" in - start) - stat_busy "Starting $DESC" - if [ -z "$PID" ]; then - if [ -n "$USER" ]; then - echo -n "Starting as user: $USER" - su - $USER -c "/usr/bin/mediatomb -d $PARAMS &> /dev/null" || stat_fail - else - /usr/bin/mediatomb -d $PARAMS &> /dev/null || stat_fail - fi - PID=`pidof -o %PPID /usr/bin/mediatomb` - if [ -z "$PID" ]; then exit 1;fi - echo $PID > /var/run/mediatomb.pid - add_daemon mediatomb - stat_done - else - echo -n "Already running!" - stat_fail - fi - ;; - stop) - stat_busy "Stopping $DESC" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - echo -n "Not started!" - stat_fail - else - rm /var/run/mediatomb.pid - rm_daemon mediatomb - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" + if [ -z "$PID" ] && /usr/bin/mediatomb -d $MT_OPTIONS; then + add_daemon mediatomb + stat_done + else + stat_fail + fi + ;; + + stop) + stat_busy "Stopping Mediatomb UPnP Media Server" + + PID="$(cat "$MT_PIDFILE" 2> /dev/null)" + + if [ -n "$PID" ] && kill "$PID" &> /dev/null; then + rm -f "$MT_PIDFILE" + rm_daemon mediatomb + stat_done + else + stat_fail + fi + ;; + + restart) + "$0" stop + sleep 1 + "$0" start + ;; + + *) + echo "usage: $0 {start|stop|restart}" + ;; esac +exit 0 |