From e4852ddeaf16d4fd3b2867c1688371b268f6d8c1 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 8 Dec 2025 09:52:04 +0100 Subject: [PATCH 1/5] 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 d8c53fd7ee3106417bc791a469a35416e850a7a0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 8 Dec 2025 12:42:18 +0100 Subject: [PATCH 2/5] 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 4374960c190be3bc40e184644728ef0c6734a346 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 19 Dec 2025 12:06:59 +0100 Subject: [PATCH 3/5] 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 9e49097e46df591e787c1f99a68827dec78fafe7 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 1 Jan 2026 18:05:33 +0100 Subject: [PATCH 4/5] Apply fix to alsactl (card detection issue) Signed-off-by: Jaroslav Kysela --- alsa-git.patch | 191 ++++++++++++++++++++++++++++++++++++++++++++++++ alsa-utils.spec | 7 +- 2 files changed, 196 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..7e361f1 --- /dev/null +++ b/alsa-git.patch @@ -0,0 +1,191 @@ +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 e5b3277..c873252 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: 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,6 +211,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* 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 * Updated to 1.2.15.1 From aea556cafaf5ad7e2f65172a3b00cbffcd1e670b Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 8 Jan 2026 15:51:18 +0100 Subject: [PATCH 5/5] 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