aboutsummaryrefslogtreecommitdiffstats
path: root/community/pulseaudio/pulseaudio.initd
blob: 6dc11bf82b26e59c987bf701605b3216b1e11efd (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
# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/files/pulseaudio.init.d-5,v 1.1 2011/03/27 16:58:49 ssuominen Exp $

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} alsa" # in Alpine install alsa-utils to provide /etc/init.d/alsa (not alsasound as in Gentoo).
	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.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"
		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 $?
}