PKGBUILDs/community/mythtv/mythbackend.rc
2012-01-31 23:48:03 -05:00

83 lines
2 KiB
Bash

#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
# Default values to use if none are supplied in the config file.
# Running mythbackend as non-root requires you to ensure that audio/video
# devices used for recording have suitable user permissions. One way
# to achieve this is to modify existing or create new udev rules which
# assign these devices to a non-root group with rw permissions and add
# your mythbackend user to that group. Be aware that console.perms can
# also affect device permissions and may need additional configuration.
# Running as non-root may also introduce increased process latency.
#
# User who should start the mythbackend processes
MBE_USER='root'
# Startup options for mythbackend
MBE_OPTIONS=''
# Name of mythbackend log file
LOG_FILE='/var/log/mythbackend.log'
# Logging options for mythbackend (empty means '-v important,general')
LOG_OPTS=''
###############################################################################
CONFIG_FILE=/etc/conf.d/mythbackend
PIDFILE=/var/run/mythbackend.pid
if [[ -f ${CONFIG_FILE} ]]; then
. ${CONFIG_FILE}
fi
pid="$(cat ${PIDFILE} 2>/dev/null || pidof mythbackend)";
# fix FS#11890
mbe_user_home="$(getent passwd ${MBE_USER}|cut -d : -f 6)"
case "$1" in
start)
stat_busy "Starting MythTV Backend"
# already running ?
if [[ "${pid}" -gt 0 ]] && kill -0 "${pid}"; then
stat_fail
exit 1;
fi
touch ${PIDFILE} ${LOG_FILE}
chown "$MBE_USER" ${PIDFILE} ${LOG_FILE}
if su "$MBE_USER" -c "HOME=${mbe_user_home} mythbackend \
--daemon \
--logfile $LOG_FILE $LOG_OPTS \
--pidfile ${PIDFILE} $MBE_OPTIONS";
then
add_daemon mythbackend
stat_done
else
stat_fail
fi
;;
stop)
stat_busy "Stopping MythTV Backend"
if [[ "${pid}" -gt 0 ]] && kill $pid &>/dev/null; then
rm_daemon mythbackend
stat_done
rm ${PIDFILE} 2>/dev/null
else
stat_fail
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0