diff options
Diffstat (limited to 'contrib/epgd.SuSE')
-rw-r--r-- | contrib/epgd.SuSE | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/contrib/epgd.SuSE b/contrib/epgd.SuSE new file mode 100644 index 0000000..6947963 --- /dev/null +++ b/contrib/epgd.SuSE @@ -0,0 +1,115 @@ +#! /bin/bash +# +# Author: +# +# /etc/init.d/epg +# +### BEGIN INIT INFO +# Provides: epgd +# Required-Start: $syslog mysql +# Required-Stop: +# Default-Start: 2 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: EPG Daemon +# Description: EPG Daemon - collects EPG Data from VDR's +# and other ressources +### END INIT INFO + +# Check for missing binaries (stale symlinks should not happen) +EPGD_BIN=/usr/local/bin/epgd +test -x $EPGD_BIN || exit 5 + +# Check for existence of needed config directory +EPGD_CONFDIR=/etc/epgd +test -d $EPGD_CONFDIR || exit 6 + +# Check for existence of needed config file and read it +EPGD_CONFIG=${EPGD_CONFDIR}/epgd.conf +test -r $EPGD_CONFIG || exit 6 + +# Check for existence of needed plugin directory +EPGD_PLGDIR=/usr/local/lib/epgd/plugins +test -d $EPGD_PLGDIR || exit 6 + +# Source LSB init functions +# providing start_daemon, killproc, pidofproc, +# log_success_msg, log_failure_msg and log_warning_msg. +# This is currently not used by UnitedLinux based distributions and +# not needed for init scripts for UnitedLinux only. If it is used, +# the functions from rc.status should not be sourced or used. +#. /lib/lsb/init-functions + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status + +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed <num> set local and overall rc status to <num> +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +# rc_splash arg sets the boot splash screen to arg (if active) +. /etc/rc.status + +# Reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +start_epgd() { + echo -n "Starting EPG-Daemon" + startproc ${EPGD_BIN} -n -c ${EPGD_CONFDIR} -p ${EPGD_PLGDIR} + sleep 2 && checkproc $EPGD_BIN + # Remember status and be verbose + rc_status -v +} + +stop_epgd() +{ + echo -n "Stopping EPG-Daemon" + ## Stop daemon with killproc(8) and if this fails + ## killproc sets the return value according to LSB. + + /sbin/killproc -TERM ${EPGD_BIN} + + # Remember status and be verbose + rc_status -v +} + +case "$1" in + start) + start_epgd + ;; + stop) + stop_epgd + ;; + restart) + stop_epgd + sleep2 + start_epgd + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac +rc_exit |