summaryrefslogtreecommitdiff
path: root/multimedia/freevo/files/freevo.in
blob: 08cb5465333d36ee1af6acc3eb5f81baaf6bdc4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/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="%%PYTHON_CMD%%"

# freevo needs PATH set so it can determine python version
export PATH=/bin:/usr/bin:%%PREFIX%%/bin:${freevo_dir}/bin

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