[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