#!/bin/sh # # $FreeBSD$ # # PROVIDE: freevo # REQUIRE: LOGIN # KEYWORD: shutdown # Uses the following /etc/rc.conf variables: # freevo_enable="YES" master on/off # freevo_recordserver_enable="YES" start freevo record server # freevo_webserver_enable="YES" start freevo web server # freevo_gui_enable="YES" start freevo GUI . /etc/rc.subr name=freevo rcvar=freevo_enable load_rc_config ${name} : ${freevo_enable:="NO"} : ${freevo_recordserver_enable:="NO"} : ${freevo_webserver_enable:="NO"} : ${freevo_gui_enable:="NO"} freevo_user=${freevo_user:-"freevo"} freevo_group=${freevo_group:-"freevo"} freevo_uid=`pw usershow ${freevo_user} | awk -F: '{print $3}'` freevo_dir=`pw usershow ${freevo_user} | awk -F: '{print $9}'` command="%%PREFIX%%/bin/freevo" command_interpreter="%%PREFIX%%/bin/%%PYTHON_VERSION%%" cd ${freevo_dir} msg() { case "${no_msg}" in 1) ;; *) echo "$@" ;; esac } freevo_start() { [ ${freevo_recordserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --daemon recordserver" && msg Starting freevo recordserver. [ ${freevo_webserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --daemon webserver" && msg Starting freevo webserver. [ ${freevo_gui_enable} = "YES" ] && su ${freevo_user} -c "${command} --daemon" && msg Starting freevo GUI. } freevo_stop() { [ ${freevo_gui_enable} = "YES" ] && su ${freevo_user} -c "${command} --stop" && msg Stopping freevo GUI. [ ${freevo_webserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --stop webserver" && msg Stopping freevo webserver. [ ${freevo_recordserver_enable} = "YES" ] && su ${freevo_user} -c "${command} --stop recordserver" && msg Stopping freevo recordserver. } case "$1" in start|faststart|onestart) freevo_start ;; quietstart) no_msg=1 freevo_start ;; stop|faststop|onestop) freevo_stop ;; quietstop) no_msg=1 freevo_stop ;; restart) freevo_stop freevo_start ;; esac