From 57be7e615a34ad2cf436a90b7cd8c637dd5bd7f0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 10 Jun 2024 14:24:48 +0200 Subject: [PATCH 01/20] updated to 1.2.12 Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 5228bf5..7bd3436 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,4 +1,4 @@ -%define baseversion 1.2.11 +%define baseversion 1.2.12 #define fixversion .2 %global _hardened_build 1 @@ -9,7 +9,7 @@ Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 -Patch1: alsa-utils-git.patch +#Patch1: alsa-utils-git.patch Source4: alsaunmute Source5: alsaunmute.1 Source10: alsa.rules @@ -63,7 +63,7 @@ Architecture (ALSA) framework and Fast Fourier Transform library. %prep %setup -q -n %{name}-%{version} -%patch -P 1 -p1 -b .alsa-git +#patch -P 1 -p1 -b .alsa-git %build autoreconf -vif @@ -199,6 +199,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Mon Jun 10 2024 Jaroslav Kysela - 1.2.12-1 +* Updated to 1.2.12 + * Mon Jan 29 2024 Jaroslav Kysela - 1.2.11-1 * Updated to 1.2.11 diff --git a/sources b/sources index cc35bdb..7b77ab3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.11.tar.bz2) = 5ce76807b53357584bfb4ace5acfdac4db9168ffaf5cdd1e499738eec046c36112bf84a99970f66368063a9baf73bad93af2d439630572f3eba5c9321071172d +SHA512 (alsa-utils-1.2.12.tar.bz2) = 6631f9f8e32fbb1f7b06af086cdfb8349c2d70188c4509ab46fa105024fbde9985985d9cc738c7b5a743cacaaeae7a7006f8ef92f66a50762f7df5d714bf548b From af2b8fab733f72a8f0358be0f7ccdde2311f60e9 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 11 Jun 2024 10:54:05 +0200 Subject: [PATCH 02/20] add missing aseqsend utility to file list Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 7bd3436..bfbd63d 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -127,6 +127,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_bindir}/arecordmidi %{_bindir}/aseqdump %{_bindir}/aseqnet +%{_bindir}/aseqsend %{_bindir}/axfer %{_bindir}/iecset %{_bindir}/speaker-test @@ -148,6 +149,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_mandir}/man1/arecordmidi.1.gz %{_mandir}/man1/aseqdump.1.gz %{_mandir}/man1/aseqnet.1.gz +%{_mandir}/man1/aseqsend.1.gz %{_mandir}/man1/axfer.1.gz %{_mandir}/man1/axfer-list.1.gz %{_mandir}/man1/axfer-transfer.1.gz @@ -199,7 +201,7 @@ fi %systemd_postun_with_restart alsa-state.service %changelog -* Mon Jun 10 2024 Jaroslav Kysela - 1.2.12-1 +* Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 * Updated to 1.2.12 * Mon Jan 29 2024 Jaroslav Kysela - 1.2.11-1 From d5431a67ddb1fa2752741e5a5a3baa3010761844 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 10 Jun 2024 14:24:48 +0200 Subject: [PATCH 03/20] updated to 1.2.12 Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 11 ++++++++--- sources | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 5228bf5..bfbd63d 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,4 +1,4 @@ -%define baseversion 1.2.11 +%define baseversion 1.2.12 #define fixversion .2 %global _hardened_build 1 @@ -9,7 +9,7 @@ Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 -Patch1: alsa-utils-git.patch +#Patch1: alsa-utils-git.patch Source4: alsaunmute Source5: alsaunmute.1 Source10: alsa.rules @@ -63,7 +63,7 @@ Architecture (ALSA) framework and Fast Fourier Transform library. %prep %setup -q -n %{name}-%{version} -%patch -P 1 -p1 -b .alsa-git +#patch -P 1 -p1 -b .alsa-git %build autoreconf -vif @@ -127,6 +127,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_bindir}/arecordmidi %{_bindir}/aseqdump %{_bindir}/aseqnet +%{_bindir}/aseqsend %{_bindir}/axfer %{_bindir}/iecset %{_bindir}/speaker-test @@ -148,6 +149,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_mandir}/man1/arecordmidi.1.gz %{_mandir}/man1/aseqdump.1.gz %{_mandir}/man1/aseqnet.1.gz +%{_mandir}/man1/aseqsend.1.gz %{_mandir}/man1/axfer.1.gz %{_mandir}/man1/axfer-list.1.gz %{_mandir}/man1/axfer-transfer.1.gz @@ -199,6 +201,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 +* Updated to 1.2.12 + * Mon Jan 29 2024 Jaroslav Kysela - 1.2.11-1 * Updated to 1.2.11 diff --git a/sources b/sources index cc35bdb..7b77ab3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.11.tar.bz2) = 5ce76807b53357584bfb4ace5acfdac4db9168ffaf5cdd1e499738eec046c36112bf84a99970f66368063a9baf73bad93af2d439630572f3eba5c9321071172d +SHA512 (alsa-utils-1.2.12.tar.bz2) = 6631f9f8e32fbb1f7b06af086cdfb8349c2d70188c4509ab46fa105024fbde9985985d9cc738c7b5a743cacaaeae7a7006f8ef92f66a50762f7df5d714bf548b From df95d97fceaf0630376b44b8828c43a2b6d8a1af Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 16:53:31 +0000 Subject: [PATCH 04/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- alsa-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index bfbd63d..2f2b923 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -5,7 +5,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -201,6 +201,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 1.2.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 * Updated to 1.2.12 From 76b6ba63bc1925f8246a8e4d06f44322363ec62f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 12 Nov 2024 13:49:19 +0100 Subject: [PATCH 05/20] update to 1.2.13 Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 21 ++++++++++++++------- alsa.rules | 8 -------- sources | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) delete mode 100644 alsa.rules diff --git a/alsa-utils.spec b/alsa-utils.spec index 2f2b923..f75f846 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,18 +1,17 @@ -%define baseversion 1.2.12 +%define baseversion 1.2.13 #define fixversion .2 %global _hardened_build 1 Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 2%{?dist} +Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 #Patch1: alsa-utils-git.patch Source4: alsaunmute Source5: alsaunmute.1 -Source10: alsa.rules Source11: alsactl.conf Source20: alsa-restore.service Source22: alsa-state.service @@ -69,7 +68,9 @@ Architecture (ALSA) framework and Fast Fourier Transform library. autoreconf -vif %configure CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" --disable-alsaconf \ --with-udev-rules-dir=%{_prefix}/lib/udev/rules.d \ - --with-systemdsystemunitdir=%{_unitdir} + --with-systemdsystemunitdir=%{_unitdir} \ + --with-alsactl-udev-args="-E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main" \ + --with-alsactl-udev-extra-test="" make %{?_smp_mflags} cp %{SOURCE4} . @@ -79,9 +80,8 @@ cp %{SOURCE4} . make install DESTDIR=%{buildroot} %find_lang %{name} -# Install ALSA udev rules +# Install ALSA udev rules and services mkdir -p %{buildroot}/%{_prefix}/lib/udev/rules.d -install -p -m 644 %{SOURCE10} %{buildroot}/%{_prefix}/lib/udev/rules.d/90-alsa-restore.rules mkdir -p %{buildroot}/%{_unitdir} install -p -m 644 %{SOURCE20} %{buildroot}/%{_unitdir}/alsa-restore.service install -p -m 644 %{SOURCE22} %{buildroot}/%{_unitdir}/alsa-state.service @@ -113,7 +113,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %config /etc/alsa/* %{_prefix}/lib/udev/rules.d/* %{_unitdir}/* -%{_unitdir}/sound.target.wants/* +#{_unitdir}/sound.target.wants/* %{alsacfgdir}/init/* %{_bindir}/aconnect %{_bindir}/alsaloop @@ -123,8 +123,10 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_bindir}/amixer %{_bindir}/aplay %{_bindir}/aplaymidi +%{_bindir}/aplaymidi2 %{_bindir}/arecord %{_bindir}/arecordmidi +%{_bindir}/arecordmidi2 %{_bindir}/aseqdump %{_bindir}/aseqnet %{_bindir}/aseqsend @@ -145,8 +147,10 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_mandir}/man1/amixer.1.gz %{_mandir}/man1/aplay.1.gz %{_mandir}/man1/aplaymidi.1.gz +%{_mandir}/man1/aplaymidi2.1.gz %{_mandir}/man1/arecord.1.gz %{_mandir}/man1/arecordmidi.1.gz +%{_mandir}/man1/arecordmidi2.1.gz %{_mandir}/man1/aseqdump.1.gz %{_mandir}/man1/aseqnet.1.gz %{_mandir}/man1/aseqsend.1.gz @@ -201,6 +205,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Tue Nov 12 2024 Jaroslav Kysela - 1.2.13-1 +* Updated to 1.2.13 + * Wed Jul 17 2024 Fedora Release Engineering - 1.2.12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild diff --git a/alsa.rules b/alsa.rules deleted file mode 100644 index 6a4a0c3..0000000 --- a/alsa.rules +++ /dev/null @@ -1,8 +0,0 @@ -ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", GOTO="alsa_restore_go" -GOTO="alsa_restore_end" - -LABEL="alsa_restore_go" -TEST!="/etc/alsa/state-daemon.conf", RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main restore /dev/$name" -TEST=="/etc/alsa/state-daemon.conf", RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main nrestore /dev/$name" - -LABEL="alsa_restore_end" diff --git a/sources b/sources index 7b77ab3..96a6018 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.12.tar.bz2) = 6631f9f8e32fbb1f7b06af086cdfb8349c2d70188c4509ab46fa105024fbde9985985d9cc738c7b5a743cacaaeae7a7006f8ef92f66a50762f7df5d714bf548b +SHA512 (alsa-utils-1.2.13.tar.bz2) = 0e2fb5b6e497b977badba2ebe2bddfc819654d24001622e0299e4034210caeeea2f3c2c2d1d260a48caefb6584e0b989fdb7036c6012108c8c38d89b3cb04c78 From f2a7ee768e02c4ed78650a6d924e5053525a3b9a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 12 Nov 2024 13:49:19 +0100 Subject: [PATCH 06/20] update to 1.2.13 Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 19 +++++++++++++------ alsa.rules | 8 -------- sources | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) delete mode 100644 alsa.rules diff --git a/alsa-utils.spec b/alsa-utils.spec index bfbd63d..10afa66 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,4 +1,4 @@ -%define baseversion 1.2.12 +%define baseversion 1.2.13 #define fixversion .2 %global _hardened_build 1 @@ -12,7 +12,6 @@ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 #Patch1: alsa-utils-git.patch Source4: alsaunmute Source5: alsaunmute.1 -Source10: alsa.rules Source11: alsactl.conf Source20: alsa-restore.service Source22: alsa-state.service @@ -69,7 +68,9 @@ Architecture (ALSA) framework and Fast Fourier Transform library. autoreconf -vif %configure CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" --disable-alsaconf \ --with-udev-rules-dir=%{_prefix}/lib/udev/rules.d \ - --with-systemdsystemunitdir=%{_unitdir} + --with-systemdsystemunitdir=%{_unitdir} \ + --with-alsactl-udev-args="-E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main" \ + --with-alsactl-udev-extra-test="" make %{?_smp_mflags} cp %{SOURCE4} . @@ -79,9 +80,8 @@ cp %{SOURCE4} . make install DESTDIR=%{buildroot} %find_lang %{name} -# Install ALSA udev rules +# Install ALSA udev rules and services mkdir -p %{buildroot}/%{_prefix}/lib/udev/rules.d -install -p -m 644 %{SOURCE10} %{buildroot}/%{_prefix}/lib/udev/rules.d/90-alsa-restore.rules mkdir -p %{buildroot}/%{_unitdir} install -p -m 644 %{SOURCE20} %{buildroot}/%{_unitdir}/alsa-restore.service install -p -m 644 %{SOURCE22} %{buildroot}/%{_unitdir}/alsa-state.service @@ -113,7 +113,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %config /etc/alsa/* %{_prefix}/lib/udev/rules.d/* %{_unitdir}/* -%{_unitdir}/sound.target.wants/* +#{_unitdir}/sound.target.wants/* %{alsacfgdir}/init/* %{_bindir}/aconnect %{_bindir}/alsaloop @@ -123,8 +123,10 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_bindir}/amixer %{_bindir}/aplay %{_bindir}/aplaymidi +%{_bindir}/aplaymidi2 %{_bindir}/arecord %{_bindir}/arecordmidi +%{_bindir}/arecordmidi2 %{_bindir}/aseqdump %{_bindir}/aseqnet %{_bindir}/aseqsend @@ -145,8 +147,10 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_mandir}/man1/amixer.1.gz %{_mandir}/man1/aplay.1.gz %{_mandir}/man1/aplaymidi.1.gz +%{_mandir}/man1/aplaymidi2.1.gz %{_mandir}/man1/arecord.1.gz %{_mandir}/man1/arecordmidi.1.gz +%{_mandir}/man1/arecordmidi2.1.gz %{_mandir}/man1/aseqdump.1.gz %{_mandir}/man1/aseqnet.1.gz %{_mandir}/man1/aseqsend.1.gz @@ -201,6 +205,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Tue Nov 12 2024 Jaroslav Kysela - 1.2.13-1 +* Updated to 1.2.13 + * Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 * Updated to 1.2.12 diff --git a/alsa.rules b/alsa.rules deleted file mode 100644 index 6a4a0c3..0000000 --- a/alsa.rules +++ /dev/null @@ -1,8 +0,0 @@ -ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", GOTO="alsa_restore_go" -GOTO="alsa_restore_end" - -LABEL="alsa_restore_go" -TEST!="/etc/alsa/state-daemon.conf", RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main restore /dev/$name" -TEST=="/etc/alsa/state-daemon.conf", RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main nrestore /dev/$name" - -LABEL="alsa_restore_end" diff --git a/sources b/sources index 7b77ab3..96a6018 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.12.tar.bz2) = 6631f9f8e32fbb1f7b06af086cdfb8349c2d70188c4509ab46fa105024fbde9985985d9cc738c7b5a743cacaaeae7a7006f8ef92f66a50762f7df5d714bf548b +SHA512 (alsa-utils-1.2.13.tar.bz2) = 0e2fb5b6e497b977badba2ebe2bddfc819654d24001622e0299e4034210caeeea2f3c2c2d1d260a48caefb6584e0b989fdb7036c6012108c8c38d89b3cb04c78 From 65c6a14b105168059fc20dc61248d616371d88fe Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 14 Nov 2024 09:49:39 +0100 Subject: [PATCH 07/20] fix 90-alsa-restore.rules.in Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 40 ++++++++++++++++++++++++++++++++++++++++ alsa-utils.spec | 7 ++++--- 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 alsa-git.patch diff --git a/alsa-git.patch b/alsa-git.patch new file mode 100644 index 0000000..7dcbf59 --- /dev/null +++ b/alsa-git.patch @@ -0,0 +1,40 @@ +From f90124c73edd050b24961197a4abcf17e53b41a8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 14 Nov 2024 09:38:49 +0100 +Subject: [PATCH] alsactl: 90-alsa-restore.rules - fix alsa_restore_go/std + +Fix the label mismatch which was introduced in the transition from the +temporary test rules. + +Closes: https://github.com/alsa-project/alsa-utils/issues/280 +Fixes: 8116639 ("alsactl: 90-alsa-restore.rules - add support for AMD ACP digital microphone") +Signed-off-by: Jaroslav Kysela +--- + alsactl/90-alsa-restore.rules.in | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in +index 85f0b15..dae2ed8 100644 +--- a/alsactl/90-alsa-restore.rules.in ++++ b/alsactl/90-alsa-restore.rules.in +@@ -3,6 +3,8 @@ + ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*",@extratest@ GOTO="alsa_restore_go" + GOTO="alsa_restore_end" + ++LABEL="alsa_restore_go" ++ + ENV{ALSA_CARD_NUMBER}="$attr{device/number}" + + # mark HDA analog card; HDMI/DP card does not have capture devices +@@ -21,7 +23,7 @@ TEST!="/run/udev/alsa-hda-analog-card", GOTO="alsa_restore_std" + IMPORT{program}="/usr/bin/cat /run/udev/alsa-hda-analog-card" + ENV{ALSA_CARD_HDA_ANALOG}!="", ENV{ALSA_CARD_NUMBER}="$env{ALSA_CARD_HDA_ANALOG}" + +-LABEL="alsa_restore_go" ++LABEL="alsa_restore_std" + TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ restore $env{ALSA_CARD_NUMBER}" + TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ nrestore $env{ALSA_CARD_NUMBER}" + +-- +2.47.0 + diff --git a/alsa-utils.spec b/alsa-utils.spec index f75f846..9256941 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -5,7 +5,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -15,6 +15,7 @@ Source5: alsaunmute.1 Source11: alsactl.conf Source20: alsa-restore.service Source22: alsa-state.service +Patch1: alsa-git.patch BuildRequires: gcc BuildRequires: autoconf automake libtool @@ -62,7 +63,7 @@ Architecture (ALSA) framework and Fast Fourier Transform library. %prep %setup -q -n %{name}-%{version} -#patch -P 1 -p1 -b .alsa-git +%patch -P1 -p1 -b .alsa-git %build autoreconf -vif @@ -205,7 +206,7 @@ fi %systemd_postun_with_restart alsa-state.service %changelog -* Tue Nov 12 2024 Jaroslav Kysela - 1.2.13-1 +* Thu Nov 14 2024 Jaroslav Kysela - 1.2.13-2 * Updated to 1.2.13 * Wed Jul 17 2024 Fedora Release Engineering - 1.2.12-2 From 571c49593239e44f72be38e1dd0fa6209a768a08 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 14 Nov 2024 09:49:39 +0100 Subject: [PATCH 08/20] fix 90-alsa-restore.rules.in Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 40 ++++++++++++++++++++++++++++++++++++++++ alsa-utils.spec | 7 ++++--- 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 alsa-git.patch diff --git a/alsa-git.patch b/alsa-git.patch new file mode 100644 index 0000000..7dcbf59 --- /dev/null +++ b/alsa-git.patch @@ -0,0 +1,40 @@ +From f90124c73edd050b24961197a4abcf17e53b41a8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 14 Nov 2024 09:38:49 +0100 +Subject: [PATCH] alsactl: 90-alsa-restore.rules - fix alsa_restore_go/std + +Fix the label mismatch which was introduced in the transition from the +temporary test rules. + +Closes: https://github.com/alsa-project/alsa-utils/issues/280 +Fixes: 8116639 ("alsactl: 90-alsa-restore.rules - add support for AMD ACP digital microphone") +Signed-off-by: Jaroslav Kysela +--- + alsactl/90-alsa-restore.rules.in | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in +index 85f0b15..dae2ed8 100644 +--- a/alsactl/90-alsa-restore.rules.in ++++ b/alsactl/90-alsa-restore.rules.in +@@ -3,6 +3,8 @@ + ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*",@extratest@ GOTO="alsa_restore_go" + GOTO="alsa_restore_end" + ++LABEL="alsa_restore_go" ++ + ENV{ALSA_CARD_NUMBER}="$attr{device/number}" + + # mark HDA analog card; HDMI/DP card does not have capture devices +@@ -21,7 +23,7 @@ TEST!="/run/udev/alsa-hda-analog-card", GOTO="alsa_restore_std" + IMPORT{program}="/usr/bin/cat /run/udev/alsa-hda-analog-card" + ENV{ALSA_CARD_HDA_ANALOG}!="", ENV{ALSA_CARD_NUMBER}="$env{ALSA_CARD_HDA_ANALOG}" + +-LABEL="alsa_restore_go" ++LABEL="alsa_restore_std" + TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ restore $env{ALSA_CARD_NUMBER}" + TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ nrestore $env{ALSA_CARD_NUMBER}" + +-- +2.47.0 + diff --git a/alsa-utils.spec b/alsa-utils.spec index 10afa66..5edb707 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -5,7 +5,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -15,6 +15,7 @@ Source5: alsaunmute.1 Source11: alsactl.conf Source20: alsa-restore.service Source22: alsa-state.service +Patch1: alsa-git.patch BuildRequires: gcc BuildRequires: autoconf automake libtool @@ -62,7 +63,7 @@ Architecture (ALSA) framework and Fast Fourier Transform library. %prep %setup -q -n %{name}-%{version} -#patch -P 1 -p1 -b .alsa-git +%patch -P1 -p1 -b .alsa-git %build autoreconf -vif @@ -205,7 +206,7 @@ fi %systemd_postun_with_restart alsa-state.service %changelog -* Tue Nov 12 2024 Jaroslav Kysela - 1.2.13-1 +* Thu Nov 14 2024 Jaroslav Kysela - 1.2.13-2 * Updated to 1.2.13 * Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 From 6b0bfe65021dbfdc1b5d47bfe53165377f60e356 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 10:55:10 +0000 Subject: [PATCH 09/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- alsa-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 9256941..67416c8 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -5,7 +5,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 2%{?dist} +Release: 3%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -206,6 +206,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 1.2.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Thu Nov 14 2024 Jaroslav Kysela - 1.2.13-2 * Updated to 1.2.13 From 8af5b81ac1092118c5a9ba2b9cab6f3a446a2f5e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 14 Apr 2025 14:58:51 +0200 Subject: [PATCH 10/20] update to 1.2.14 Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 40 ---------------------------------------- alsa-utils.spec | 9 ++++++--- sources | 2 +- 3 files changed, 7 insertions(+), 44 deletions(-) delete mode 100644 alsa-git.patch diff --git a/alsa-git.patch b/alsa-git.patch deleted file mode 100644 index 7dcbf59..0000000 --- a/alsa-git.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f90124c73edd050b24961197a4abcf17e53b41a8 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Thu, 14 Nov 2024 09:38:49 +0100 -Subject: [PATCH] alsactl: 90-alsa-restore.rules - fix alsa_restore_go/std - -Fix the label mismatch which was introduced in the transition from the -temporary test rules. - -Closes: https://github.com/alsa-project/alsa-utils/issues/280 -Fixes: 8116639 ("alsactl: 90-alsa-restore.rules - add support for AMD ACP digital microphone") -Signed-off-by: Jaroslav Kysela ---- - alsactl/90-alsa-restore.rules.in | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in -index 85f0b15..dae2ed8 100644 ---- a/alsactl/90-alsa-restore.rules.in -+++ b/alsactl/90-alsa-restore.rules.in -@@ -3,6 +3,8 @@ - ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*",@extratest@ GOTO="alsa_restore_go" - GOTO="alsa_restore_end" - -+LABEL="alsa_restore_go" -+ - ENV{ALSA_CARD_NUMBER}="$attr{device/number}" - - # mark HDA analog card; HDMI/DP card does not have capture devices -@@ -21,7 +23,7 @@ TEST!="/run/udev/alsa-hda-analog-card", GOTO="alsa_restore_std" - IMPORT{program}="/usr/bin/cat /run/udev/alsa-hda-analog-card" - ENV{ALSA_CARD_HDA_ANALOG}!="", ENV{ALSA_CARD_NUMBER}="$env{ALSA_CARD_HDA_ANALOG}" - --LABEL="alsa_restore_go" -+LABEL="alsa_restore_std" - TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ restore $env{ALSA_CARD_NUMBER}" - TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl@args@ nrestore $env{ALSA_CARD_NUMBER}" - --- -2.47.0 - diff --git a/alsa-utils.spec b/alsa-utils.spec index 67416c8..3091a0e 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,11 +1,11 @@ -%define baseversion 1.2.13 +%define baseversion 1.2.14 #define fixversion .2 %global _hardened_build 1 Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 3%{?dist} +Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -15,7 +15,7 @@ Source5: alsaunmute.1 Source11: alsactl.conf Source20: alsa-restore.service Source22: alsa-state.service -Patch1: alsa-git.patch +#Patch1: alsa-git.patch BuildRequires: gcc BuildRequires: autoconf automake libtool @@ -206,6 +206,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Mon Apr 14 2025 Jaroslav Kysela - 1.2.14-1 +* Updated to 1.2.14 + * Thu Jan 16 2025 Fedora Release Engineering - 1.2.13-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 96a6018..1182a6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.13.tar.bz2) = 0e2fb5b6e497b977badba2ebe2bddfc819654d24001622e0299e4034210caeeea2f3c2c2d1d260a48caefb6584e0b989fdb7036c6012108c8c38d89b3cb04c78 +SHA512 (alsa-utils-1.2.14.tar.bz2) = dd470a2f5210822cc4d3ded094b84721a07904df5c32dd329e0cb4c052d39e3e6d7ddb511cde2d23b3f6824c71fba9dbdca369355d5c03b234e989dbbb9b7a95 From b4926c6a5404b1146448f7379da90f85e944f8a0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 14 Apr 2025 15:37:16 +0200 Subject: [PATCH 11/20] alsa-info.sh.1.gz -> alsa-info.sh.8.gz --- alsa-utils.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 3091a0e..13adf5f 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -161,7 +161,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_mandir}/man1/iecset.1.gz %{_mandir}/man1/speaker-test.1.gz %{_mandir}/man1/aconnect.1.gz -%{_mandir}/man1/alsa-info.sh.1.gz +%{_mandir}/man1/alsa-info.sh.8.gz %{_mandir}/man1/nhlt-dmic-info.1.gz %dir /etc/alsa/ From c6dfe02d6fa7e9472fd96d9e21e77d904963e66e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 14 Apr 2025 15:47:47 +0200 Subject: [PATCH 12/20] alsa-info.sh.1.gz -> alsa-info.sh.8.gz (man1 -> man8) --- alsa-utils.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 13adf5f..4f7383e 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -161,7 +161,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_mandir}/man1/iecset.1.gz %{_mandir}/man1/speaker-test.1.gz %{_mandir}/man1/aconnect.1.gz -%{_mandir}/man1/alsa-info.sh.8.gz +%{_mandir}/man8/alsa-info.sh.8.gz %{_mandir}/man1/nhlt-dmic-info.1.gz %dir /etc/alsa/ From b81158d8ee5d1613eab7ba56ca76743471ec4e5e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 16:55:31 +0000 Subject: [PATCH 13/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- alsa-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 4f7383e..6a3778f 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -5,7 +5,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -206,6 +206,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 1.2.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Apr 14 2025 Jaroslav Kysela - 1.2.14-1 * Updated to 1.2.14 From 234977f2a869a4e7018ae9c8e2f9931d7980512e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 8 Dec 2025 09:52:04 +0100 Subject: [PATCH 14/20] update to 1.2.15 Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 6a3778f..63e9d2f 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,11 +1,11 @@ -%define baseversion 1.2.14 +%define baseversion 1.2.15 #define fixversion .2 %global _hardened_build 1 Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 2%{?dist} +Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -206,6 +206,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Mon Dec 8 2025 Jaroslav Kysela - 1.2.15-1 +* Updated to 1.2.15 + * Wed Jul 23 2025 Fedora Release Engineering - 1.2.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/sources b/sources index 1182a6f..00b108e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.14.tar.bz2) = dd470a2f5210822cc4d3ded094b84721a07904df5c32dd329e0cb4c052d39e3e6d7ddb511cde2d23b3f6824c71fba9dbdca369355d5c03b234e989dbbb9b7a95 +SHA512 (alsa-utils-1.2.15.tar.bz2) = 34b275d8a3c56e59a9f9e440ee6859d70d5d69a992a80593b6bcdd0eb8ac8ee93878f4e63381eb310af82f287ed1b6f7593d2a03ab7acb487c98511355d11d82 From d2872e5bc61890a05d38f27231bc0995fb38c08c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 8 Dec 2025 12:42:18 +0100 Subject: [PATCH 15/20] cleanup files section Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 63e9d2f..6b5c058 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -5,7 +5,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -117,9 +117,11 @@ find %{buildroot} -name "*.la" -exec rm {} \; #{_unitdir}/sound.target.wants/* %{alsacfgdir}/init/* %{_bindir}/aconnect +%{_sbindir}/alsactl %{_bindir}/alsaloop %{_bindir}/alsamixer %{_bindir}/alsaunmute +%{_sbindir}/alsa-info.sh %{_bindir}/amidi %{_bindir}/amixer %{_bindir}/aplay @@ -133,10 +135,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_bindir}/aseqsend %{_bindir}/axfer %{_bindir}/iecset -%{_bindir}/speaker-test %{_bindir}/nhlt-dmic-info -%{_sbindir}/* -%exclude %{_sbindir}/alsabat-test.sh +%{_bindir}/speaker-test %{_datadir}/alsa/ %{_datadir}/sounds/* %{_mandir}/man7/* @@ -206,7 +206,7 @@ fi %systemd_postun_with_restart alsa-state.service %changelog -* Mon Dec 8 2025 Jaroslav Kysela - 1.2.15-1 +* Mon Dec 8 2025 Jaroslav Kysela - 1.2.15-2 * Updated to 1.2.15 * Wed Jul 23 2025 Fedora Release Engineering - 1.2.14-2 From 712def8d0778b7bfe78e9eeab0c41ed2fcbdbef4 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 19 Dec 2025 12:06:59 +0100 Subject: [PATCH 16/20] update to 1.2.15.1 Signed-off-by: Jaroslav Kysela --- alsa-utils.spec | 16 ++++++++++++---- sources | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 6b5c058..e5b3277 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,21 +1,24 @@ %define baseversion 1.2.15 -#define fixversion .2 +%define fixversion .1 %global _hardened_build 1 +%global utils_patch 0 + Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 2%{?dist} +Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 -#Patch1: alsa-utils-git.patch Source4: alsaunmute Source5: alsaunmute.1 Source11: alsactl.conf Source20: alsa-restore.service Source22: alsa-state.service -#Patch1: alsa-git.patch +%if %{utils_patch} +Patch1: alsa-git.patch +%endif BuildRequires: gcc BuildRequires: autoconf automake libtool @@ -63,7 +66,9 @@ Architecture (ALSA) framework and Fast Fourier Transform library. %prep %setup -q -n %{name}-%{version} +%if %{utils_patch} %patch -P1 -p1 -b .alsa-git +%endif %build autoreconf -vif @@ -206,6 +211,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Fri Dec 19 2025 Jaroslav Kysela - 1.2.15.1-1 +* Updated to 1.2.15.1 + * Mon Dec 8 2025 Jaroslav Kysela - 1.2.15-2 * Updated to 1.2.15 diff --git a/sources b/sources index 00b108e..dbe6504 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.15.tar.bz2) = 34b275d8a3c56e59a9f9e440ee6859d70d5d69a992a80593b6bcdd0eb8ac8ee93878f4e63381eb310af82f287ed1b6f7593d2a03ab7acb487c98511355d11d82 +SHA512 (alsa-utils-1.2.15.1.tar.bz2) = f961c6f85244a6f10708f7e352e1eaa05fc898ec9e0d26e792efe4d2934568a455836035b311376dd03568f6c3607fad8702c5958c5874304d7afd6b8d5906e0 From 6832b4487fc690ee9e81d3fea0c8350e03f8dda0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 1 Jan 2026 18:05:33 +0100 Subject: [PATCH 17/20] Apply fix to alsactl (card detection issue) Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 35 +++++++++++++++++++++++++++++++++++ alsa-utils.spec | 7 +++++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 alsa-git.patch diff --git a/alsa-git.patch b/alsa-git.patch new file mode 100644 index 0000000..1025925 --- /dev/null +++ b/alsa-git.patch @@ -0,0 +1,35 @@ +From 120568fbb5b2ea5d4359c8e37f6d47d712e14698 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 1 Jan 2026 17:51:25 +0100 +Subject: [PATCH] alsactl: add missing call to clean card specific config files + +The card specific configuration files created at runtime must +be removed before UCM fixed boot sequence in the standard +restore operation. + +Fixes: https://github.com/alsa-project/alsa-lib/issues/492 +Signed-off-by: Jaroslav Kysela +--- + alsactl/state.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/alsactl/state.c b/alsactl/state.c +index 2942f3f..7c6e6d1 100644 +--- a/alsactl/state.c ++++ b/alsactl/state.c +@@ -1790,6 +1790,12 @@ int load_state(const char *cfgdir, const char *file, + finalerr = lock_fd; + continue; + } ++ err = snd_card_clean_cfgdir(cfgdir, iter.card); ++ if (err < 0) { ++ initfailed(iter.card, "cfgdir", err); ++ finalerr = err; ++ continue; ++ } + /* error is ignored */ + err = init_ucm(initflags | FLAG_UCM_FBOOT, iter.card); + /* return code 1 and 2 -> postpone initialization */ +-- +2.52.0 + diff --git a/alsa-utils.spec b/alsa-utils.spec index e5b3277..f84a811 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -2,12 +2,12 @@ %define fixversion .1 %global _hardened_build 1 -%global utils_patch 0 +%global utils_patch 1 Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -211,6 +211,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Thu Jan 1 2026 Jaroslav Kysela - 1.2.15.1-2 +* Apply fix to alsactl (card detection issue) + * Fri Dec 19 2025 Jaroslav Kysela - 1.2.15.1-1 * Updated to 1.2.15.1 From af596e344c9d37e24bf218753b87a6191c967a23 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 1 Jan 2026 18:44:59 +0100 Subject: [PATCH 18/20] Apply fix to alsactl (card detection issue) #2 Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 158 +++++++++++++++++++++++++++++++++++++++++++++++- alsa-utils.spec | 4 +- 2 files changed, 159 insertions(+), 3 deletions(-) diff --git a/alsa-git.patch b/alsa-git.patch index 1025925..7e361f1 100644 --- a/alsa-git.patch +++ b/alsa-git.patch @@ -1,7 +1,8 @@ From 120568fbb5b2ea5d4359c8e37f6d47d712e14698 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 1 Jan 2026 17:51:25 +0100 -Subject: [PATCH] alsactl: add missing call to clean card specific config files +Subject: [PATCH 1/2] alsactl: add missing call to clean card specific config + files The card specific configuration files created at runtime must be removed before UCM fixed boot sequence in the standard @@ -33,3 +34,158 @@ index 2942f3f..7c6e6d1 100644 -- 2.52.0 + +From 254528c42706524ff82378cf740d07b472cba2cc Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 1 Jan 2026 18:39:38 +0100 +Subject: [PATCH 2/2] alsactl: fix sequence to clean card specific config files + for UCM + +For UCM, card-specific config files should be removed only when the fixed +boot flag is set or if the card is not the primary card in a given card +group. + +Signed-off-by: Jaroslav Kysela +--- + alsactl/alsactl.h | 2 +- + alsactl/init_parse.c | 2 +- + alsactl/init_ucm.c | 25 ++++++++++++++++++++----- + alsactl/state.c | 16 +++++++++------- + 4 files changed, 31 insertions(+), 14 deletions(-) + +diff --git a/alsactl/alsactl.h b/alsactl/alsactl.h +index 2aefb89..9f17284 100644 +--- a/alsactl/alsactl.h ++++ b/alsactl/alsactl.h +@@ -68,7 +68,7 @@ int snd_card_iterator_error(struct snd_card_iterator *iter); + + int load_configuration(const char *file, snd_config_t **top, int *open_failed); + int init(const char *cfgdir, const char *file, int flags, const char *cardname); +-int init_ucm(int flags, int cardno); ++int init_ucm(const char *cfgdir, int flags, int cardno); + bool validate_boot_time(long long boot_time, long long current_time, long long synctime); + int read_boot_params(snd_ctl_t *handle, long long *boot_time, long long *sync_time, long long *restore_time, long long *primary_card); + int write_boot_params(snd_ctl_t *handle, long long boot_time, long long sync_time, long long restore_time, long long primary_card); +diff --git a/alsactl/init_parse.c b/alsactl/init_parse.c +index a34cb0e..a437392 100644 +--- a/alsactl/init_parse.c ++++ b/alsactl/init_parse.c +@@ -1761,7 +1761,7 @@ int init(const char *cfgdir, const char *filename, int flags, const char *cardna + lasterr = err; + continue; + } +- err = init_ucm(flags, iter.card); ++ err = init_ucm(cfgdir, flags, iter.card); + if (err == 0 || card_state_is_okay(err)) + continue; + err = init_space(&space, iter.card); +diff --git a/alsactl/init_ucm.c b/alsactl/init_ucm.c +index 60967c4..c168427 100644 +--- a/alsactl/init_ucm.c ++++ b/alsactl/init_ucm.c +@@ -137,11 +137,17 @@ static int reopen_ucm_manager(snd_use_case_mgr_t **uc_mgr, int cardno, int flags + * Helper: Execute boot sequences + * Returns: 0 on success, negative on error + */ +-static int execute_boot_sequences(snd_use_case_mgr_t *uc_mgr, int flags, bool fixed_boot) ++static int execute_boot_sequences(const char *cfgdir, snd_use_case_mgr_t *uc_mgr, ++ int cardno, int flags, bool fixed_boot) + { + int err = 0; + + if (fixed_boot) { ++ err = snd_card_clean_cfgdir(cfgdir, cardno); ++ if (err < 0) { ++ dbg("ucm clean cfgdir: %d", err); ++ return err; ++ } + err = snd_use_case_set(uc_mgr, "_fboot", NULL); + dbg("ucm _fboot: %d", err); + if (err == -ENOENT && (flags & FLAG_UCM_BOOT) != 0) { +@@ -170,7 +176,7 @@ static int execute_boot_sequences(snd_use_case_mgr_t *uc_mgr, int flags, bool fi + * Handle also card groups. + * Returns: 0 = success, 1 = skip this card (e.g. linked or in-sync), negative on error + */ +-int init_ucm(int flags, int cardno) ++int init_ucm(const char *cfgdir, int flags, int cardno) + { + snd_use_case_mgr_t *uc_mgr; + char id[64]; +@@ -268,7 +274,7 @@ int init_ucm(int flags, int cardno) + } + + _execute_boot: +- if (flags & FLAG_UCM_FBOOT) ++ if (fixed_boot) + restored = true; + + if (boot_card_group) { +@@ -277,7 +283,7 @@ _execute_boot: + goto _error; + } + +- err = execute_boot_sequences(uc_mgr, flags, fixed_boot); ++ err = execute_boot_sequences(cfgdir, uc_mgr, cardno, flags, fixed_boot); + if (err < 0) + goto _error; + +@@ -286,6 +292,15 @@ _execute_boot: + _error: + snd_use_case_mgr_close(uc_mgr); + _fin: ++ if (fixed_boot && primary_card >= 0 && primary_card != cardno) { ++ /* remove card specific configuration files for other cards in group */ ++ int clean_err = snd_card_clean_cfgdir(cfgdir, cardno); ++ if (clean_err < 0) { ++ dbg("ucm clean cfgdir: %d", clean_err); ++ if (err >= 0) ++ err = clean_err; ++ } ++ } + if (lock_fd >= 0) + group_state_unlock(lock_fd, groupfile); + if (ctl) +@@ -298,7 +313,7 @@ _fin: + + #else + +-int init_ucm(int flags, int cardno) ++int init_ucm(const char *cfgdir, int flags, int cardno) + { + return -ENXIO; + } +diff --git a/alsactl/state.c b/alsactl/state.c +index 7c6e6d1..79bd309 100644 +--- a/alsactl/state.c ++++ b/alsactl/state.c +@@ -1790,18 +1790,20 @@ int load_state(const char *cfgdir, const char *file, + finalerr = lock_fd; + continue; + } +- err = snd_card_clean_cfgdir(cfgdir, iter.card); +- if (err < 0) { +- initfailed(iter.card, "cfgdir", err); +- finalerr = err; +- continue; +- } + /* error is ignored */ +- err = init_ucm(initflags | FLAG_UCM_FBOOT, iter.card); ++ err = init_ucm(cfgdir, initflags | FLAG_UCM_FBOOT, iter.card); + /* return code 1 and 2 -> postpone initialization */ + if (card_state_is_okay(err)) { + export_card_state_set(iter.card, err); + goto unlock_card; ++ } else if (err < 0) { ++ /* no UCM - remove card specific configuration */ ++ err = snd_card_clean_cfgdir(cfgdir, iter.card); ++ if (err < 0) { ++ initfailed(iter.card, "cfgdir", err); ++ finalerr = err; ++ continue; ++ } + } + /* do a check if controls matches state file */ + if (do_init && set_controls(iter.card, config, 0)) { +-- +2.52.0 + diff --git a/alsa-utils.spec b/alsa-utils.spec index f84a811..c873252 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -7,7 +7,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 2%{?dist} +Release: 3%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -211,7 +211,7 @@ fi %systemd_postun_with_restart alsa-state.service %changelog -* Thu Jan 1 2026 Jaroslav Kysela - 1.2.15.1-2 +* Thu Jan 1 2026 Jaroslav Kysela - 1.2.15.1-3 * Apply fix to alsactl (card detection issue) * Fri Dec 19 2025 Jaroslav Kysela - 1.2.15.1-1 From e5f06f10f794a8616ed192e477be714f3e0e3e6d Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 8 Jan 2026 15:51:18 +0100 Subject: [PATCH 19/20] update to 1.2.15.2 Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 191 ------------------------------------------------ alsa-utils.spec | 9 ++- sources | 2 +- 3 files changed, 7 insertions(+), 195 deletions(-) delete mode 100644 alsa-git.patch diff --git a/alsa-git.patch b/alsa-git.patch deleted file mode 100644 index 7e361f1..0000000 --- a/alsa-git.patch +++ /dev/null @@ -1,191 +0,0 @@ -From 120568fbb5b2ea5d4359c8e37f6d47d712e14698 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Thu, 1 Jan 2026 17:51:25 +0100 -Subject: [PATCH 1/2] alsactl: add missing call to clean card specific config - files - -The card specific configuration files created at runtime must -be removed before UCM fixed boot sequence in the standard -restore operation. - -Fixes: https://github.com/alsa-project/alsa-lib/issues/492 -Signed-off-by: Jaroslav Kysela ---- - alsactl/state.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/alsactl/state.c b/alsactl/state.c -index 2942f3f..7c6e6d1 100644 ---- a/alsactl/state.c -+++ b/alsactl/state.c -@@ -1790,6 +1790,12 @@ int load_state(const char *cfgdir, const char *file, - finalerr = lock_fd; - continue; - } -+ err = snd_card_clean_cfgdir(cfgdir, iter.card); -+ if (err < 0) { -+ initfailed(iter.card, "cfgdir", err); -+ finalerr = err; -+ continue; -+ } - /* error is ignored */ - err = init_ucm(initflags | FLAG_UCM_FBOOT, iter.card); - /* return code 1 and 2 -> postpone initialization */ --- -2.52.0 - - -From 254528c42706524ff82378cf740d07b472cba2cc Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Thu, 1 Jan 2026 18:39:38 +0100 -Subject: [PATCH 2/2] alsactl: fix sequence to clean card specific config files - for UCM - -For UCM, card-specific config files should be removed only when the fixed -boot flag is set or if the card is not the primary card in a given card -group. - -Signed-off-by: Jaroslav Kysela ---- - alsactl/alsactl.h | 2 +- - alsactl/init_parse.c | 2 +- - alsactl/init_ucm.c | 25 ++++++++++++++++++++----- - alsactl/state.c | 16 +++++++++------- - 4 files changed, 31 insertions(+), 14 deletions(-) - -diff --git a/alsactl/alsactl.h b/alsactl/alsactl.h -index 2aefb89..9f17284 100644 ---- a/alsactl/alsactl.h -+++ b/alsactl/alsactl.h -@@ -68,7 +68,7 @@ int snd_card_iterator_error(struct snd_card_iterator *iter); - - int load_configuration(const char *file, snd_config_t **top, int *open_failed); - int init(const char *cfgdir, const char *file, int flags, const char *cardname); --int init_ucm(int flags, int cardno); -+int init_ucm(const char *cfgdir, int flags, int cardno); - bool validate_boot_time(long long boot_time, long long current_time, long long synctime); - int read_boot_params(snd_ctl_t *handle, long long *boot_time, long long *sync_time, long long *restore_time, long long *primary_card); - int write_boot_params(snd_ctl_t *handle, long long boot_time, long long sync_time, long long restore_time, long long primary_card); -diff --git a/alsactl/init_parse.c b/alsactl/init_parse.c -index a34cb0e..a437392 100644 ---- a/alsactl/init_parse.c -+++ b/alsactl/init_parse.c -@@ -1761,7 +1761,7 @@ int init(const char *cfgdir, const char *filename, int flags, const char *cardna - lasterr = err; - continue; - } -- err = init_ucm(flags, iter.card); -+ err = init_ucm(cfgdir, flags, iter.card); - if (err == 0 || card_state_is_okay(err)) - continue; - err = init_space(&space, iter.card); -diff --git a/alsactl/init_ucm.c b/alsactl/init_ucm.c -index 60967c4..c168427 100644 ---- a/alsactl/init_ucm.c -+++ b/alsactl/init_ucm.c -@@ -137,11 +137,17 @@ static int reopen_ucm_manager(snd_use_case_mgr_t **uc_mgr, int cardno, int flags - * Helper: Execute boot sequences - * Returns: 0 on success, negative on error - */ --static int execute_boot_sequences(snd_use_case_mgr_t *uc_mgr, int flags, bool fixed_boot) -+static int execute_boot_sequences(const char *cfgdir, snd_use_case_mgr_t *uc_mgr, -+ int cardno, int flags, bool fixed_boot) - { - int err = 0; - - if (fixed_boot) { -+ err = snd_card_clean_cfgdir(cfgdir, cardno); -+ if (err < 0) { -+ dbg("ucm clean cfgdir: %d", err); -+ return err; -+ } - err = snd_use_case_set(uc_mgr, "_fboot", NULL); - dbg("ucm _fboot: %d", err); - if (err == -ENOENT && (flags & FLAG_UCM_BOOT) != 0) { -@@ -170,7 +176,7 @@ static int execute_boot_sequences(snd_use_case_mgr_t *uc_mgr, int flags, bool fi - * Handle also card groups. - * Returns: 0 = success, 1 = skip this card (e.g. linked or in-sync), negative on error - */ --int init_ucm(int flags, int cardno) -+int init_ucm(const char *cfgdir, int flags, int cardno) - { - snd_use_case_mgr_t *uc_mgr; - char id[64]; -@@ -268,7 +274,7 @@ int init_ucm(int flags, int cardno) - } - - _execute_boot: -- if (flags & FLAG_UCM_FBOOT) -+ if (fixed_boot) - restored = true; - - if (boot_card_group) { -@@ -277,7 +283,7 @@ _execute_boot: - goto _error; - } - -- err = execute_boot_sequences(uc_mgr, flags, fixed_boot); -+ err = execute_boot_sequences(cfgdir, uc_mgr, cardno, flags, fixed_boot); - if (err < 0) - goto _error; - -@@ -286,6 +292,15 @@ _execute_boot: - _error: - snd_use_case_mgr_close(uc_mgr); - _fin: -+ if (fixed_boot && primary_card >= 0 && primary_card != cardno) { -+ /* remove card specific configuration files for other cards in group */ -+ int clean_err = snd_card_clean_cfgdir(cfgdir, cardno); -+ if (clean_err < 0) { -+ dbg("ucm clean cfgdir: %d", clean_err); -+ if (err >= 0) -+ err = clean_err; -+ } -+ } - if (lock_fd >= 0) - group_state_unlock(lock_fd, groupfile); - if (ctl) -@@ -298,7 +313,7 @@ _fin: - - #else - --int init_ucm(int flags, int cardno) -+int init_ucm(const char *cfgdir, int flags, int cardno) - { - return -ENXIO; - } -diff --git a/alsactl/state.c b/alsactl/state.c -index 7c6e6d1..79bd309 100644 ---- a/alsactl/state.c -+++ b/alsactl/state.c -@@ -1790,18 +1790,20 @@ int load_state(const char *cfgdir, const char *file, - finalerr = lock_fd; - continue; - } -- err = snd_card_clean_cfgdir(cfgdir, iter.card); -- if (err < 0) { -- initfailed(iter.card, "cfgdir", err); -- finalerr = err; -- continue; -- } - /* error is ignored */ -- err = init_ucm(initflags | FLAG_UCM_FBOOT, iter.card); -+ err = init_ucm(cfgdir, initflags | FLAG_UCM_FBOOT, iter.card); - /* return code 1 and 2 -> postpone initialization */ - if (card_state_is_okay(err)) { - export_card_state_set(iter.card, err); - goto unlock_card; -+ } else if (err < 0) { -+ /* no UCM - remove card specific configuration */ -+ err = snd_card_clean_cfgdir(cfgdir, iter.card); -+ if (err < 0) { -+ initfailed(iter.card, "cfgdir", err); -+ finalerr = err; -+ continue; -+ } - } - /* do a check if controls matches state file */ - if (do_init && set_controls(iter.card, config, 0)) { --- -2.52.0 - diff --git a/alsa-utils.spec b/alsa-utils.spec index c873252..6a4f794 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,13 +1,13 @@ %define baseversion 1.2.15 -%define fixversion .1 +%define fixversion .2 %global _hardened_build 1 -%global utils_patch 1 +%global utils_patch 0 Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 3%{?dist} +Release: 1%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -211,6 +211,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Thu Jan 8 2026 Jaroslav Kysela - 1.2.15.2-1 +* Updated to 1.2.15.2 + * Thu Jan 1 2026 Jaroslav Kysela - 1.2.15.1-3 * Apply fix to alsactl (card detection issue) diff --git a/sources b/sources index dbe6504..ad5e1c4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-utils-1.2.15.1.tar.bz2) = f961c6f85244a6f10708f7e352e1eaa05fc898ec9e0d26e792efe4d2934568a455836035b311376dd03568f6c3607fad8702c5958c5874304d7afd6b8d5906e0 +SHA512 (alsa-utils-1.2.15.2.tar.bz2) = 13ca15a63bcbf81a4643ef03e391200d7523335bc300e290756089c4cfeccb9773cf6b77f9fcf4b80e6aa2e8c5e33a2c86c9173f1feb480aedf5ecda0f7c47cd From 8b5135ae232114d9c4904d92daa239a84c626161 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:37:01 +0000 Subject: [PATCH 20/20] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild --- alsa-utils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-utils.spec b/alsa-utils.spec index 6a4f794..9699a63 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -7,7 +7,7 @@ Summary: Advanced Linux Sound Architecture (ALSA) utilities Name: alsa-utils Version: %{baseversion}%{?fixversion} -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/utils/alsa-utils-%{version}.tar.bz2 @@ -211,6 +211,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 1.2.15.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + * Thu Jan 8 2026 Jaroslav Kysela - 1.2.15.2-1 * Updated to 1.2.15.2