public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH 1/5] alsa-utils: build more manpages with rst2man
@ 2026-01-07 15:37 Ross Burton
  2026-01-07 15:38 ` [PATCH 2/5] alsa-utils: no need to install scripts manually Ross Burton
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Ross Burton @ 2026-01-07 15:37 UTC (permalink / raw)
  To: openembedded-core

alsa-utils uses both xmlto and rst2man (from docutils) to build manpages,
but we were only enabling xmlto.  Enable/disable both xmlto and rst2man
depending on whether manpages are being requested.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
index 09b3de81f4..9299f31312 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
@@ -21,19 +21,13 @@ PACKAGECONFIG ??= "udev"
 PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
 
 PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev"
-PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[manpages] = "--enable-rst2man --enable-xmlto, --disable-rst2man --disable-xmlto, python3-docutils-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 
 # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
 SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \
 	   file://0001-alsactl-fix-build-when-in-subdirectory.patch"
 SRC_URI[sha256sum] = "d3183d2ed2d69e9143c5beb97036267c3fdabfe8bfbea8bc6863f17b1f0b568e"
 
-# On build machines with python-docutils (not python3-docutils !!) installed
-# rst2man (not rst2man.py) is detected and compile fails with
-# | make[1]: *** No rule to make target 'alsaucm.1', needed by 'all-am'.  Stop.
-# Avoid this by disabling expicitly
-EXTRA_OECONF = "--disable-rst2man"
-
 inherit autotools gettext pkgconfig manpages
 
 # This are all packages that we need to make. Also, the now empty alsa-utils
-- 
2.43.0



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

* [PATCH 2/5] alsa-utils: no need to install scripts manually
  2026-01-07 15:37 [PATCH 1/5] alsa-utils: build more manpages with rst2man Ross Burton
@ 2026-01-07 15:38 ` Ross Burton
  2026-01-07 15:38 ` [PATCH 3/5] alsa-utils: clean up udev PACKAGECONFIG Ross Burton
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2026-01-07 15:38 UTC (permalink / raw)
  To: openembedded-core

These were manually installed when they were part of a separate
alsa-utils-scripts recipe, but now that recipe no longer exists they
will be installed by automake.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
index 9299f31312..188dfd858f 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
@@ -101,13 +101,6 @@ RRECOMMENDS:alsa-utils-alsactl = "alsa-states"
 do_install() {
 	autotools_do_install
 
-	install -d ${D}${sbindir}
-	install -m 0755 ${B}/alsaconf/alsaconf ${D}${sbindir}/
-	install -m 0755 ${S}/alsa-info/alsa-info.sh ${D}${sbindir}/
-	if ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'true', 'false', d)}; then
-		install -m 0755 ${S}/bat/alsabat-test.sh ${D}${sbindir}/
-	fi
-
 	# If udev is disabled, we told configure to install the rules
 	# in /unwanted, so we can remove them now. If udev is enabled,
 	# then /unwanted won't exist and this will have no effect.
-- 
2.43.0



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

* [PATCH 3/5] alsa-utils: clean up udev PACKAGECONFIG
  2026-01-07 15:37 [PATCH 1/5] alsa-utils: build more manpages with rst2man Ross Burton
  2026-01-07 15:38 ` [PATCH 2/5] alsa-utils: no need to install scripts manually Ross Burton
@ 2026-01-07 15:38 ` Ross Burton
  2026-01-07 15:38 ` [PATCH 4/5] alsa-utils: dynamically split the packages instead of doing it manually Ross Burton
  2026-01-07 15:38 ` [PATCH 5/5] pulseaudio: depend on alsa-utils-alsa-info as that is the new package name Ross Burton
  3 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2026-01-07 15:38 UTC (permalink / raw)
  To: openembedded-core

The default value for the udev rules location is looked up using
pkg-config, so there's no need to make this line very long by doing it
again.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
index 188dfd858f..e528591ec6 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
@@ -20,7 +20,7 @@ PACKAGECONFIG ??= "udev"
 # or no alsabat at all.
 PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
 
-PACKAGECONFIG[udev] = "--with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d,--with-udev-rules-dir=/unwanted/rules.d,udev"
+PACKAGECONFIG[udev] = ",--with-udev-rules-dir=/unwanted/rules.d,udev"
 PACKAGECONFIG[manpages] = "--enable-rst2man --enable-xmlto, --disable-rst2man --disable-xmlto, python3-docutils-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 
 # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
-- 
2.43.0



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

* [PATCH 4/5] alsa-utils: dynamically split the packages instead of doing it manually
  2026-01-07 15:37 [PATCH 1/5] alsa-utils: build more manpages with rst2man Ross Burton
  2026-01-07 15:38 ` [PATCH 2/5] alsa-utils: no need to install scripts manually Ross Burton
  2026-01-07 15:38 ` [PATCH 3/5] alsa-utils: clean up udev PACKAGECONFIG Ross Burton
@ 2026-01-07 15:38 ` Ross Burton
  2026-01-08 15:02   ` [OE-core] " Mathieu Dubois-Briand
  2026-01-07 15:38 ` [PATCH 5/5] pulseaudio: depend on alsa-utils-alsa-info as that is the new package name Ross Burton
  3 siblings, 1 reply; 6+ messages in thread
From: Ross Burton @ 2026-01-07 15:38 UTC (permalink / raw)
  To: openembedded-core

Instead of hard-coding a long list of packages and the FILES, we can
use do_split_packages to do the bulk of the work for us.

Leave the SUMMARY (and add some which were missing) and the FILES that
are needed to catch extra files for each package.

This removes the alsa-utils-scripts package which only existed to isolate
the bash depedencies, and instead adds separate -alsaconf and -alsa-info
packages for each of the scripts.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../alsa/alsa-utils_1.2.15.bb                 | 120 +++++++-----------
 1 file changed, 45 insertions(+), 75 deletions(-)

diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
index e528591ec6..84b196a020 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.bb
@@ -9,7 +9,13 @@ SECTION = "console/utils"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                     file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
-DEPENDS = "alsa-lib ncurses libsamplerate0"
+DEPENDS = "alsa-lib ncurses libsamplerate0 bash"
+
+SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \
+           file://0001-alsactl-fix-build-when-in-subdirectory.patch"
+SRC_URI[sha256sum] = "d3183d2ed2d69e9143c5beb97036267c3fdabfe8bfbea8bc6863f17b1f0b568e"
+
+inherit autotools gettext pkgconfig manpages
 
 PACKAGECONFIG ??= "udev"
 
@@ -23,90 +29,54 @@ PACKAGECONFIG[bat] = "--enable-bat,--disable-bat,fftwf"
 PACKAGECONFIG[udev] = ",--with-udev-rules-dir=/unwanted/rules.d,udev"
 PACKAGECONFIG[manpages] = "--enable-rst2man --enable-xmlto, --disable-rst2man --disable-xmlto, python3-docutils-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 
-# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
-SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2 \
-	   file://0001-alsactl-fix-build-when-in-subdirectory.patch"
-SRC_URI[sha256sum] = "d3183d2ed2d69e9143c5beb97036267c3fdabfe8bfbea8bc6863f17b1f0b568e"
-
-inherit autotools gettext pkgconfig manpages
-
-# This are all packages that we need to make. Also, the now empty alsa-utils
-# ipk depends on them.
-
-ALSA_UTILS_PKGS = "\
-             ${@bb.utils.contains('PACKAGECONFIG', 'bat', 'alsa-utils-alsabat', '', d)} \
-             alsa-utils-alsamixer \
-             alsa-utils-alsatplg \
-             alsa-utils-midi \
-             alsa-utils-aplay \
-             alsa-utils-amixer \
-             alsa-utils-aconnect \
-             alsa-utils-iecset \
-             alsa-utils-speakertest \
-             alsa-utils-aseqnet \
-             alsa-utils-aseqdump \
-             alsa-utils-aseqsend \
-             alsa-utils-alsactl \
-             alsa-utils-alsaloop \
-             alsa-utils-alsaucm \
-             alsa-utils-scripts \
-             alsa-utils-nhltdmicinfo \
-            "
-
-PACKAGES += "${ALSA_UTILS_PKGS}"
-RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}"
-
+# alsa-utils is an empty meta-package
 FILES:${PN} = ""
-ALLOW_EMPTY:alsa-utils = "1"
-FILES:alsa-utils-alsabat     = "${bindir}/alsabat"
-FILES:alsa-utils-alsatplg    = "${bindir}/alsatplg ${libdir}/alsa-topology"
-FILES:alsa-utils-aplay       = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
-FILES:alsa-utils-amixer      = "${bindir}/amixer"
-FILES:alsa-utils-alsamixer   = "${bindir}/alsamixer"
-FILES:alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
-FILES:alsa-utils-midi        = "${bindir}/aplaymidi* ${bindir}/arecordmidi* ${bindir}/amidi"
-FILES:alsa-utils-aconnect    = "${bindir}/aconnect"
-FILES:alsa-utils-aseqnet     = "${bindir}/aseqnet"
-FILES:alsa-utils-aseqsend    = "${bindir}/aseqsend"
-FILES:alsa-utils-iecset      = "${bindir}/iecset"
-FILES:alsa-utils-alsactl     = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
-FILES:alsa-utils-aseqdump    = "${bindir}/aseqdump"
-FILES:alsa-utils-alsaloop    = "${bindir}/alsaloop"
-FILES:alsa-utils-alsaucm     = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
-FILES:alsa-utils-scripts     = "${sbindir}/alsaconf \
-               ${sbindir}/alsa-info.sh \
-               ${sbindir}/alsabat-test.sh \
-              "
-FILES:alsa-utils-nhltdmicinfo = "${bindir}/nhlt-dmic-info"
+ALLOW_EMPTY:${PN} = "1"
 
-SUMMARY:alsa-utils-alsabat      = "Command-line sound tester for ALSA sound card driver"
-SUMMARY:alsa-utils-alsatplg     = "Converts topology text files into binary format for kernel"
-SUMMARY:alsa-utils-aplay        = "Play (and record) sound files using ALSA"
-SUMMARY:alsa-utils-amixer       = "Command-line control for ALSA mixer and settings"
-SUMMARY:alsa-utils-alsamixer    = "ncurses-based control for ALSA mixer and settings"
-SUMMARY:alsa-utils-speakertest  = "ALSA surround speaker test utility"
-SUMMARY:alsa-utils-midi         = "Miscellaneous MIDI utilities for ALSA"
-SUMMARY:alsa-utils-aconnect     = "ALSA sequencer connection manager"
-SUMMARY:alsa-utils-aseqnet      = "Network client/server for ALSA sequencer"
-SUMMARY:alsa-utils-iecset       = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
-SUMMARY:alsa-utils-alsactl      = "Saves/restores ALSA-settings in /etc/asound.state"
-SUMMARY:alsa-utils-aseqdump     = "Shows the events received at an ALSA sequencer port"
-SUMMARY:alsa-utils-alsaloop     = "ALSA PCM loopback utility"
-SUMMARY:alsa-utils-alsaucm      = "ALSA Use Case Manager"
-SUMMARY:alsa-utils-scripts      = "Shell scripts that show help info and create ALSA configuration files"
-SUMMARY:alsa-utils-nhltdmicinfo = "Dumps microphone array information from ACPI NHLT table"
+FILES:${PN}-alsabat      = "${sbindir}/alsabat-test.sh"
+FILES:${PN}-alsactl      = "*/udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
+FILES:${PN}-alsatplg     = "${libdir}/alsa-topology"
+FILES:${PN}-amidi        = "${bindir}/amidi ${bindir}/aplaymidi* ${bindir}/arecordmidi*"
+FILES:${PN}-aplay        = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
+FILES:${PN}-speaker-test = "${datadir}/sounds/alsa/"
 
-RRECOMMENDS:alsa-utils-alsactl = "alsa-states"
+SUMMARY:${PN}-aconnect       = "ALSA sequencer connection manager"
+SUMMARY:${PN}-alsabat        = "Command-line sound tester for ALSA sound card driver"
+SUMMARY:${PN}-alsaconf       = "ALSA driver configurator script"
+SUMMARY:${PN}-alsactl        = "Saves/restores ALSA-settings in /etc/asound.state"
+SUMMARY:${PN}-alsa-info      = "Gather information about ALSA subsystem"
+SUMMARY:${PN}-alsaloop       = "ALSA PCM loopback utility"
+SUMMARY:${PN}-alsamixer      = "ncurses-based control for ALSA mixer and settings"
+SUMMARY:${PN}-alsatplg       = "Converts topology text files into binary format for kernel"
+SUMMARY:${PN}-alsaucm        = "ALSA Use Case Manager"
+SUMMARY:${PN}-amidi          = "Miscellaneous MIDI utilities for ALSA"
+SUMMARY:${PN}-amixer         = "Command-line control for ALSA mixer and settings"
+SUMMARY:${PN}-aplay          = "Play (and record) sound files using ALSA"
+SUMMARY:${PN}-aseqdump       = "Shows the events received at an ALSA sequencer port"
+SUMMARY:${PN}-aseqnet        = "Network client/server for ALSA sequencer"
+SUMMARY:${PN}-aseqsend       = "Send arbitrary messages to ALSA seqencer port"
+SUMMARY:${PN}-iecset         = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
+SUMMARY:${PN}-nhlt-dmic-info = "Dumps microphone array information from ACPI NHLT table"
+SUMMARY:${PN}-speaker-test   = "ALSA surround speaker test utility"
 
-do_install() {
-	autotools_do_install
+RRECOMMENDS:${PN}-alsactl = "alsa-states"
 
+do_install:append() {
 	# If udev is disabled, we told configure to install the rules
 	# in /unwanted, so we can remove them now. If udev is enabled,
 	# then /unwanted won't exist and this will have no effect.
 	rm -rf ${D}/unwanted
 }
 
+python populate_packages:prepend() {
+    pn = d.getVar("PN")
+    packages = do_split_packages(d, d.getVar("bindir"), r"^([^.]+).*$", pn + "-%s", "alsa-utils tool %s", extra_depends="")
+    packages += do_split_packages(d, d.getVar("sbindir"), r"^([^.]+).*$", pn + "-%s", "alsa-utils tool %s", extra_depends="")
+    d.setVar("RDEPENDS:" + pn, " ".join(packages))
+}
+
 PROVIDES = "alsa-utils-alsaconf alsa-utils-scripts"
 
-RDEPENDS:${PN}-scripts += "bash"
+RDEPENDS:${PN}-alsa-info += "bash"
+RDEPENDS:${PN}-alsabat += "bash"
+RDEPENDS:${PN}-alsaconf += "bash"
-- 
2.43.0



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

* [PATCH 5/5] pulseaudio: depend on alsa-utils-alsa-info as that is the new package name
  2026-01-07 15:37 [PATCH 1/5] alsa-utils: build more manpages with rst2man Ross Burton
                   ` (2 preceding siblings ...)
  2026-01-07 15:38 ` [PATCH 4/5] alsa-utils: dynamically split the packages instead of doing it manually Ross Burton
@ 2026-01-07 15:38 ` Ross Burton
  3 siblings, 0 replies; 6+ messages in thread
From: Ross Burton @ 2026-01-07 15:38 UTC (permalink / raw)
  To: openembedded-core

alsa-utils-scripts no longer exists, depend on alsa-utils-alsa-info
instead.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index fd5a1163b1..b9dc8e236f 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -232,7 +232,7 @@ python populate_packages:prepend() {
 RDEPENDS:${PN}-pa-info = "\
                           alsa-utils-amixer \
                           alsa-utils-aplay \
-                          alsa-utils-scripts \
+                          alsa-utils-alsa-info \
                           bash \
                           ${PN}-server \
                           "
-- 
2.43.0



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

* Re: [OE-core] [PATCH 4/5] alsa-utils: dynamically split the packages instead of doing it manually
  2026-01-07 15:38 ` [PATCH 4/5] alsa-utils: dynamically split the packages instead of doing it manually Ross Burton
@ 2026-01-08 15:02   ` Mathieu Dubois-Briand
  0 siblings, 0 replies; 6+ messages in thread
From: Mathieu Dubois-Briand @ 2026-01-08 15:02 UTC (permalink / raw)
  To: ross.burton, openembedded-core

On Wed Jan 7, 2026 at 4:38 PM CET, Ross Burton via lists.openembedded.org wrote:
> Instead of hard-coding a long list of packages and the FILES, we can
> use do_split_packages to do the bulk of the work for us.
>
> Leave the SUMMARY (and add some which were missing) and the FILES that
> are needed to catch extra files for each package.
>
> This removes the alsa-utils-scripts package which only existed to isolate
> the bash depedencies, and instead adds separate -alsaconf and -alsa-info
> packages for each of the scripts.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---

Hi Ross,

This one has a lot of conflicts with the alsa update to 1.2.15.1. As
this update is now merged, can I ask you to rebase this series onto
master?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



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

end of thread, other threads:[~2026-01-08 15:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-07 15:37 [PATCH 1/5] alsa-utils: build more manpages with rst2man Ross Burton
2026-01-07 15:38 ` [PATCH 2/5] alsa-utils: no need to install scripts manually Ross Burton
2026-01-07 15:38 ` [PATCH 3/5] alsa-utils: clean up udev PACKAGECONFIG Ross Burton
2026-01-07 15:38 ` [PATCH 4/5] alsa-utils: dynamically split the packages instead of doing it manually Ross Burton
2026-01-08 15:02   ` [OE-core] " Mathieu Dubois-Briand
2026-01-07 15:38 ` [PATCH 5/5] pulseaudio: depend on alsa-utils-alsa-info as that is the new package name Ross Burton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox