add daemon mode support to pulseaudio

pulseaudio documentation recommends not using the daemon mode unless you
are on a headless system, but since that is the common case for a
buildroot installation, install the related user and groups

[Peter: fix typos, ifeq check, unconditionally install into target]
Signed-off-by: Jérémy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Jeremy Rosen 2013-05-03 02:35:22 +00:00 committed by Peter Korsgaard
parent e5627bd798
commit d26b5a26b9
3 changed files with 59 additions and 0 deletions

View File

@ -19,5 +19,13 @@ config BR2_PACKAGE_PULSEAUDIO
http://pulseaudio.org
config BR2_PACKAGE_PULSEAUDIO_DAEMON
bool "start as a system daemon"
depends on BR2_PACKAGE_PULSEAUDIO
help
PulseAudio can be started as a system daemon. This is not the
recommended way of using PulseAudio unless you are building a
headless system.
comment "pulseaudio requires a toolchain with WCHAR, LARGEFILE and threads support"
depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1,39 @@
#!/bin/sh
#
# Starts pulseaudio.
#
start() {
echo -n "Starting pulseaudio: "
umask 077
/usr/bin/pulseaudio --system --daemonize
echo "OK"
}
stop() {
echo -n "Stopping pulseaudio: "
pulseaudio --kill
echo "OK"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@ -84,4 +84,16 @@ endef
PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA
endif
ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y)
define PULSEAUDIO_USERS
pulse -1 pulse -1 * /var/run/pulse - audio,pulse-access
endef
define PULSEAUDIO_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/multimedia/pulseaudio/S50pulseaudio \
$(TARGET_DIR)/etc/init.d/S50pulseaudio
endef
endif
$(eval $(autotools-package))