All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Enable PulseAudio in Sato images
@ 2015-05-22 18:51 Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 1/5] alsa-plugins: initial recipe Tanu Kaskinen
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Tanu Kaskinen @ 2015-05-22 18:51 UTC (permalink / raw)
  To: openembedded-core

Changes in v3:
  - Added alsa-plugins package, which depends on all the individual
    plugin packages.
  - Re-enabled the implicitly created alsa-plugins-dev package.

The following changes since commit c78eb923c20533a1b9fbab462c809b2652fac425:

  xvinfo: upgrade to 1.1.3 (2015-05-21 10:48:48 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib tanuk/sato-pulseaudio-v3
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sato-pulseaudio-v3

Tanu Kaskinen (5):
  alsa-plugins: initial recipe
  pulseaudio: client-conf: Add allow-autospawn-for-root
  pulseaudio: conf-parser: add support for .d directories
  pulseaudio-client-conf-sato: initial recipe
  packagegroup-core-x11-sato: add PulseAudio

 .../recipes-multimedia/alsa/alsa-plugins_1.0.29.bb | 100 +++++++++++
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc  |   5 +
 ...-client-conf-Add-allow-autospawn-for-root.patch |  92 ++++++++++
 ...onf-parser-add-support-for-.d-directories.patch | 196 +++++++++++++++++++++
 .../pulseaudio/pulseaudio_6.0.bb                   |   2 +
 .../packagegroups/packagegroup-core-x11-sato.bb    |   2 +
 .../pulseaudio-client-conf-sato/50-sato.conf       |   7 +
 .../pulseaudio-client-conf-sato_1.bb               |  17 ++
 8 files changed, 421 insertions(+)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb
 create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch
 create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-conf-parser-add-support-for-.d-directories.patch
 create mode 100644 meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf
 create mode 100644 meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb

-- 
1.9.3



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v3 1/5] alsa-plugins: initial recipe
  2015-05-22 18:51 [PATCH v3 0/5] Enable PulseAudio in Sato images Tanu Kaskinen
@ 2015-05-22 18:51 ` Tanu Kaskinen
  2015-05-24  6:25   ` Richard Purdie
  2015-05-22 18:51 ` [PATCH v3 2/5] pulseaudio: client-conf: Add allow-autospawn-for-root Tanu Kaskinen
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Tanu Kaskinen @ 2015-05-22 18:51 UTC (permalink / raw)
  To: openembedded-core

When PulseAudio is installed, alsa-plugins is needed to provide
compatibility for ALSA applications.

The dependencies are set up so that pulseaudio-server depends on
alsa-plugins-pulseaudio-conf, and alsa-plugins-pulseaudio-conf depends
on the PulseAudio plugins. This should make the ALSA->PulseAudio
compatibility configuration work out of the box, while leaving the
PulseAudio specific configuration out on systems that don't have
pulseaudio-server installed.

The alsa-plugins recipes in meta-guacamayo and meta-webos were used as
references, but this recipe is not a straight copy of either.

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
---
 .../recipes-multimedia/alsa/alsa-plugins_1.0.29.bb | 100 +++++++++++++++++++++
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc  |   5 ++
 2 files changed, 105 insertions(+)
 create mode 100644 meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb

diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb
new file mode 100644
index 0000000..39ed5fa
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb
@@ -0,0 +1,100 @@
+DESCRIPTION = "ALSA Plugins"
+HOMEPAGE = "http://alsa-project.org"
+SECTION = "multimedia"
+
+# The primary license of alsa-plugins is LGPLv2.1.
+#
+# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the
+# build system, and doesn't affect the licensing of the build result.
+#
+# The samplerate plugin source code is licensed under GPLv2+ to be consistent
+# with the libsamplerate license.
+LICENSE = "LGPLv2.1 & GPLv2+"
+LIC_FILES_CHKSUM = "\
+        file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 \
+        file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
+        file://m4/attributes.m4;endline=33;md5=b25958da44c02231e3641f1bccef53eb \
+        file://rate/rate_samplerate.c;endline=19;md5=f3d3ce0b189846a486517d97a854b276 \
+"
+
+SRC_URI = "ftp://ftp.alsa-project.org/pub/plugins/${BP}.tar.bz2"
+SRC_URI[md5sum] = "a66797b4471e3cbe96575207bfbe252c"
+SRC_URI[sha256sum] = "325d85cac285f632b83e0191ae3f348bad03c1f007b937042f164abb81ea6532"
+
+DEPENDS += "alsa-lib"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "\
+        samplerate \
+        speex \
+        ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
+"
+PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec,libav"
+PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[maemo-plugin] = "--enable-maemo-plugin,--disable-maemo-plugin"
+PACKAGECONFIG[maemo-resource-manager] = "--enable-maemo-resource-manager,--disable-maemo-resource-manager,dbus"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
+PACKAGECONFIG[samplerate] = "--enable-samplerate,--disable-samplerate,libsamplerate0"
+PACKAGECONFIG[speex] = "--with-speex=lib,--with-speex=no,speex"
+
+PACKAGES += "alsa-plugins-pulseaudio-conf"
+
+PACKAGES_DYNAMIC = "^libasound-module-.*"
+
+# The alsa-plugins package doesn't itself contain anything, it just depends on
+# all built plugins.
+ALLOW_EMPTY_${PN} = "1"
+
+do_install_append() {
+	rm ${D}${libdir}/alsa-lib/*.la
+
+	# We use the example as is, so just drop the .example suffix.
+	mv ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.example ${D}${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf
+}
+
+python populate_packages_prepend() {
+    plugindir = bb.data.expand('${libdir}/alsa-lib/', d)
+    packages = " ".join(do_split_packages(d, plugindir, '^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends=''))
+    d.setVar("RDEPENDS_alsa-plugins", packages)
+}
+
+# The rate plugins create some symlinks. For example, the samplerate plugin
+# creates these links to the main plugin file:
+#
+#   libasound_module_rate_samplerate_best.so
+#   libasound_module_rate_samplerate_linear.so
+#   libasound_module_rate_samplerate_medium.so
+#   libasound_module_rate_samplerate_order.so
+#
+# The other rate plugins create similar links. We have to add the links to
+# FILES manually, because do_split_packages() skips the links (which is good,
+# because we wouldn't want do_split_packages() to create separate packages for
+# the symlinks).
+#
+# The symlinks cause QA errors, because usually it's a bug if a non
+# -dev/-dbg/-nativesdk package contains links to .so files, but in this case
+# the errors are false positives, so we disable the QA checks.
+FILES_libasound-module-rate-lavcrate += "${libdir}/alsa-lib/*rate_lavcrate_*.so"
+FILES_libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
+FILES_libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
+INSANE_SKIP_libasound-module-rate-lavcrate = "dev-so"
+INSANE_SKIP_libasound-module-rate-samplerate = "dev-so"
+INSANE_SKIP_libasound-module-rate-speexrate = "dev-so"
+
+FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
+
+# 50-pulseaudio.conf defines a device named "pulse" that applications can use
+# if they explicitly want to use the PulseAudio plugin.
+# 99-pulseaudio-default.conf configures the "default" device to use the
+# PulseAudio plugin.
+FILES_${PN}-pulseaudio-conf += "\
+        ${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \
+        ${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \
+"
+
+RDEPENDS_${PN}-pulseaudio-conf += "\
+        libasound-module-conf-pulse \
+        libasound-module-ctl-pulse \
+        libasound-module-pcm-pulse \
+"
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index d6ddc3b..30fe221 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -149,6 +149,11 @@ RDEPENDS_pulseaudio-server = " \
     pulseaudio-module-role-cork \
     pulseaudio-module-switch-on-port-available"
 
+# If the server is installed, it's usually desirable to make ALSA applications
+# use PulseAudio. alsa-plugins-pulseaudio-conf will install the configuration
+# that makes the PulseAudio plugin the default ALSA device.
+RDEPENDS_pulseaudio-server += "alsa-plugins-pulseaudio-conf"
+
 RDEPENDS_pulseaudio-module-console-kit =+ "consolekit"
 RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
 
-- 
1.9.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 2/5] pulseaudio: client-conf: Add allow-autospawn-for-root
  2015-05-22 18:51 [PATCH v3 0/5] Enable PulseAudio in Sato images Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 1/5] alsa-plugins: initial recipe Tanu Kaskinen
@ 2015-05-22 18:51 ` Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 3/5] pulseaudio: conf-parser: add support for .d directories Tanu Kaskinen
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Tanu Kaskinen @ 2015-05-22 18:51 UTC (permalink / raw)
  To: openembedded-core

This is related to enabling PulseAudio in Sato images. Sato doesn't
have regular users; the graphical session is run as root. PulseAudio
disables autospawning for root, but in Sato that's not the desired
behaviour. This patch allows autospawning to be enabled for root in
systems where that makes sense.

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
---
 ...-client-conf-Add-allow-autospawn-for-root.patch | 92 ++++++++++++++++++++++
 .../pulseaudio/pulseaudio_6.0.bb                   |  1 +
 2 files changed, 93 insertions(+)
 create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch
new file mode 100644
index 0000000..d19eb7c
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-client-conf-Add-allow-autospawn-for-root.patch
@@ -0,0 +1,92 @@
+From 1cb5647f76dc8cd7bacbce2a64fac9e6c2dc3b16 Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
+Date: Tue, 28 Apr 2015 14:32:43 +0300
+Subject: [PATCH] client-conf: Add allow-autospawn-for-root
+
+Usually autospawning for root is a bad idea, since it can easily
+interfere with other users' PulseAudio instances, but in embedded
+environments where only root exists, autospawning is fine.
+
+Upstream-Status: Submitted [http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23549]
+
+Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
+---
+ man/pulse-client.conf.5.xml.in | 9 +++++++++
+ src/pulse/client-conf.c        | 1 +
+ src/pulse/client-conf.h        | 1 +
+ src/pulse/client.conf.in       | 1 +
+ src/pulse/context.c            | 2 +-
+ 5 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/man/pulse-client.conf.5.xml.in b/man/pulse-client.conf.5.xml.in
+index 1002dbe..0058490 100644
+--- a/man/pulse-client.conf.5.xml.in
++++ b/man/pulse-client.conf.5.xml.in
+@@ -71,6 +71,15 @@ License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+     </option>
+ 
+     <option>
++      <p><opt>allow-autospawn-for-root=</opt> Allow autospawning also for root.
++      Takes a boolean value, defaults to <opt>no</opt>. If the <opt>autospawn
++      </opt> option is disabled, this option has no effect. Autospawning for
++      root is disabled by default, because running PulseAudio as root will
++      interfere with regular users' PulseAudio instances. This option should be
++      enabled only in environments where there are no regular users at all.</p>
++    </option>
++
++    <option>
+       <p><opt>daemon-binary=</opt> Path to the PulseAudio daemon to
+       run when autospawning. Defaults to a path configured at compile
+       time.</p>
+diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
+index 83331f8..0474583 100644
+--- a/src/pulse/client-conf.c
++++ b/src/pulse/client-conf.c
+@@ -138,6 +138,7 @@ void pa_client_conf_load(pa_client_conf *c, bool load_from_x11, bool load_from_e
+         { "default-server",         pa_config_parse_string,   &c->default_server, NULL },
+         { "default-dbus-server",    pa_config_parse_string,   &c->default_dbus_server, NULL },
+         { "autospawn",              pa_config_parse_bool,     &c->autospawn, NULL },
++        { "allow-autospawn-for-root", pa_config_parse_bool,   &c->allow_autospawn_for_root, NULL },
+         { "cookie-file",            pa_config_parse_string,   &c->cookie_file_from_client_conf, NULL },
+         { "disable-shm",            pa_config_parse_bool,     &c->disable_shm, NULL },
+         { "enable-shm",             pa_config_parse_not_bool, &c->disable_shm, NULL },
+diff --git a/src/pulse/client-conf.h b/src/pulse/client-conf.h
+index eac705a..131393a 100644
+--- a/src/pulse/client-conf.h
++++ b/src/pulse/client-conf.h
+@@ -38,6 +38,7 @@ typedef struct pa_client_conf {
+     char *cookie_file_from_application;
+     char *cookie_file_from_client_conf;
+     bool autospawn, disable_shm, auto_connect_localhost, auto_connect_display;
++    bool allow_autospawn_for_root;
+     size_t shm_size;
+ } pa_client_conf;
+ 
+diff --git a/src/pulse/client.conf.in b/src/pulse/client.conf.in
+index 26b7790..69830ef 100644
+--- a/src/pulse/client.conf.in
++++ b/src/pulse/client.conf.in
+@@ -23,6 +23,7 @@
+ ; default-dbus-server =
+ 
+ ; autospawn = yes
++; allow-autospawn-for-root = no
+ ; daemon-binary = @PA_BINARY@
+ ; extra-arguments = --log-target=syslog
+ 
+diff --git a/src/pulse/context.c b/src/pulse/context.c
+index 4bc445f..d6c3f6d 100644
+--- a/src/pulse/context.c
++++ b/src/pulse/context.c
+@@ -976,7 +976,7 @@ int pa_context_connect(
+     if (!(flags & PA_CONTEXT_NOAUTOSPAWN) && c->conf->autospawn) {
+ 
+ #ifdef HAVE_GETUID
+-        if (getuid() == 0)
++        if (!c->conf->allow_autospawn_for_root && getuid() == 0)
+             pa_log_debug("Not doing autospawn since we are root.");
+         else {
+             c->do_autospawn = true;
+-- 
+1.9.3
+
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
index fb33c7c..465b224 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
@@ -2,6 +2,7 @@ require pulseaudio.inc
 
 SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
            file://0001-padsp-Make-it-compile-on-musl.patch \
+           file://0001-client-conf-Add-allow-autospawn-for-root.patch \
            file://volatiles.04_pulse \
 "
 SRC_URI[md5sum] = "b691e83b7434c678dffacfa3a027750e"
-- 
1.9.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 3/5] pulseaudio: conf-parser: add support for .d directories
  2015-05-22 18:51 [PATCH v3 0/5] Enable PulseAudio in Sato images Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 1/5] alsa-plugins: initial recipe Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 2/5] pulseaudio: client-conf: Add allow-autospawn-for-root Tanu Kaskinen
@ 2015-05-22 18:51 ` Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 4/5] pulseaudio-client-conf-sato: initial recipe Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 5/5] packagegroup-core-x11-sato: add PulseAudio Tanu Kaskinen
  4 siblings, 0 replies; 11+ messages in thread
From: Tanu Kaskinen @ 2015-05-22 18:51 UTC (permalink / raw)
  To: openembedded-core

Sato images should set allow-autospawn-for-root=true in
/etc/pulse/client.conf, but in non-Sato images that option should be
disabled by default. I first tried to have two packages that ship
different versions of the client.conf file, but it turned out to be
tricky to ensure that the package manager always chooses the package
that provides the default version when the Sato package is not
explicitly requested. This patch allows the Sato specific
configuration to be installed in /etc/pulse/client.conf.d without
replacing the default version of client.conf, which makes packaging
much simpler.

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
---
 ...onf-parser-add-support-for-.d-directories.patch | 196 +++++++++++++++++++++
 .../pulseaudio/pulseaudio_6.0.bb                   |   1 +
 2 files changed, 197 insertions(+)
 create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-conf-parser-add-support-for-.d-directories.patch

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-conf-parser-add-support-for-.d-directories.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-conf-parser-add-support-for-.d-directories.patch
new file mode 100644
index 0000000..a9f1b2a
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-conf-parser-add-support-for-.d-directories.patch
@@ -0,0 +1,196 @@
+From 8cb643bbf0a287d67794e680d26f49c503f31053 Mon Sep 17 00:00:00 2001
+From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
+Date: Thu, 21 May 2015 21:00:59 +0300
+Subject: [PATCH] conf-parser: add support for .d directories
+
+This allows a configuration scheme where prior to loading
+configuration from "somefile", the parser first loads configuration
+from files in directory "somefile.d". This feature is currently
+enabled only for client.conf and daemon.conf.
+
+This makes it easier to create configuration packages in distributions
+when there's need to have different configuration in different setups.
+For example, the graphical Sato environment in OpenEmbedded-core needs
+to set allow-autospawn-for-root=true in client.conf, but the default
+configuration in OpenEmbedded-core should not set that option. With
+this patch, I can create a Sato-specific package that simply installs
+50-sato.conf in /etc/pulse/client.conf.d without conflicting with the
+main client.conf file coming from a different package.
+
+Upstream-Status: Submitted [http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23592]
+
+Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
+---
+ src/daemon/daemon-conf.c                |  2 +-
+ src/modules/alsa/alsa-mixer.c           |  4 ++--
+ src/modules/module-augment-properties.c |  2 +-
+ src/pulse/client-conf.c                 |  2 +-
+ src/pulsecore/conf-parser.c             | 42 +++++++++++++++++++++++++++++++--
+ src/pulsecore/conf-parser.h             |  8 ++++++-
+ 6 files changed, 52 insertions(+), 8 deletions(-)
+
+diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
+index 21a8edb..1332fc6 100644
+--- a/src/daemon/daemon-conf.c
++++ b/src/daemon/daemon-conf.c
+@@ -617,7 +617,7 @@ int pa_daemon_conf_load(pa_daemon_conf *c, const char *filename) {
+     ci.default_channel_map_set = ci.default_sample_spec_set = false;
+     ci.conf = c;
+ 
+-    r = f ? pa_config_parse(c->config_file, f, table, NULL, NULL) : 0;
++    r = f ? pa_config_parse(c->config_file, f, table, NULL, true, NULL) : 0;
+ 
+     if (r >= 0) {
+ 
+diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
+index 2314612..988b4fe 100644
+--- a/src/modules/alsa/alsa-mixer.c
++++ b/src/modules/alsa/alsa-mixer.c
+@@ -2483,7 +2483,7 @@ pa_alsa_path* pa_alsa_path_new(const char *paths_dir, const char *fname, pa_alsa
+ 
+     fn = pa_maybe_prefix_path(fname, paths_dir);
+ 
+-    r = pa_config_parse(fn, NULL, items, p->proplist, p);
++    r = pa_config_parse(fn, NULL, items, p->proplist, false, p);
+     pa_xfree(fn);
+ 
+     if (r < 0)
+@@ -4288,7 +4288,7 @@ pa_alsa_profile_set* pa_alsa_profile_set_new(const char *fname, const pa_channel
+                               pa_run_from_build_tree() ? PA_SRCDIR "/modules/alsa/mixer/profile-sets/" :
+                               PA_ALSA_PROFILE_SETS_DIR);
+ 
+-    r = pa_config_parse(fn, NULL, items, NULL, ps);
++    r = pa_config_parse(fn, NULL, items, NULL, false, ps);
+     pa_xfree(fn);
+ 
+     if (r < 0)
+diff --git a/src/modules/module-augment-properties.c b/src/modules/module-augment-properties.c
+index 42b6fd9..541f0e7 100644
+--- a/src/modules/module-augment-properties.c
++++ b/src/modules/module-augment-properties.c
+@@ -204,7 +204,7 @@ static void update_rule(struct rule *r) {
+     table[0].data = &r->application_name;
+     table[1].data = &r->icon_name;
+ 
+-    if (pa_config_parse(fn, NULL, table, NULL, r) < 0)
++    if (pa_config_parse(fn, NULL, table, NULL, false, r) < 0)
+         pa_log_warn("Failed to parse .desktop file %s.", fn);
+ 
+     pa_xfree(fn);
+diff --git a/src/pulse/client-conf.c b/src/pulse/client-conf.c
+index 83331f8..3c3384d 100644
+--- a/src/pulse/client-conf.c
++++ b/src/pulse/client-conf.c
+@@ -149,7 +149,7 @@ void pa_client_conf_load(pa_client_conf *c, bool load_from_x11, bool load_from_e
+ 
+     f = pa_open_config_file(DEFAULT_CLIENT_CONFIG_FILE, DEFAULT_CLIENT_CONFIG_FILE_USER, ENV_CLIENT_CONFIG_FILE, &fn);
+     if (f) {
+-        pa_config_parse(fn, f, table, NULL, NULL);
++        pa_config_parse(fn, f, table, NULL, true, NULL);
+         pa_xfree(fn);
+         fclose(f);
+     }
+diff --git a/src/pulsecore/conf-parser.c b/src/pulsecore/conf-parser.c
+index 2dcd45a..d473232 100644
+--- a/src/pulsecore/conf-parser.c
++++ b/src/pulsecore/conf-parser.c
+@@ -21,6 +21,7 @@
+ #include <config.h>
+ #endif
+ 
++#include <dirent.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <errno.h>
+@@ -103,7 +104,7 @@ static int parse_line(pa_config_parser_state *state) {
+             }
+         }
+ 
+-        r = pa_config_parse(fn, NULL, state->item_table, state->proplist, state->userdata);
++        r = pa_config_parse(fn, NULL, state->item_table, state->proplist, false, state->userdata);
+         pa_xfree(path);
+         return r;
+     }
+@@ -152,8 +153,13 @@ static int parse_line(pa_config_parser_state *state) {
+         return normal_assignment(state);
+ }
+ 
++static int conf_filter(const struct dirent *entry) {
++    return pa_endswith(entry->d_name, ".conf");
++}
++
+ /* Go through the file and parse each line */
+-int pa_config_parse(const char *filename, FILE *f, const pa_config_item *t, pa_proplist *proplist, void *userdata) {
++int pa_config_parse(const char *filename, FILE *f, const pa_config_item *t, pa_proplist *proplist, bool use_dot_d,
++                    void *userdata) {
+     int r = -1;
+     bool do_close = !f;
+     pa_config_parser_state state;
+@@ -163,6 +169,38 @@ int pa_config_parse(const char *filename, FILE *f, const pa_config_item *t, pa_p
+ 
+     pa_zero(state);
+ 
++    if (use_dot_d) {
++        char *dir_name;
++        int n;
++        struct dirent **entries = NULL;
++
++        dir_name = pa_sprintf_malloc("%s.d", filename);
++
++        n = scandir(dir_name, &entries, conf_filter, alphasort);
++        if (n >= 0) {
++            int i;
++
++            for (i = 0; i < n; i++) {
++                char *filename2;
++
++                filename2 = pa_sprintf_malloc("%s" PA_PATH_SEP "%s", dir_name, entries[i]->d_name);
++                pa_config_parse(filename2, NULL, t, proplist, false, userdata);
++                pa_xfree(filename2);
++
++                free(entries[i]);
++            }
++
++            free(entries);
++        } else {
++            if (errno == ENOENT)
++                pa_log_debug("scandir(\"%s\") failed: %s", dir_name, pa_cstrerror(errno));
++            else
++                pa_log_warn("scandir(\"%s\") failed: %s", dir_name, pa_cstrerror(errno));
++        }
++
++        pa_xfree(dir_name);
++    }
++
+     if (!f && !(f = pa_fopen_cloexec(filename, "r"))) {
+         if (errno == ENOENT) {
+             pa_log_debug("Failed to open configuration file '%s': %s", filename, pa_cstrerror(errno));
+diff --git a/src/pulsecore/conf-parser.h b/src/pulsecore/conf-parser.h
+index dbb6f5c..cc20d7d 100644
+--- a/src/pulsecore/conf-parser.h
++++ b/src/pulsecore/conf-parser.h
+@@ -59,6 +59,11 @@ struct pa_config_parser_state {
+  * pa_config_items in *t that is terminated by an item where lvalue is
+  * NULL.
+  *
++ * If use_dot_d is true, then before parsing the file named by the filename
++ * argument, the function will parse all files ending with ".conf" in
++ * alphabetical order from a directory whose name is filename + ".d", if such
++ * directory exists.
++ *
+  * Some configuration files may contain a Properties section, which
+  * is a bit special. Normally all accepted lvalues must be predefined
+  * in the pa_config_item table, but in the Properties section the
+@@ -68,7 +73,8 @@ struct pa_config_parser_state {
+  * properties, and those properties will be merged into the given
+  * proplist. If proplist is NULL, then sections named "Properties"
+  * are not allowed at all in the configuration file. */
+-int pa_config_parse(const char *filename, FILE *f, const pa_config_item *t, pa_proplist *proplist, void *userdata);
++int pa_config_parse(const char *filename, FILE *f, const pa_config_item *t, pa_proplist *proplist, bool use_dot_d,
++                    void *userdata);
+ 
+ /* Generic parsers for integers, size_t, booleans and strings */
+ int pa_config_parse_int(pa_config_parser_state *state);
+-- 
+1.9.3
+
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
index 465b224..10969bd 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_6.0.bb
@@ -3,6 +3,7 @@ require pulseaudio.inc
 SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
            file://0001-padsp-Make-it-compile-on-musl.patch \
            file://0001-client-conf-Add-allow-autospawn-for-root.patch \
+           file://0001-conf-parser-add-support-for-.d-directories.patch \
            file://volatiles.04_pulse \
 "
 SRC_URI[md5sum] = "b691e83b7434c678dffacfa3a027750e"
-- 
1.9.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 4/5] pulseaudio-client-conf-sato: initial recipe
  2015-05-22 18:51 [PATCH v3 0/5] Enable PulseAudio in Sato images Tanu Kaskinen
                   ` (2 preceding siblings ...)
  2015-05-22 18:51 ` [PATCH v3 3/5] pulseaudio: conf-parser: add support for .d directories Tanu Kaskinen
@ 2015-05-22 18:51 ` Tanu Kaskinen
  2015-05-22 18:51 ` [PATCH v3 5/5] packagegroup-core-x11-sato: add PulseAudio Tanu Kaskinen
  4 siblings, 0 replies; 11+ messages in thread
From: Tanu Kaskinen @ 2015-05-22 18:51 UTC (permalink / raw)
  To: openembedded-core

This recipe is related to enabling PulseAudio in Sato images. We will
rely on PulseAudio's autospawn feature to automatically start the
daemon. The graphical session in Sato runs under root, however, and
PulseAudio disables autospawning for root by default. We provide a
client.conf fragment in Sato to change that default setting.

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
---
 .../pulseaudio-client-conf-sato/50-sato.conf            |  7 +++++++
 .../pulseaudio-sato/pulseaudio-client-conf-sato_1.bb    | 17 +++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100644 meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf
 create mode 100644 meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb

diff --git a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf
new file mode 100644
index 0000000..97492e7
--- /dev/null
+++ b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato/50-sato.conf
@@ -0,0 +1,7 @@
+# We rely on PulseAudio's autospawn feature to automatically start the daemon
+# in Sato. The graphical session in Sato runs under root, however, and
+# PulseAudio disables autospawning for root by default. In a normal setup it's
+# not desirable to autospawn for root, because it can easily interfere with
+# other users' PulseAudio instances, but in Sato there are no other users, so
+# it's OK to enable this in Sato.
+allow-autospawn-for-root = yes
diff --git a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
new file mode 100644
index 0000000..e27339f
--- /dev/null
+++ b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "/etc/pulse/client.conf tailored for Sato"
+SECTION = "multimedia"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://50-sato.conf"
+S = "${WORKDIR}"
+
+inherit allarch
+
+do_install() {
+	install -d ${D}${sysconfdir}/pulse/client.conf.d
+	install -m 0644 ${S}/50-sato.conf ${D}${sysconfdir}/pulse/client.conf.d/50-sato.conf
+}
+
+FILES_${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
+CONFFILES_${PN} = "${sysconfdir}/pulse/client.conf.d/50-sato.conf"
-- 
1.9.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 5/5] packagegroup-core-x11-sato: add PulseAudio
  2015-05-22 18:51 [PATCH v3 0/5] Enable PulseAudio in Sato images Tanu Kaskinen
                   ` (3 preceding siblings ...)
  2015-05-22 18:51 ` [PATCH v3 4/5] pulseaudio-client-conf-sato: initial recipe Tanu Kaskinen
@ 2015-05-22 18:51 ` Tanu Kaskinen
  4 siblings, 0 replies; 11+ messages in thread
From: Tanu Kaskinen @ 2015-05-22 18:51 UTC (permalink / raw)
  To: openembedded-core

This enables PulseAudio in the Sato images.

[YOCTO #7517]

Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
---
 meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb b/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
index 2d046c4..04d1e99 100644
--- a/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
+++ b/meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb
@@ -39,6 +39,8 @@ RDEPENDS_${PN}-base = "\
     libsdl \
     ${NETWORK_MANAGER} \
     udev-extraconf \
+    pulseaudio-server \
+    pulseaudio-client-conf-sato \
     "
 
 # pcmanfm doesn't work on mips
-- 
1.9.3



^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/5] alsa-plugins: initial recipe
  2015-05-22 18:51 ` [PATCH v3 1/5] alsa-plugins: initial recipe Tanu Kaskinen
@ 2015-05-24  6:25   ` Richard Purdie
  2015-05-28  4:19     ` Khem Raj
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Purdie @ 2015-05-24  6:25 UTC (permalink / raw)
  To: Tanu Kaskinen; +Cc: openembedded-core

On Fri, 2015-05-22 at 21:51 +0300, Tanu Kaskinen wrote:
> When PulseAudio is installed, alsa-plugins is needed to provide
> compatibility for ALSA applications.
> 
> The dependencies are set up so that pulseaudio-server depends on
> alsa-plugins-pulseaudio-conf, and alsa-plugins-pulseaudio-conf depends
> on the PulseAudio plugins. This should make the ALSA->PulseAudio
> compatibility configuration work out of the box, while leaving the
> PulseAudio specific configuration out on systems that don't have
> pulseaudio-server installed.
> 
> The alsa-plugins recipes in meta-guacamayo and meta-webos were used as
> references, but this recipe is not a straight copy of either.
> 
> Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>

FWIW this new recipe failed on the autobuilder when it was tested in a
multilib build:

ERROR: QA Issue: lib32-alsa-plugins: Files/directories were installed
but not shipped in any package:
  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_medium.so
  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_order.so
  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_medium.so
  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_best.so
  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_linear.so
  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_best.so
Please set FILES such that these items are packaged. Alternatively if
they are unneeded, avoid installing them or delete them within
do_install. [installed-vs-shipped]

I created a follow up patch:

http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t222&id=bd4f5e346550f961f7a1056661f9b9fefdc8fff6

which fixed this and meant to merge it immediately after your commit
however it looks like I squashed the patches accidentally. In comes down
to the class extension code not being able to rewrite entries from
PACKAGES_DYNAMIC.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/5] alsa-plugins: initial recipe
  2015-05-24  6:25   ` Richard Purdie
@ 2015-05-28  4:19     ` Khem Raj
  2015-05-28  4:48       ` Khem Raj
  0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2015-05-28  4:19 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Tanu Kaskinen, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 3006 bytes --]


> On May 23, 2015, at 11:25 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> 
> On Fri, 2015-05-22 at 21:51 +0300, Tanu Kaskinen wrote:
>> When PulseAudio is installed, alsa-plugins is needed to provide
>> compatibility for ALSA applications.
>> 
>> The dependencies are set up so that pulseaudio-server depends on
>> alsa-plugins-pulseaudio-conf, and alsa-plugins-pulseaudio-conf depends
>> on the PulseAudio plugins. This should make the ALSA->PulseAudio
>> compatibility configuration work out of the box, while leaving the
>> PulseAudio specific configuration out on systems that don't have
>> pulseaudio-server installed.
>> 
>> The alsa-plugins recipes in meta-guacamayo and meta-webos were used as
>> references, but this recipe is not a straight copy of either.
>> 
>> Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
> 
> FWIW this new recipe failed on the autobuilder when it was tested in a
> multilib build:
> 
> ERROR: QA Issue: lib32-alsa-plugins: Files/directories were installed
> but not shipped in any package:
>  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_medium.so
>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_order.so
>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_medium.so
>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_best.so
>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_linear.so
>  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_best.so
> Please set FILES such that these items are packaged. Alternatively if
> they are unneeded, avoid installing them or delete them within
> do_install. [installed-vs-shipped]
> 
> I created a follow up patch:
> 
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t222&id=bd4f5e346550f961f7a1056661f9b9fefdc8fff6
> 
> which fixed this and meant to merge it immediately after your commit
> however it looks like I squashed the patches accidentally. In comes down
> to the class extension code not being able to rewrite entries from
> PACKAGES_DYNAMIC.


There are more errors I am seeing, I wonder if they are parallel install issues

| mv: cannot stat '/home/kraj/work/rdk/build-b2120-h412-a9/tmp/work/cortexa9hf-vfp-neon-rdk-linux-gnueabi/alsa-plugins/1.0.29-r0/image/usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf.example': No such file or directory
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_install (log file is located at /home/kraj/work/rdk/build-b2120-h412-a9/tmp/work/cortexa9hf-vfp-neon-rdk-linux-gnueabi/alsa-plugins/1.0.29-r0/temp/log.do_install.30933)
ERROR: Task 4117 (/home/kraj/work/rdk/openembedded-core/meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb, do_install) failed with exit code '1'


> 
> Cheers,
> 
> Richard
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/5] alsa-plugins: initial recipe
  2015-05-28  4:19     ` Khem Raj
@ 2015-05-28  4:48       ` Khem Raj
  2015-06-03 11:18         ` Tanu Kaskinen
  0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2015-05-28  4:48 UTC (permalink / raw)
  To: Richard Purdie
  Cc: Tanu Kaskinen, Patches and discussions about the oe-core layer

On Wed, May 27, 2015 at 9:19 PM, Khem Raj <raj.khem@gmail.com> wrote:
>
>> On May 23, 2015, at 11:25 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
>>
>> On Fri, 2015-05-22 at 21:51 +0300, Tanu Kaskinen wrote:
>>> When PulseAudio is installed, alsa-plugins is needed to provide
>>> compatibility for ALSA applications.
>>>
>>> The dependencies are set up so that pulseaudio-server depends on
>>> alsa-plugins-pulseaudio-conf, and alsa-plugins-pulseaudio-conf depends
>>> on the PulseAudio plugins. This should make the ALSA->PulseAudio
>>> compatibility configuration work out of the box, while leaving the
>>> PulseAudio specific configuration out on systems that don't have
>>> pulseaudio-server installed.
>>>
>>> The alsa-plugins recipes in meta-guacamayo and meta-webos were used as
>>> references, but this recipe is not a straight copy of either.
>>>
>>> Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
>>
>> FWIW this new recipe failed on the autobuilder when it was tested in a
>> multilib build:
>>
>> ERROR: QA Issue: lib32-alsa-plugins: Files/directories were installed
>> but not shipped in any package:
>>  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_medium.so
>>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_order.so
>>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_medium.so
>>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_best.so
>>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_linear.so
>>  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_best.so
>> Please set FILES such that these items are packaged. Alternatively if
>> they are unneeded, avoid installing them or delete them within
>> do_install. [installed-vs-shipped]
>>
>> I created a follow up patch:
>>
>> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t222&id=bd4f5e346550f961f7a1056661f9b9fefdc8fff6
>>
>> which fixed this and meant to merge it immediately after your commit
>> however it looks like I squashed the patches accidentally. In comes down
>> to the class extension code not being able to rewrite entries from
>> PACKAGES_DYNAMIC.
>
>
> There are more errors I am seeing, I wonder if they are parallel install issues
>
> | mv: cannot stat '/home/kraj/work/rdk/build-b2120-h412-a9/tmp/work/cortexa9hf-vfp-neon-rdk-linux-gnueabi/alsa-plugins/1.0.29-r0/image/usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf.example': No such file or directory
> | WARNING: exit code 1 from a shell command.
> | ERROR: Function failed: do_install (log file is located at /home/kraj/work/rdk/build-b2120-h412-a9/tmp/work/cortexa9hf-vfp-neon-rdk-linux-gnueabi/alsa-plugins/1.0.29-r0/temp/log.do_install.30933)
> ERROR: Task 4117 (/home/kraj/work/rdk/openembedded-core/meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb, do_install) failed with exit code '1'

I sent a patch to fix this but then there still are issues.

WARNING: QA Issue: alsa-plugins-pulseaudio-conf rdepends on
libasound-module-conf-pulse, but it isn't a build dependency?
[build-deps]
WARNING: QA Issue: alsa-plugins-pulseaudio-conf rdepends on
libasound-module-ctl-pulse, but it isn't a build dependency?
[build-deps]
WARNING: QA Issue: alsa-plugins-pulseaudio-conf rdepends on
libasound-module-pcm-pulse, but it isn't a build dependency?
[build-deps]


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/5] alsa-plugins: initial recipe
  2015-05-28  4:48       ` Khem Raj
@ 2015-06-03 11:18         ` Tanu Kaskinen
  2015-06-04  4:52           ` Khem Raj
  0 siblings, 1 reply; 11+ messages in thread
From: Tanu Kaskinen @ 2015-06-03 11:18 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

On Wed, 2015-05-27 at 21:48 -0700, Khem Raj wrote:
> On Wed, May 27, 2015 at 9:19 PM, Khem Raj <raj.khem@gmail.com> wrote:
> >
> >> On May 23, 2015, at 11:25 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> >>
> >> On Fri, 2015-05-22 at 21:51 +0300, Tanu Kaskinen wrote:
> >>> When PulseAudio is installed, alsa-plugins is needed to provide
> >>> compatibility for ALSA applications.
> >>>
> >>> The dependencies are set up so that pulseaudio-server depends on
> >>> alsa-plugins-pulseaudio-conf, and alsa-plugins-pulseaudio-conf depends
> >>> on the PulseAudio plugins. This should make the ALSA->PulseAudio
> >>> compatibility configuration work out of the box, while leaving the
> >>> PulseAudio specific configuration out on systems that don't have
> >>> pulseaudio-server installed.
> >>>
> >>> The alsa-plugins recipes in meta-guacamayo and meta-webos were used as
> >>> references, but this recipe is not a straight copy of either.
> >>>
> >>> Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
> >>
> >> FWIW this new recipe failed on the autobuilder when it was tested in a
> >> multilib build:
> >>
> >> ERROR: QA Issue: lib32-alsa-plugins: Files/directories were installed
> >> but not shipped in any package:
> >>  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_medium.so
> >>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_order.so
> >>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_medium.so
> >>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_best.so
> >>  /usr/lib32/alsa-lib/libasound_module_rate_samplerate_linear.so
> >>  /usr/lib32/alsa-lib/libasound_module_rate_speexrate_best.so
> >> Please set FILES such that these items are packaged. Alternatively if
> >> they are unneeded, avoid installing them or delete them within
> >> do_install. [installed-vs-shipped]
> >>
> >> I created a follow up patch:
> >>
> >> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t222&id=bd4f5e346550f961f7a1056661f9b9fefdc8fff6
> >>
> >> which fixed this and meant to merge it immediately after your commit
> >> however it looks like I squashed the patches accidentally. In comes down
> >> to the class extension code not being able to rewrite entries from
> >> PACKAGES_DYNAMIC.
> >
> >
> > There are more errors I am seeing, I wonder if they are parallel install issues
> >
> > | mv: cannot stat '/home/kraj/work/rdk/build-b2120-h412-a9/tmp/work/cortexa9hf-vfp-neon-rdk-linux-gnueabi/alsa-plugins/1.0.29-r0/image/usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf.example': No such file or directory
> > | WARNING: exit code 1 from a shell command.
> > | ERROR: Function failed: do_install (log file is located at /home/kraj/work/rdk/build-b2120-h412-a9/tmp/work/cortexa9hf-vfp-neon-rdk-linux-gnueabi/alsa-plugins/1.0.29-r0/temp/log.do_install.30933)
> > ERROR: Task 4117 (/home/kraj/work/rdk/openembedded-core/meta/recipes-multimedia/alsa/alsa-plugins_1.0.29.bb, do_install) failed with exit code '1'
> 
> I sent a patch to fix this but then there still are issues.
> 
> WARNING: QA Issue: alsa-plugins-pulseaudio-conf rdepends on
> libasound-module-conf-pulse, but it isn't a build dependency?
> [build-deps]
> WARNING: QA Issue: alsa-plugins-pulseaudio-conf rdepends on
> libasound-module-ctl-pulse, but it isn't a build dependency?
> [build-deps]
> WARNING: QA Issue: alsa-plugins-pulseaudio-conf rdepends on
> libasound-module-pcm-pulse, but it isn't a build dependency?
> [build-deps]

I now sent a fix for these warnings.

-- 
Tanu



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/5] alsa-plugins: initial recipe
  2015-06-03 11:18         ` Tanu Kaskinen
@ 2015-06-04  4:52           ` Khem Raj
  0 siblings, 0 replies; 11+ messages in thread
From: Khem Raj @ 2015-06-04  4:52 UTC (permalink / raw)
  To: Tanu Kaskinen; +Cc: Patches and discussions about the oe-core layer

On Wed, Jun 3, 2015 at 4:18 AM, Tanu Kaskinen
<tanu.kaskinen@linux.intel.com> wrote:
> I now sent a fix for these warnings.

thanks


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-06-04  4:53 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-22 18:51 [PATCH v3 0/5] Enable PulseAudio in Sato images Tanu Kaskinen
2015-05-22 18:51 ` [PATCH v3 1/5] alsa-plugins: initial recipe Tanu Kaskinen
2015-05-24  6:25   ` Richard Purdie
2015-05-28  4:19     ` Khem Raj
2015-05-28  4:48       ` Khem Raj
2015-06-03 11:18         ` Tanu Kaskinen
2015-06-04  4:52           ` Khem Raj
2015-05-22 18:51 ` [PATCH v3 2/5] pulseaudio: client-conf: Add allow-autospawn-for-root Tanu Kaskinen
2015-05-22 18:51 ` [PATCH v3 3/5] pulseaudio: conf-parser: add support for .d directories Tanu Kaskinen
2015-05-22 18:51 ` [PATCH v3 4/5] pulseaudio-client-conf-sato: initial recipe Tanu Kaskinen
2015-05-22 18:51 ` [PATCH v3 5/5] packagegroup-core-x11-sato: add PulseAudio Tanu Kaskinen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.