Skip to contentSkip to conversation

Various bits related to pulseaudio

PATCH Superseded Christopher Larson 3 participants 11 messages Aug 24, 2015 – Aug 25, 2015

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Various bits related to pulseaudio

From: Christopher Larson <[email protected]>

The following changes since commit c38acd720b3f6ffbeb544063692eb471dada8593:

binconfig-disabled: write an message to stderr to help confused developers (2015-08-19 17:57:58 +0100)

are available in the git repository at:

git://github.com/kergoth/openembedded-core pulseaudio-related-bits
https://github.com/kergoth/openembedded-core/tree/pulseaudio-related-bits

Christopher Larson (5):
libunwind: always depend on libatomics-ops
libatomic-ops: move to recipes-support, fix recipe name packagegroup-core-x11-sato: obey the pulseaudio distro feature
pulseaudio: pass --with-systemduserunitdir
pulseaudio: add 'autospawn-for-root' PACKAGECONFIG

 meta/recipes-devtools/guile/guile_2.0.11.bb        |  2 +-
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc  | 22 ++++++++++++++++++++--
 .../packagegroups/packagegroup-core-x11-sato.bb    |  3 +--
 meta/recipes-support/bdwgc/bdwgc_7.4.2.bb          |  2 +-
 .../libatomic-ops/libatomic-ops_7.4.2.bb}          |  1 +
 meta/recipes-support/libunwind/libunwind.inc       | 11 +----------
 6 files changed, 25 insertions(+), 16 deletions(-)
 rename meta/{recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb => recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb} (96%)
Signature · 1 line
2.2.1
#1 lore raw

PATCH 1/5 libunwind: always depend on libatomics-ops

- Depend on libatomics-ops unconditionally for all archs, as it's used by more than just arm, and currently the configure script auto-detects and enables its use based on the existence of its header, resulting in non-deterministic builds.
- Drop the ldflags bits which link against libatomic_ops, because libunwind doesn't actually link against it, nor does it need to, as it currently uses all inline functions from the header file.

---
 meta/recipes-support/libunwind/libunwind.inc | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)
meta/recipes-support/libunwind/libunwind.inc +1 -10
index 406bbe4..c8eab58 100644
@@ -2,6 +2,7 @@ DESCRIPTION = "a portable and efficient C programming interface (API) to determi
 HOMEPAGE = "http://www.nongnu.org/libunwind"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"
+DEPENDS += "libatomics-ops"
 
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
 
@@ -18,11 +19,6 @@ ATOMICOPS_armv5 = "-DAO_USE_PTHREAD_DEFS=1"
 ATOMICOPS_armv4 = "-DAO_USE_PTHREAD_DEFS=1"
 ATOMICOPS ?= ""
 
-LDFLAGS += "${LIBATOMICS}"
-LIBATOMICS_armv5 = "-latomic_ops"
-LIBATOMICS_armv4 = "-latomic_ops"
-LIBATOMICS ?= ""
-
 LDFLAGS_append_x86 = " -fuse-ld=gold"
 LDFLAGS_append_x86-64 = " -fuse-ld=gold"
 
@@ -32,9 +28,4 @@ LDFLAGS_append_aarch64 = " -fuse-ld=gold"
 LDFLAGS_append_powerpc = " -fuse-ld=gold"
 LDFLAGS_append_powerpc64 = " -fuse-ld=gold"
 
-DEPENDS += "${DEPLIBATOMICS}"
-DEPLIBATOMICS_armv5 = "libatomics-ops"
-DEPLIBATOMICS_armv4 = "libatomics-ops"
-DEPLIBATOMICS ?= ""
-
 BBCLASSEXTEND = "native"
Signature · 1 line
2.2.1
#2 lore raw

PATCH 2/5 libatomic-ops: move to recipes-support, fix recipe name

- This recipe is useful for more than just pulseaudio, so move it to recipes-support.
- Rename to the correct upstream name, which corresponds to the library name. Keep a PROVIDES of libatomics-ops for compatibility.

---
 meta/recipes-devtools/guile/guile_2.0.11.bb                             | 2 +-
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc                       | 2 +-
 meta/recipes-support/bdwgc/bdwgc_7.4.2.bb                               | 2 +-
 .../libatomic-ops/libatomic-ops_7.4.2.bb}                               | 1 +
 meta/recipes-support/libunwind/libunwind.inc                            | 2 +-
 5 files changed, 5 insertions(+), 4 deletions(-)
 rename meta/{recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb => recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb} (96%)
meta/recipes-devtools/guile/guile_2.0.11.bb +1 -1
index 71f696e..4869694 100644
@@ -37,7 +37,7 @@ BBCLASSEXTEND = "native"
 
 DEPENDS = "libunistring bdwgc gmp libtool libffi ncurses readline"
 # add guile-native only to the target recipe's DEPENDS
-DEPENDS_append_class-target = " guile-native libatomics-ops"
+DEPENDS_append_class-target = " guile-native libatomic-ops"
 
 RDEPENDS_${PN}_append_libc-glibc_class-target = "glibc-gconv-iso8859-1"
 
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -1
index 3389ec9..a098473 100644
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \
                     file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84"
 
-DEPENDS = "libatomics-ops liboil libsndfile1 libtool"
+DEPENDS = "libatomic-ops liboil libsndfile1 libtool"
 # optional
 DEPENDS += "udev alsa-lib glib-2.0 dbus gconf"
 DEPENDS += "json-c gdbm speexdsp libxml-parser-perl-native libcap"
meta/recipes-support/bdwgc/bdwgc_7.4.2.bb +1 -1
index 23ec954..1ca8cf7 100644
@@ -36,6 +36,6 @@ inherit autotools pkgconfig
 
 # by default use external libatomic-ops
 PACKAGECONFIG ??= "libatomic-ops"
-PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomics-ops"
+PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops"
 
 BBCLASSEXTEND = "native nativesdk"
meta/recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb renamed from meta/recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb +1 -0
similarity index 96%
rename from meta/recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb
rename to meta/recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb
index 26faabb..4d0e299 100644
@@ -1,6 +1,7 @@
 SUMMARY = "A library for atomic integer operations"
 HOMEPAGE = "https://github.com/ivmai/libatomic_ops/"
 SECTION = "optional"
+PROVIDES += "libatomics-ops"
 LICENSE = "GPLv2 & MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://doc/LICENSING.txt;md5=e00dd5c8ac03a14c5ae5225a4525fa2d \
meta/recipes-support/libunwind/libunwind.inc +1 -1
index c8eab58..6660af2 100644
@@ -2,7 +2,7 @@ DESCRIPTION = "a portable and efficient C programming interface (API) to determi
 HOMEPAGE = "http://www.nongnu.org/libunwind"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"
-DEPENDS += "libatomics-ops"
+DEPENDS += "libatomic-ops"
 
 SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
 
Signature · 1 line
2.2.1
#3 lore raw

Re: [PATCH 2/5] libatomic-ops: move to recipes-support, fix recipe name

Quoted 8 lines · Christopher Larson

- This recipe is useful for more than just pulseaudio, so move it to recipes-support.
- Rename to the correct upstream name, which corresponds to the library name. Keep a PROVIDES of libatomics-ops for compatibility.

There have been few fixes especially for gcc5 see
https://github.com/ivmai/libatomic_ops/commit/437c10b73ae4b83306f77c851cf8385172ae3759
can you also bring those in while you are at it ?

Quoted 84 lines

---

meta/recipes-devtools/guile/guile_2.0.11.bb                             | 2 +-
meta/recipes-multimedia/pulseaudio/pulseaudio.inc                       | 2 +-
meta/recipes-support/bdwgc/bdwgc_7.4.2.bb                               | 2 +-
.../libatomic-ops/libatomic-ops_7.4.2.bb}                               | 1 +
meta/recipes-support/libunwind/libunwind.inc                            | 2 +-
5 files changed, 5 insertions(+), 4 deletions(-)

rename meta/{recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb => recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb} (96%)

meta/recipes-devtools/guile/guile_2.0.11.bb +0 -0
index 71f696e..4869694 100644
@@ -37,7 +37,7 @@ BBCLASSEXTEND = "native"
 

DEPENDS = "libunistring bdwgc gmp libtool libffi ncurses readline"

# add guile-native only to the target recipe's DEPENDS
meta/recipes-devtools/guile/guile_2.0.11.bb +1 -1
-DEPENDS_append_class-target = " guile-native libatomics-ops"
+DEPENDS_append_class-target = " guile-native libatomic-ops"

RDEPENDS_${PN}_append_libc-glibc_class-target = "glibc-gconv-iso8859-1"

meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -1
index 3389ec9..a098473 100644
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://GPL;md5=4325afd396febcb659c36b49533135d4 \
                    file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                    file://src/pulsecore/resampler.h;beginline=4;endline=21;md5=09794012ae16912c0270f3280cc8ff84"
 
-DEPENDS = "libatomics-ops liboil libsndfile1 libtool"
+DEPENDS = "libatomic-ops liboil libsndfile1 libtool"
 # optional

DEPENDS += "udev alsa-lib glib-2.0 dbus gconf"
DEPENDS += "json-c gdbm speexdsp libxml-parser-perl-native libcap"

meta/recipes-support/bdwgc/bdwgc_7.4.2.bb +0 -0
index 23ec954..1ca8cf7 100644
@@ -36,6 +36,6 @@ inherit autotools pkgconfig
 
 # by default use external libatomic-ops

PACKAGECONFIG ??= "libatomic-ops"

meta/recipes-support/bdwgc/bdwgc_7.4.2.bb +1 -1
-PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomics-ops"
+PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops"

BBCLASSEXTEND = "native nativesdk"

meta/recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb renamed from meta/recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb +0 -0
similarity index 96%
rename from meta/recipes-multimedia/pulseaudio/libatomics-ops_7.4.2.bb
rename to meta/recipes-support/libatomic-ops/libatomic-ops_7.4.2.bb
index 26faabb..4d0e299 100644
@@ -1,6 +1,7 @@

SUMMARY = "A library for atomic integer operations" HOMEPAGE = "https://github.com/ivmai/libatomic_ops/" SECTION = "optional"
+PROVIDES += "libatomics-ops"
LICENSE = "GPLv2 & MIT"

LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                    file://doc/LICENSING.txt;md5=e00dd5c8ac03a14c5ae5225a4525fa2d \
meta/recipes-support/libunwind/libunwind.inc +0 -0
index c8eab58..6660af2 100644
@@ -2,7 +2,7 @@ DESCRIPTION = "a portable and efficient C programming interface (API) to determi

HOMEPAGE = "http://www.nongnu.org/libunwind"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"

meta/recipes-support/libunwind/libunwind.inc +1 -1
-DEPENDS += "libatomics-ops"
+DEPENDS += "libatomic-ops"

SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"

--
2.2.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#4 lore raw

Re: [PATCH 2/5] libatomic-ops: move to recipes-support, fix recipe name

Quoted 6 lines · Khem Raj
Quoted 1 line

On Aug 24, 2015, at 3:19 PM, Christopher Larson <[email protected]>

Quoted 4 lines · wrote:

- This recipe is useful for more than just pulseaudio, so move it to recipes-support.
- Rename to the correct upstream name, which corresponds to the library

Quoted 8 lines

name.

Quoted 2 lines

Keep a PROVIDES of libatomics-ops for compatibility.

There have been few fixes especially for gcc5 see

https://github.com/ivmai/libatomic_ops/commit/437c10b73ae4b83306f77c851cf8385172ae3759
can you also bring those in while you are at it ?

I'll add a todo to do that as an additional patch so it doesn't block this going in.

Signature · 5 lines
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
#5 lore raw

PATCH 3/5 packagegroup-core-x11-sato: obey the pulseaudio distro feature

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

---
 meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb +1 -2
index 04d1e99..e0b1f51 100644
@@ -39,8 +39,7 @@ RDEPENDS_${PN}-base = "\
     libsdl \
     ${NETWORK_MANAGER} \
     udev-extraconf \
-    pulseaudio-server \
-    pulseaudio-client-conf-sato \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio-server pulseaudio-client-conf-sato', '', d)} \
     "
 
 # pcmanfm doesn't work on mips
Signature · 1 line
2.2.1
#6 lore raw

PATCH 4/5 pulseaudio: pass --with-systemduserunitdir

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

We want to make sure our path variables are obeyed.

---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -1
index a098473..6199dcd 100644
@@ -43,7 +43,7 @@ PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc"
 PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
 PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono"
 PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
-PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal,--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
+PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal --with-systemduserunitdir=${systemd_user_unitdir},--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
 PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb"
 PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
 PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
Signature · 1 line
2.2.1
#7 lore raw

PATCH 5/5 pulseaudio: add 'autospawn-for-root' PACKAGECONFIG

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

Since many embedded systems don't have non-root users, it's useful to be able to use pulseaudio autospawn for root as well.

---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +18 -0
index 6199dcd..70009d0 100644
@@ -47,6 +47,11 @@ PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enabl
 PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb"
 PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
 PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+# Since many embedded systems don't have non-root users, it's useful to be
+# able to use pulseaudio autospawn for root as well. Autospawn will only be
+# used if the systemd packageconfig is not enabled, otherwise it will rely on
+# systemd's user services to spawn it.
+PACKAGECONFIG[autospawn-for-root] = ",,,"
 
 EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
 EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
@@ -59,6 +64,19 @@ export TARGET_PFPU = "${TARGET_FPU}"
 OE_LT_RPATH_ALLOW = "any"
 OE_LT_RPATH_ALLOW[export]="1"
 
+set_cfg_value () {
+	sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1"
+	if ! grep -q "^$2 = $3\$" "$1"; then
+		die "Use of sed to set '$2' to '$3' in '$1' failed"
+	fi
+}
+
+do_compile_append () {
+	if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root', 'true', 'false', d)}; then
+		set_cfg_value src/client.conf allow-autospawn-for-root yes
+	fi
+}
+
 do_install_append() {
 	install -d ${D}${sysconfdir}/default/volatiles
 	install -m 0644 ${WORKDIR}/volatiles.04_pulse  ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse
Signature · 1 line
2.2.1
#8 lore raw

Re: [PATCH 5/5] pulseaudio: add 'autospawn-for-root' PACKAGECONFIG

Quoted 16 lines · Christopher Larson

From: Christopher Larson <[email protected]>

Since many embedded systems don't have non-root users, it's useful to be able to use pulseaudio autospawn for root as well.

---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 18 
++++++++++++++++++
 1 file changed, 18 insertions(+)
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +0 -0
index 6199dcd..70009d0 100644

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enabl · line 53

Quoted 7 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +4 -0
@@ -47,6 +47,11 @@ PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enabl
 PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb"
 PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
 PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+# Since many embedded systems don't have non-root users, it's useful to be
+# able to use pulseaudio autospawn for root as well. Autospawn will only be
+# used if the systemd packageconfig is not enabled, otherwise it will rely on
+# systemd's user services to spawn it.

The latter sentence is incorrect. Having systemd enabled does not currently have any effect on autospawning. The systemd service and socket files get installed, but not enabled by default, because the D -Bus session socket is not available to services that are started by systemd, which causes some trouble for PulseAudio. Once D-Bus works better out of the box, systemd socket activation will be enabled for PulseAudio, but until then we will rely on PulseAudio's own autospawning.

Quoted 10 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +3 -0
+PACKAGECONFIG[autospawn-for-root] = ",,,"
 
 EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
 EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
@@ -59,6 +64,19 @@ export TARGET_PFPU = "${TARGET_FPU}"
 OE_LT_RPATH_ALLOW = "any"
 OE_LT_RPATH_ALLOW[export]="1"
 
+set_cfg_value () {
+	sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1"

meta/recipes-multimedia/pulseaudio/pulseaudio.inc export TARGET_PFPU = "${TARGET_FPU}" · line 78

Quoted 10 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +10 -0
+	if ! grep -q "^$2 = $3\$" "$1"; then
+		die "Use of sed to set '$2' to '$3' in '$1' failed"
+	fi
+}
+
+do_compile_append () {
+	if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root', 'true', 'false', d)}; then
+		set_cfg_value src/client.conf allow-autospawn-for-root yes
+	fi
+}

I think a configure option like --allow-autospawn-for-root-by-default would be nicer than patching configuration files like this. What do you (and others) think? I'm not against applying this patch for now, but if I'm not alone with this preference, I'll add the configure option later myself.

Signature · 1 line
Tanu
#9 lore raw

Re: [PATCH 5/5] pulseaudio: add 'autospawn-for-root' PACKAGECONFIG

Quoted 32 lines · Tanu Kaskinen
Quoted 3 lines · Christopher Larson

From: Christopher Larson <[email protected]>

Since many embedded systems don't have non-root users, it's useful to be

able

Review

Quoted 9 lines

to use pulseaudio autospawn for root as well.

---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 18
++++++++++++++++++
 1 file changed, 18 insertions(+)
(quoted diff) +0 -0

b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon

Quoted 4 lines

index 6199dcd..70009d0 100644

meta/recipes-multimedia/pulseaudio/pulseaudio.inc +0 -0
@@ -47,6 +47,11 @@ PACKAGECONFIG[systemd] = "--enable-systemd-daemon

--enable-systemd-login --enabl

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon · line 47

Quoted 1 line
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +0 -0
 PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst

libice libsm libxcb"

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enabl

Quoted 3 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -0
 PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
 PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+# Since many embedded systems don't have non-root users, it's useful to

be

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon · line 51

Quoted 1 line
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -0
+# able to use pulseaudio autospawn for root as well. Autospawn will

only be

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon · line 52

Quoted 1 line
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -0
+# used if the systemd packageconfig is not enabled, otherwise it will

rely on

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enabl · line 53

Quoted 1 line
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +1 -0
+# systemd's user services to spawn it.
Quoted 9 lines

The latter sentence is incorrect. Having systemd enabled does not currently have any effect on autospawning. The systemd service and socket files get installed, but not enabled by default, because the D -Bus session socket is not available to services that are started by systemd, which causes some trouble for PulseAudio. Once D-Bus works better out of the box, systemd socket activation will be enabled for PulseAudio, but until then we will rely on PulseAudio's own autospawning.

Ah, thanks for the clarification. I'll just remove the second sentence entirely.

Quoted 24 lines

+PACKAGECONFIG[autospawn-for-root] = ",,,"

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon · line 54

Quoted 2 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +0 -0
 EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES",

"neon", "", " --enable-neon-opt=no", d)}"

meta/recipes-multimedia/pulseaudio/pulseaudio.inc PACKAGECONFIG[systemd] = "--enable-systemd-daemon · line 55

Quoted 1 line
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +0 -0
 EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES",

"neon", "", " --enable-neon-opt=no", d)}"

meta/recipes-multimedia/pulseaudio/pulseaudio.inc export TARGET_PFPU = "${TARGET_FPU}" · line 75

Quoted 13 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +9 -0
@@ -59,6 +64,19 @@ export TARGET_PFPU = "${TARGET_FPU}"
 OE_LT_RPATH_ALLOW = "any"
 OE_LT_RPATH_ALLOW[export]="1"
 
+set_cfg_value () {
+     sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1"
+     if ! grep -q "^$2 = $3\$" "$1"; then
+             die "Use of sed to set '$2' to '$3' in '$1' failed"
+     fi
+}
+
+do_compile_append () {
+     if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root',

'true', 'false', d)}; then

meta/recipes-multimedia/pulseaudio/pulseaudio.inc export TARGET_PFPU = "${TARGET_FPU}" · line 78

Quoted 3 lines
meta/recipes-multimedia/pulseaudio/pulseaudio.inc +3 -0
+             set_cfg_value src/client.conf allow-autospawn-for-root yes
+     fi
+}
Quoted 5 lines

I think a configure option like --allow-autospawn-for-root-by-default would be nicer than patching configuration files like this. What do you (and others) think? I'm not against applying this patch for now, but if I'm not alone with this preference, I'll add the configure option later myself.

It needs to stay a runtime configuration file option for administrators, no? We're just changing the default. So I'm not sure that having a configure option do it or us do it really changes all that much, particularly since it's probably unlikely that upstream would be interested in such a patch.

That said, I don't feel at all strongly about it, so if others would rather see a configure option, go for it.

Signature · 5 lines
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
#10 lore raw

Re: [PATCH 5/5] pulseaudio: add 'autospawn-for-root' PACKAGECONFIG

Quoted 9 lines · Christopher Larson
Quoted 5 lines · Tanu Kaskinen

I think a configure option like --allow-autospawn-for-root-by-default would be nicer than patching configuration files like this. What do you (and others) think? I'm not against applying this patch for now, but if I'm not alone with this preference, I'll add the configure option later myself.

Quoted 5 lines

It needs to stay a runtime configuration file option for administrators, no? We're just changing the default. So I'm not sure that having a configure option do it or us do it really changes all that much, particularly since it's probably unlikely that upstream would be interested in such a patch.

Yes, the configure option would not change things much, the only point would be to make it slightly easier for embedded system builders to change the configuration. Setting a configure option should be simpler than patching the configuration file. Having this in upstream would make sense, because this issue is not specific to OpenEmbedded.

Signature · 1 line
Tanu