[Buildroot] [PATCH 1/1] add daemon mode support to pulseaudio
Peter Korsgaard
jacmet at uclibc.org
Sat May 4 15:16:07 UTC 2013
>>>>> "Jérémy" == Jérémy Rosen <jeremy.rosen at openwide.fr> writes:
Jérémy> pulseaudio documentation recommands not using the daemon mode unless you
Jérémy> are on a headless system, but since that is the common case for a
Jérémy> buildroot installation, install the related user and groups
Jérémy> Signed-off-by: Jérémy Rosen <jeremy.rosen at openwide.fr>
Jérémy> ---
Jérémy> package/multimedia/pulseaudio/Config.in | 10 +++++++
Jérémy> package/multimedia/pulseaudio/S50pulseaudio | 39 +++++++++++++++++++++++++++
Jérémy> package/multimedia/pulseaudio/pulseaudio.mk | 13 +++++++++
Jérémy> 3 files changed, 62 insertions(+)
Jérémy> create mode 100755 package/multimedia/pulseaudio/S50pulseaudio
Jérémy> diff --git a/package/multimedia/pulseaudio/Config.in b/package/multimedia/pulseaudio/Config.in
Jérémy> index 03c2613..bdc87ba 100644
Jérémy> --- a/package/multimedia/pulseaudio/Config.in
Jérémy> +++ b/package/multimedia/pulseaudio/Config.in
Jérémy> @@ -19,5 +19,15 @@ config BR2_PACKAGE_PULSEAUDIO
Jérémy> http://pulseaudio.org
Jérémy> +config BR2_PACKAGE_PULSEAUDIO_DAEMON
Jérémy> + bool "start pulseaudio as a system daemon"
Jérémy> + depends on BR2_PACKAGE_PULSEAUDIO
Jérémy> + help
Jérémy> + PulseAudio can be started as a system daemon. This is not the
Jérémy> + recommanded way of using PulseAudio unless you are building a
Jérémy> + headless system
Jérémy> +
Jérémy> +
Jérémy> comment "pulseaudio requires a toolchain with WCHAR, LARGEFILE and threads support"
Jérémy> depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
Jérémy> +
Jérémy> diff --git a/package/multimedia/pulseaudio/S50pulseaudio b/package/multimedia/pulseaudio/S50pulseaudio
Jérémy> new file mode 100755
Jérémy> index 0000000..be71022
Jérémy> --- /dev/null
Jérémy> +++ b/package/multimedia/pulseaudio/S50pulseaudio
Jérémy> @@ -0,0 +1,39 @@
Jérémy> +#!/bin/sh
Jérémy> +#
Jérémy> +# Starts pulseaudio.
Jérémy> +#
Jérémy> +
Jérémy> +
Jérémy> +start() {
Jérémy> + echo -n "Starting pulseaudio: "
Jérémy> + umask 077
Jérémy> + /usr/bin/pulseaudio --system --daemonize
Jérémy> + echo "OK"
Jérémy> +}
Jérémy> +stop() {
Jérémy> + echo -n "Stopping pulseaudio: "
Jérémy> + pulseaudio --kill
Jérémy> + echo "OK"
Jérémy> +}
Jérémy> +restart() {
Jérémy> + stop
Jérémy> + start
Jérémy> +}
Jérémy> +
Jérémy> +case "$1" in
Jérémy> + start)
Jérémy> + start
Jérémy> + ;;
Jérémy> + stop)
Jérémy> + stop
Jérémy> + ;;
You use a mix of spaces and tabs for indentation in this script.
Jérémy> + restart|reload)
Jérémy> + restart
Jérémy> + ;;
Jérémy> + *)
Jérémy> + echo "Usage: $0 {start|stop|restart}"
Jérémy> + exit 1
Jérémy> +esac
Jérémy> +
Jérémy> +exit $?
Jérémy> +
Jérémy> diff --git a/package/multimedia/pulseaudio/pulseaudio.mk b/package/multimedia/pulseaudio/pulseaudio.mk
Jérémy> index e78eb42..d326dcc 100644
Jérémy> --- a/package/multimedia/pulseaudio/pulseaudio.mk
Jérémy> +++ b/package/multimedia/pulseaudio/pulseaudio.mk
Jérémy> @@ -84,4 +84,17 @@ endef
Jérémy> PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA
Jérémy> endif
Jérémy> +ifeq($(BR2_PACKAGE_PULSEAUDIO_DAEMON);y)
That seems wrong. It should be:
ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y)
Jérémy> +define PULSEAUDIO_USERS
Jérémy> + pulse -1 pulse -1 * /var/run/pulse - audio,pulse-access
Jérémy> +endef
Jérémy> +
Jérémy> +define PULSEAUDIO_INSTALL_INIT_SYSV
Jérémy> + [ -f $(TARGET_DIR)/etc/init.d/S50pulseaudio ] || \
Jérémy> + $(INSTALL) -D -m 755 package/multimedia/pulseaudio/S50pulseaudio \
Jérémy> + $(TARGET_DIR)/etc/init.d/S50pulseaudio
Jérémy> +endef
As we now have support for post-build scripts, we no longer need the
hack about checking if the script is already present in the skeleton, so
that can be removed.
Committed with these fixes (and the typos Thomas pointed out), thanks.
Are you actively using pulseaudio? 3.0 got released some months ago,
care to test and send a patch to upgrade to it?
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list