summaryrefslogtreecommitdiffstats
path: root/abs/extra/community/mediatomb/mediatomb.rc
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/community/mediatomb/mediatomb.rc')
-rw-r--r--[-rwxr-xr-x]abs/extra/community/mediatomb/mediatomb.rc94
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