blob: 6869eb5877f6142f98e26adc97d4858b0f1d6b2a [file] [log] [blame]
#!/sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
description="MythTV backend recording daemon"
extra_started_commands="resched upnprebuild"
description_resched="Forces the recording scheduler to update"
description_upnprebuild="Rebuilds the UPnP media cache"
MYTHBACKEND_OPTS=${MYTHBACKEND_OPTS:-"${MYTHBACKEND_OPTS}"}
MYTHBACKEND_VERBOSE=${MYTHBACKEND_VERBOSE:-"general"}
MYTHBACKEND_LOGGING=${MYTHBACKEND_LOGGING:-"files"}
name="MythTV backend"
command="/usr/bin/mythbackend"
pidfile="/run/mythtv/mythbackend.pid"
start_stop_daemon_args="--pidfile ${pidfile} --user mythtv:video"
command_args="--daemon --pidfile ${pidfile} --verbose ${MYTHBACKEND_VERBOSE} ${MYTHBACKEND_OPTS}"
depend() {
# mythbackend doesn't need to run on the same machine that
# mysql runs on. so its use for that reason
use logger net.lo mysql LCDd
}
start_pre() {
case "${MYTHBACKEND_LOGGING}" in
database) logging="--enable-dblog" ;;
syslog\ *) logging="--${MYTHBACKEND_LOGGING}" ;;
files) logging="--logpath /var/log/mythtv" ;;
console) logging="--nologserver" ;;
*)
eerror "Invalid MYTHBACKEND_LOGGING value"
exit 1
;;
esac
#fixes for bug #101308
unset DISPLAY
unset SESSION_MANAGER
# Work around any strange permissions that may be on these files.
[ "x${MYTHBACKEND_LOGGING}" = "xfiles" ] && \
checkpath --directory --owner mythtv:video --mode 0775 /var/log/mythtv
checkpath --directory --owner mythtv:video --mode 0775 /home/mythtv
checkpath --directory --owner mythtv:video --mode 0750 /run/mythtv
}
start() {
ebegin "Starting ${name}"
start-stop-daemon --start ${start_stop_daemon_args} --exec ${command} \
-- ${command_args} ${logging}
eend $?
}
stop() {
ebegin "Stopping ${name}"
start-stop-daemon --stop --retry 10 --progress --pidfile ${pidfile}
eend $?
}
resched() {
ebegin "Updating the recording scheduler"
${command} --resched
eend $?
}
upnprebuild() {
ebegin "Rebuilding UPnP media cache"
${command} --upnprebuild
eend $?
}