summaryrefslogtreecommitdiff
blob: 099edd3441107b831fefd00e35b4a79754a389a8 (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
81
#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

depend() {
	need localmount
	use net

	local script="/etc/pulse/system.pa"

	for opt in ${PA_OPTS}; do
		case "$opt" in
			--file=*)	script="${opt#*=}" ;;
			-F*)		script="${opt#-F}" ;;
		esac
	done

	config "$script"

	local needs="$(get_options need)"
	if [ -n "${needs}" ]; then
		need ${needs}
		return
	fi

	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-console-kit' "$script"; then
	    needs="${needs} consolekit"
	fi

#ifdef UDEV
	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-udev-detect' "$script"; then
	    needs="${needs} udev"
	fi
#endif

#ifdef AVAHI
	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-zeroconf-publish' "$script"; then
	    needs="${needs} avahi-daemon"
	fi
#endif

#ifdef BLUETOOTH
	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-bt-proximity' "$script"; then
	    needs="${needs} bluetooth"
	fi
#endif

#ifdef ALSA
	if egrep -q '^[[:space:]]*load-module[[:space:]]+module-alsa-(sink|source)' "$script" || 
	    egrep -q '^[[:space:]]*load-module[[:space:]]+module-(udev-)?detect' "$script" ||
	    egrep -q '^[[:space:]]*add-autoload-source[[:space:]]+(input|output)[[:space:]]+module-alsa-(sink|source)' "$script"; then
	    needs="${needs} alsasound"
	fi
#endif

	need "${needs}"
	save_options need "${needs}"
}

start() {
	if [ -z "${PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE}" ]; then
		eerror "Please don't use system wide PulseAudio unless you read the"
		eerror "documentation available at http://www.pulseaudio.org/wiki/WhatIsWrongWithSystemMode"
		eerror ""
		eerror "When you're done, please set the variable PULSEAUDIO_SHOULD_NOT_GO_SYSTEMWIDE in"
		eerror "/etc/conf.d/pulseaudio . Please remember that upstream does not support this mode"
		eerror "when used for standard desktop configurations."
		return 1
	fi
	ebegin "Starting pulseaudio"
	PA_ALL_OPTS="${PA_OPTS} --fail=1 --daemonize=1 --system"
	start-stop-daemon --start --exec /usr/bin/pulseaudio -- ${PA_ALL_OPTS}
	eend $?
}

stop() {
	ebegin "Stopping pulseaudio"
	start-stop-daemon --stop --quiet --exec /usr/bin/pulseaudio --pidfile /var/run/pulse/pid
	eend $?
}