aboutsummaryrefslogtreecommitdiff
path: root/audio/slimserver/files/slimserver.sh
diff options
context:
space:
mode:
Diffstat (limited to 'audio/slimserver/files/slimserver.sh')
-rw-r--r--audio/slimserver/files/slimserver.sh56
1 files changed, 56 insertions, 0 deletions
diff --git a/audio/slimserver/files/slimserver.sh b/audio/slimserver/files/slimserver.sh
new file mode 100644
index 000000000000..bea293be52f4
--- /dev/null
+++ b/audio/slimserver/files/slimserver.sh
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: slimserver
+# REQUIRE: LOGIN
+# KEYWORD: FreeBSD shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable slimserver:
+#
+#slimserver_enable="YES"
+#
+
+. %%RC_SUBR%%
+
+name=slimserver
+stop_cmd="slimserver_stop"
+rcvar=`set_rcvar`
+
+command=%%PREFIX%%/%%SLIMDIR%%/slimserver.pl
+pidfile=/var/run/${name}.pid
+conffile=/var/db/slimserver/slimserver.conf
+logfile=/var/log/slimserver.log
+u=slimserv
+g=slimserv
+command_args="--daemon --prefsfile=${conffile} --logfile=${logfile} --user=${u} --group=${g} --pidfile=${pidfile}"
+
+slimserver_stop()
+{
+ if [ ! -f ${pidfile} ]; then
+ exit
+ fi
+ echo 'Stopping SlimServer.'
+ rc_pid=`cat ${pidfile}`
+ rc_pid=`pgrep -u ${u} | grep ${rc_pid}`
+ if [ -n "${rc_pid}" ]; then
+ rc_pids="${rc_pid} `pgrep -u ${u} mDNSResponderPosix`"
+
+ kill $sig_stop $rc_pids
+ wait_for_pids $rc_pids
+ else
+ echo "${name} not running? (check ${pidfile})"
+ fi
+
+ rm -f ${pidfile}
+}
+
+# set defaults
+
+slimserver_enable=${slimserver_enable:-"NO"}
+slimserver_flags=${slimserver_flags:-""}
+
+load_rc_config ${name}
+run_rc_command "$1"