* [PATCH] alsa-utils: fix packaging
@ 2026-01-16 17:41 Ross Burton
2026-01-16 18:07 ` [OE-core] " Ryan Eatmon
2026-01-17 9:46 ` Michael Opdenacker
0 siblings, 2 replies; 3+ messages in thread
From: Ross Burton @ 2026-01-16 17:41 UTC (permalink / raw)
To: openembedded-core
In the previous refactoring of this package[1] I forgot to add provides
when merging some packages, which meant that installation of alsa-utils
wouldn't succeed:
- nothing provides alsa-utils-aplaymidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-aplaymidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-arecordmidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-arecordmidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
- nothing provides alsa-utils-axfer needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
This is because the auto-splitting generates a package for each of the
binaries, but there are explicit FILES that take priority which result
in the binaries being in another package. However, the dependencies
still exist. We could filter the package list after the split, but it is
easier to add RPROVIDES for arecord and a*midi to the relevant packages,
so that the dependencies are satisfied.
Also axfer is a separate tool, so put that in its own package instead of
merging with aplay.
Finally, add a PR, as it appears that dynamically-generated packaging
isn't enough to change the hash, and the wrong packages were being pulled
from sstate.
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
index 927f94afb6..2e85f936fa 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
@@ -11,6 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
DEPENDS = "alsa-lib ncurses libsamplerate0 bash"
+# Only needed as the dynamic packaging was altered, remove on upgrade
+PR = "r1"
+
# 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"
SRC_URI[sha256sum] = "5ad79f349e59c30c9a4929ad4995ebee33267473e0e632d7c1a30e2b093d3327"
@@ -35,7 +38,7 @@ 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}-aplay = "${bindir}/aplay ${bindir}/arecord"
FILES:${PN}-speaker-test = "${datadir}/sounds/alsa/"
SUMMARY:${PN}-aconnect = "ALSA sequencer connection manager"
@@ -53,12 +56,16 @@ 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}-axfer = "Transfer audio data frames"
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"
RRECOMMENDS:${PN}-alsactl = "alsa-states"
+RPROVIDES:${PN}-aplay += "${PN}-arecord"
+RPROVIDES:${PN}-amidi += "${PN}-aplaymidi ${PN}-aplaymidi2 ${PN}-arecordmidi ${PN}-arecordmidi2"
+
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,
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] alsa-utils: fix packaging
2026-01-16 17:41 [PATCH] alsa-utils: fix packaging Ross Burton
@ 2026-01-16 18:07 ` Ryan Eatmon
2026-01-17 9:46 ` Michael Opdenacker
1 sibling, 0 replies; 3+ messages in thread
From: Ryan Eatmon @ 2026-01-16 18:07 UTC (permalink / raw)
To: ross.burton, openembedded-core
On 1/16/2026 11:41 AM, Ross Burton via lists.openembedded.org wrote:
> In the previous refactoring of this package[1] I forgot to add provides
> when merging some packages, which meant that installation of alsa-utils
> wouldn't succeed:
>
> - nothing provides alsa-utils-aplaymidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-aplaymidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-arecordmidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-arecordmidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-axfer needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
>
> This is because the auto-splitting generates a package for each of the
> binaries, but there are explicit FILES that take priority which result
> in the binaries being in another package. However, the dependencies
> still exist. We could filter the package list after the split, but it is
> easier to add RPROVIDES for arecord and a*midi to the relevant packages,
> so that the dependencies are satisfied.
>
> Also axfer is a separate tool, so put that in its own package instead of
> merging with aplay.
>
> Finally, add a PR, as it appears that dynamically-generated packaging
> isn't enough to change the hash, and the wrong packages were being pulled
> from sstate.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
Tested-by: Ryan Eatmon <reatmon@ti.com>
> ---
> meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
> index 927f94afb6..2e85f936fa 100644
> --- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
> +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
> @@ -11,6 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
> file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
> DEPENDS = "alsa-lib ncurses libsamplerate0 bash"
>
> +# Only needed as the dynamic packaging was altered, remove on upgrade
> +PR = "r1"
> +
> # 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"
> SRC_URI[sha256sum] = "5ad79f349e59c30c9a4929ad4995ebee33267473e0e632d7c1a30e2b093d3327"
> @@ -35,7 +38,7 @@ 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}-aplay = "${bindir}/aplay ${bindir}/arecord"
> FILES:${PN}-speaker-test = "${datadir}/sounds/alsa/"
>
> SUMMARY:${PN}-aconnect = "ALSA sequencer connection manager"
> @@ -53,12 +56,16 @@ 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}-axfer = "Transfer audio data frames"
> 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"
>
> RRECOMMENDS:${PN}-alsactl = "alsa-states"
>
> +RPROVIDES:${PN}-aplay += "${PN}-arecord"
> +RPROVIDES:${PN}-amidi += "${PN}-aplaymidi ${PN}-aplaymidi2 ${PN}-arecordmidi ${PN}-arecordmidi2"
> +
> 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,
--
Ryan Eatmon reatmon@ti.com
-----------------------------------------
Texas Instruments, Inc. - LCPD - MGTS
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH] alsa-utils: fix packaging
2026-01-16 17:41 [PATCH] alsa-utils: fix packaging Ross Burton
2026-01-16 18:07 ` [OE-core] " Ryan Eatmon
@ 2026-01-17 9:46 ` Michael Opdenacker
1 sibling, 0 replies; 3+ messages in thread
From: Michael Opdenacker @ 2026-01-17 9:46 UTC (permalink / raw)
To: ross.burton; +Cc: michael.opdenacker, openembedded-core
Hi Ross
Thanks for the fix!
On 1/16/26 6:41 PM, Ross Burton via lists.openembedded.org wrote:
> In the previous refactoring of this package[1] I forgot to add provides
> when merging some packages, which meant that installation of alsa-utils
> wouldn't succeed:
>
> - nothing provides alsa-utils-aplaymidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-aplaymidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-arecordmidi needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-arecordmidi2 needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
> - nothing provides alsa-utils-axfer needed by alsa-utils-1.2.15.1-r0.cortexa57 from oe-repo
>
> This is because the auto-splitting generates a package for each of the
> binaries, but there are explicit FILES that take priority which result
> in the binaries being in another package. However, the dependencies
> still exist. We could filter the package list after the split, but it is
> easier to add RPROVIDES for arecord and a*midi to the relevant packages,
> so that the dependencies are satisfied.
>
> Also axfer is a separate tool, so put that in its own package instead of
> merging with aplay.
>
> Finally, add a PR, as it appears that dynamically-generated packaging
> isn't enough to change the hash, and the wrong packages were being pulled
> from sstate.
>
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
> meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
> index 927f94afb6..2e85f936fa 100644
> --- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
> +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.15.1.bb
> @@ -11,6 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
> file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
> DEPENDS = "alsa-lib ncurses libsamplerate0 bash"
>
> +# Only needed as the dynamic packaging was altered, remove on upgrade
> +PR = "r1"
> +
> # 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"
> SRC_URI[sha256sum] = "5ad79f349e59c30c9a4929ad4995ebee33267473e0e632d7c1a30e2b093d3327"
> @@ -35,7 +38,7 @@ 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}-aplay = "${bindir}/aplay ${bindir}/arecord"
> FILES:${PN}-speaker-test = "${datadir}/sounds/alsa/"
>
> SUMMARY:${PN}-aconnect = "ALSA sequencer connection manager"
> @@ -53,12 +56,16 @@ 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}-axfer = "Transfer audio data frames"
> 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"
>
> RRECOMMENDS:${PN}-alsactl = "alsa-states"
>
> +RPROVIDES:${PN}-aplay += "${PN}-arecord"
> +RPROVIDES:${PN}-amidi += "${PN}-aplaymidi ${PN}-aplaymidi2 ${PN}-arecordmidi ${PN}-arecordmidi2"
> +
> 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,
This looks good to me.
Tested-by: Michael Opdenacker
To minimize rework, I'd suggest to merge this change first. And then
I'll update and send the Alsa 1.2.15.2 and 1.2.15.3 updates.
Cheers
Michael.
--
Root Commit
Embedded Linux Training and Consulting
https://rootcommit.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-01-17 9:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-16 17:41 [PATCH] alsa-utils: fix packaging Ross Burton
2026-01-16 18:07 ` [OE-core] " Ryan Eatmon
2026-01-17 9:46 ` Michael Opdenacker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox