1*4882a593Smuzhiyun#! /bin/sh 2*4882a593Smuzhiyun# tvheadend startup script inspired by the Debian one in the package 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun# Author: Yann E. MORIN <yann.morin.1998@free.fr> 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunPATH=/usr/sbin:/usr/bin:/sbin:/bin 7*4882a593SmuzhiyunNAME=tvheadend 8*4882a593SmuzhiyunPIDFILE=/var/run/$NAME.pid 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun# Read configuration variable file if it is present 11*4882a593Smuzhiyun[ -r "/etc/default/${NAME}" ] && . "/etc/default/${NAME}" 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunARGS="-f" 14*4882a593Smuzhiyun[ -z "${TVH_USER}" ] || ARGS="${ARGS} -u ${TVH_USER}" 15*4882a593Smuzhiyun[ -z "${TVH_GROUP}" ] || ARGS="${ARGS} -g ${TVH_GROUP}" 16*4882a593Smuzhiyun[ -z "${TVH_ADAPTERS}" ] || ARGS="${ARGS} -a ${TVH_ADAPTERS}" 17*4882a593Smuzhiyun[ -z "${TVH_HTTP_PORT}" ] || ARGS="${ARGS} -w ${TVH_HTTP_PORT}" 18*4882a593Smuzhiyun[ -z "${TVH_HTSP_PORT}" ] || ARGS="${ARGS} -e ${TVH_HTSP_PORT}" 19*4882a593Smuzhiyun[ "${TVH_DEBUG}" = "1" ] && ARGS="${ARGS} -s" 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun# If first run, start in wizard mode 22*4882a593Smuzhiyunif [ -z "$(ls -1 /home/tvheadend/.hts/tvheadend/accesscontrol/ 2>/dev/null)" ]; then 23*4882a593Smuzhiyun ARGS="${ARGS} -C" 24*4882a593Smuzhiyunfi 25*4882a593Smuzhiyun 26*4882a593Smuzhiyuncase "$1" in 27*4882a593Smuzhiyun start) 28*4882a593Smuzhiyun printf "Starting TVHeadend daemon: " 29*4882a593Smuzhiyun if start-stop-daemon -S -q -p ${PIDFILE} -m --exec /usr/bin/tvheadend -- ${ARGS}; then 30*4882a593Smuzhiyun printf "OK\n" 31*4882a593Smuzhiyun else 32*4882a593Smuzhiyun printf "failed\n" 33*4882a593Smuzhiyun fi 34*4882a593Smuzhiyun ;; 35*4882a593Smuzhiyun stop) 36*4882a593Smuzhiyun printf "Stopping TVHeadend daemon: " 37*4882a593Smuzhiyun start-stop-daemon -K -q -p ${PIDFILE} -s TERM 38*4882a593Smuzhiyun sleep 2 39*4882a593Smuzhiyun if start-stop-daemon -K -q -p ${PIDFILE} -t; then 40*4882a593Smuzhiyun printf "failed, killing: " 41*4882a593Smuzhiyun start-stop-daemon -K -q -p ${PIDFILE} -s KILL -o 42*4882a593Smuzhiyun fi 43*4882a593Smuzhiyun printf "OK\n" 44*4882a593Smuzhiyun ;; 45*4882a593Smuzhiyun restart|force-reload) 46*4882a593Smuzhiyun "${0}" stop 47*4882a593Smuzhiyun sleep 2 48*4882a593Smuzhiyun "${0}" start 49*4882a593Smuzhiyun ;; 50*4882a593Smuzhiyun *) 51*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|force-reload}" >&2 52*4882a593Smuzhiyun exit 1 53*4882a593Smuzhiyun ;; 54*4882a593Smuzhiyunesac 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun: 57