diff --git a/.gitignore b/.gitignore index 19dc3be..f2c97a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ /alsa-lib-1.*.tar.bz2 -/alsa-topology-conf-1.*.tar.bz2 -/alsa-ucm-conf-1.*.tar.bz2 diff --git a/alsa-lib-1.0.14-glibc-open.patch b/alsa-lib-1.0.14-glibc-open.patch new file mode 100644 index 0000000..bc625bd --- /dev/null +++ b/alsa-lib-1.0.14-glibc-open.patch @@ -0,0 +1,11 @@ +--- alsa-lib-1.0.14/aserver/aserver.c 2007-05-31 10:05:13.000000000 +0200 ++++ alsa-lib-1.0.14.lennart/aserver/aserver.c 2007-08-15 15:53:32.000000000 +0200 +@@ -35,6 +35,8 @@ + + #include "aserver.h" + ++#undef open ++ + char *command; + + #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) diff --git a/alsa-lib-1.2.3.1-config.patch b/alsa-lib-1.0.24-config.patch similarity index 79% rename from alsa-lib-1.2.3.1-config.patch rename to alsa-lib-1.0.24-config.patch index 95961a5..f0e50e3 100644 --- a/alsa-lib-1.2.3.1-config.patch +++ b/alsa-lib-1.0.24-config.patch @@ -1,22 +1,22 @@ diff --git a/src/conf/alsa.conf b/src/conf/alsa.conf -index 18427ec6..1915af4e 100644 +index 1889f01..60c12ac 100644 --- a/src/conf/alsa.conf +++ b/src/conf/alsa.conf -@@ -80,8 +80,7 @@ defaults.pcm.nonblock 1 +@@ -66,8 +66,7 @@ defaults.pcm.nonblock 1 defaults.pcm.compat 0 defaults.pcm.minperiodtime 5000 # in us defaults.pcm.ipc_key 5678293 -defaults.pcm.ipc_gid audio -defaults.pcm.ipc_perm 0660 +defaults.pcm.ipc_perm 0600 - defaults.pcm.tstamp_type default defaults.pcm.dmix.max_periods 0 - defaults.pcm.dmix.channels 2 + defaults.pcm.dmix.rate 48000 + defaults.pcm.dmix.format "unchanged" diff --git a/src/conf/pcm/dmix.conf b/src/conf/pcm/dmix.conf -index 50e573da..70523f29 100644 +index e62cb29..a005488 100644 --- a/src/conf/pcm/dmix.conf +++ b/src/conf/pcm/dmix.conf -@@ -48,10 +48,6 @@ pcm.!dmix { +@@ -41,10 +41,6 @@ pcm.!dmix { @func refer name defaults.pcm.ipc_key } @@ -28,7 +28,7 @@ index 50e573da..70523f29 100644 @func refer name defaults.pcm.ipc_perm diff --git a/src/conf/pcm/dsnoop.conf b/src/conf/pcm/dsnoop.conf -index f4336e5f..60b9f212 100644 +index 49cfca9..842e1fb 100644 --- a/src/conf/pcm/dsnoop.conf +++ b/src/conf/pcm/dsnoop.conf @@ -41,10 +41,6 @@ pcm.!dsnoop { diff --git a/alsa-lib-1.2.10-glibc-open.patch b/alsa-lib-1.2.10-glibc-open.patch deleted file mode 100644 index 2e53a92..0000000 --- a/alsa-lib-1.2.10-glibc-open.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- alsa-lib-1.2.10/aserver/aserver.c~ 2023-09-01 17:35:48.000000000 +0200 -+++ alsa-lib-1.2.10/aserver/aserver.c 2023-09-01 18:13:11.339601685 +0200 -@@ -35,6 +35,7 @@ - #include - #include - -+#undef open - - char *command; - diff --git a/alsa-lib.spec b/alsa-lib.spec index df66e75..94a9e69 100644 --- a/alsa-lib.spec +++ b/alsa-lib.spec @@ -2,38 +2,24 @@ #define prever_dot .rc3 #define postver a -%define version_alsa_lib 1.2.15.3 -%define version_alsa_ucm 1.2.15.3 -%define version_alsa_tplg 1.2.5 - -%global lib_patch 0 -%global ucm_patch 0 - Summary: The Advanced Linux Sound Architecture (ALSA) library Name: alsa-lib -Version: %{version_alsa_lib} -Release: 2%{?prever_dot}%{?dist} -License: LGPL-2.1-or-later +Version: 1.1.4.1 +Release: 1%{?prever_dot}%{?dist} +License: LGPLv2+ +Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source: ftp://ftp.alsa-project.org/pub/lib/%{name}-%{version}%{?prever}%{?postver}.tar.bz2 -Source1: ftp://ftp.alsa-project.org/pub/lib/alsa-ucm-conf-%{version_alsa_ucm}.tar.bz2 -Source2: ftp://ftp.alsa-project.org/pub/lib/alsa-topology-conf-%{version_alsa_tplg}.tar.bz2 Source10: asound.conf Source11: modprobe-dist-alsa.conf Source12: modprobe-dist-oss.conf -%if %{ucm_patch} -Source40: alsa-ucm-conf.patch -%endif -%if %{lib_patch} -Patch0: alsa-git.patch -%endif -Patch1: alsa-lib-1.2.3.1-config.patch -Patch2: alsa-lib-1.2.10-glibc-open.patch +Patch0: alsa-lib-1.0.24-config.patch +Patch1: alsa-lib-1.0.14-glibc-open.patch BuildRequires: doxygen BuildRequires: autoconf automake libtool -BuildRequires: make +Requires(post): /sbin/ldconfig, coreutils %description The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI @@ -45,6 +31,7 @@ the older OSS API, providing binary compatibility for most OSS programs. %package devel Summary: Development files from the ALSA library +Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig @@ -56,44 +43,20 @@ This package includes the ALSA development libraries for developing against the ALSA libraries and interfaces. %package -n alsa-ucm -Summary: ALSA Use Case Manager configuration -BuildArch: noarch -License: BSD-3-Clause -Requires: %{name} >= %{version_alsa_lib} +Summary: ALSA Universal Configuration Manager +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} %description -n alsa-ucm -The Advanced Linux Sound Architecture (ALSA) Use Case Manager configuration -contains alsa-lib configuration of Audio input/output names and routing - -%package -n alsa-topology -Summary: ALSA Topology configuration -BuildArch: noarch -License: BSD-3-Clause -Requires: %{name} >= %{version_alsa_lib} - -%description -n alsa-topology -The Advanced Linux Sound Architecture (ALSA) topology configuration -contains alsa-lib configuration of SoC topology +The Advanced Linux Sound Architecture (ALSA) Universal Configuration +Manager allows configuration of Audio input/output names and routing %prep %setup -q -n %{name}-%{version}%{?prever}%{?postver} -%if %{lib_patch} -%patch -P0 -p1 -b .alsa-git -%endif -%patch -P1 -p1 -b .config -%patch -P2 -p1 -b .glibc-open +%patch0 -p1 -b .config +%patch1 -p1 -b .glibc-open %build -# This package uses top level ASM constructs which are incompatible with LTO. -# Top level ASMs are often used to implement symbol versioning. gcc-10 -# introduces a new mechanism for symbol versioning which works with LTO. -# Converting packages to use that mechanism instead of toplevel ASMs is -# recommended. -# Note: The v1.2.4 contains changes wich are compatible with gcc-10 LTO -# although using the old ASM constructs. -# Enable custom LTO flags -%define _lto_cflags -flto -ffat-lto-objects -flto-partition=none - autoreconf -vif %configure --disable-aload --with-plugindir=%{_libdir}/alsa-lib --disable-alisp @@ -105,291 +68,57 @@ make %{?_smp_mflags} V=1 make doc %install -%global sysmodprobedir %{_prefix}/lib/modprobe.d - make DESTDIR=%{buildroot} install +# We need the library to be available even before /usr might be mounted +mkdir -p %{buildroot}/%{_lib} +mv %{buildroot}%{_libdir}/libasound.so.* %{buildroot}/%{_lib} +ln -snf ../../%{_lib}/libasound.so.2 %{buildroot}%{_libdir}/libasound.so + # Install global configuration files mkdir -p -m 755 %{buildroot}/etc install -p -m 644 %{SOURCE10} %{buildroot}/etc # Install the modprobe files for ALSA -mkdir -p -m 755 %{buildroot}%{sysmodprobedir} -install -p -m 644 %{SOURCE11} %{buildroot}%{sysmodprobedir}/dist-alsa.conf +mkdir -p -m 755 %{buildroot}/lib/modprobe.d/ +install -p -m 644 %{SOURCE11} %{buildroot}/lib/modprobe.d/dist-alsa.conf # bug#926973, place this file to the doc directory install -p -m 644 %{SOURCE12} . -# Create UCM directories +# Create UCM directory mkdir -p %{buildroot}/%{_datadir}/alsa/ucm -mkdir -p %{buildroot}/%{_datadir}/alsa/ucm2 -# Unpack UCMs -tar xvjf %{SOURCE1} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/ucm" "*/ucm2" -%if %{ucm_patch} -patch -d %{buildroot}/%{_datadir}/alsa -p1 < %{SOURCE40} -%endif - -# Create topology directory -mkdir -p %{buildroot}/%{_datadir}/alsa/topology - -# Unpack topologies -tar xvjf %{SOURCE2} -C %{buildroot}/%{_datadir}/alsa --strip-components=1 "*/topology" - -# Remove libtool archives. +#Remove libtool archives. find %{buildroot} -name '*.la' -delete -# Remove /usr/include/asoundlib.h -rm %{buildroot}/%{_includedir}/asoundlib.h +%post -p /sbin/ldconfig -%ldconfig_scriptlets +%postun -p /sbin/ldconfig %files %{!?_licensedir:%global license %%doc} %license COPYING %doc doc/asoundrc.txt modprobe-dist-oss.conf %config %{_sysconfdir}/asound.conf -/%{_libdir}/libasound.so.* -/%{_libdir}/libatopology.so.* +/%{_lib}/libasound.so.* %{_bindir}/aserver -#{_libdir}/alsa-lib/ +#%{_libdir}/alsa-lib/ %{_datadir}/alsa/ %exclude %{_datadir}/alsa/ucm -%exclude %{_datadir}/alsa/ucm2 -%exclude %{_datadir}/alsa/topology -%{sysmodprobedir}/dist-* +/lib/modprobe.d/dist-* %files devel %doc TODO doc/doxygen/ %{_includedir}/alsa/ %{_includedir}/sys/asoundlib.h %{_libdir}/libasound.so -%{_libdir}/libatopology.so %{_libdir}/pkgconfig/alsa.pc -%{_libdir}/pkgconfig/alsa-topology.pc %{_datadir}/aclocal/alsa.m4 %files -n alsa-ucm -# BSD %{_datadir}/alsa/ucm -%{_datadir}/alsa/ucm2 - -%files -n alsa-topology -# BSD -%{_datadir}/alsa/topology %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 1.2.15.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Tue Jan 13 2026 Jaroslav Kysela - 1.2.15.3-1 -- update to 1.2.15.3 - -* Thu Jan 8 2026 Jaroslav Kysela - 1.2.15.2-1 -- update to 1.2.15.2 - -* Fri Dec 19 2025 Jaroslav Kysela - 1.2.15.1-1 -- update to 1.2.15.1 - -* Wed Dec 10 2025 Jaroslav Kysela - 1.2.15-4 -- update to 1.2.15 - -* Wed Jul 23 2025 Fedora Release Engineering - 1.2.14-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Tue Jun 24 2025 Jaroslav Kysela - 1.2.14-3 -- update to latest alsa-ucm-conf files - -* Mon Apr 14 2025 Jaroslav Kysela - 1.2.14-2 -- update to 1.2.14 - -* Thu Jan 16 2025 Fedora Release Engineering - 1.2.13-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Nov 15 2024 Jaroslav Kysela - 1.2.13-3 -- update 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 - -* Mon Jun 10 2024 Jaroslav Kysela - 1.2.12-1 -- update to 1.2.12 - -* Mon Jan 29 2024 Jaroslav Kysela - 1.2.11-2 -- update to 1.2.11 - -* Mon Jan 22 2024 Fedora Release Engineering - 1.2.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 1.2.10-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Sep 4 2023 Jaroslav Kysela - 1.2.10-3 -- fix control.h header file (ump) -- fix SplitPCM (alsa-ucm) - -* Fri Sep 1 2023 Jaroslav Kysela - 1.2.10-1 -- update to 1.2.10 - -* Wed Jul 19 2023 Fedora Release Engineering - 1.2.9-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jun 6 2023 Jaroslav Kysela - 1.2.9-3 -- SPDX licences - -* Tue May 16 2023 Jaroslav Kysela - 1.2.9-2 -- update ucm (nhlt-dmic-info) - -* Thu May 4 2023 Jaroslav Kysela - 1.2.9-1 -- update to 1.2.9 - -* Wed Jan 18 2023 Fedora Release Engineering - 1.2.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Dec 7 2022 Jaroslav Kysela - 1.2.8-2 -- update lib code to latest git -- update ucm configs to latest git - -* Mon Oct 24 2022 Jaroslav Kysela - 1.2.8-1 -- update to 1.2.8 - -* Wed Jul 20 2022 Fedora Release Engineering - 1.2.7.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jul 8 2022 Jaroslav Kysela - 1.2.7.1-2 -- update to 1.2.7.2 - -* Fri Jun 17 2022 Jaroslav Kysela - 1.2.7.1-1 -- update to 1.2.7.1 - -* Tue May 31 2022 Jaroslav Kysela - 1.2.7-1 -- update to 1.2.7 - -* Wed Jan 19 2022 Fedora Release Engineering - 1.2.6.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Dec 17 2021 Jaroslav Kysela - 1.2.6.1-3 -- updated alsa-ucm-conf to 1.2.6.3 - -* Fri Dec 10 2021 Jaroslav Kysela - 1.2.6.1-2 -- updated alsa-lib to 1.2.6.1 and alsa-ucm-conf to 1.2.6.2 - -* Thu Dec 9 2021 Jaroslav Kysela - 1.2.6-3 -- device open fixes from upstream - -* Mon Dec 6 2021 Jaroslav Kysela - 1.2.6-1 -- update to 1.2.6 - -* Sat Nov 13 2021 Peter Robinson - 1.2.5.1-4 -- Add Rockchip ES8316 support - -* Tue Aug 31 2021 Jaroslav Kysela - 1.2.5.1-3 -- add UCM related fixes - -* Wed Jul 21 2021 Fedora Release Engineering - 1.2.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jun 14 2021 Jaroslav Kysela - 1.2.5.1-1 -- update to 1.2.5.1 - -* Wed Jun 2 2021 Jaroslav Kysela - 1.2.5-2 -- add upstream fixes (conf + ucm) - -* Fri May 28 2021 Jaroslav Kysela - 1.2.5-1 -- update to 1.2.5 - -* Tue Jan 26 2021 Fedora Release Engineering - 1.2.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Oct 19 2020 Jaroslav Kysela - 1.2.4-4 -- update to 1.2.4 -- enable LTO - -* Fri Jul 31 2020 Fedora Release Engineering - 1.2.3.2-5 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.2.3.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 1 2020 Jeff Law - 1.2.3.2-3 -- Disable LTO - -* Mon Jun 29 2020 Jaroslav Kysela - 1.2.3.2-2 -- update to 1.2.3.2 - -* Thu Jun 18 2020 Jaroslav Kysela - 1.2.3.1-1 -- update to 1.2.3.1 - -* Sun Jun 7 2020 Jaroslav Kysela - 1.2.3-8 -- update to 1.2.3 - -* Mon Apr 6 2020 Jaroslav Kysela - 1.2.2-2 -- UCM2 fixes (RemoveDevice), bug#1786723 - -* Wed Feb 19 2020 Jaroslav Kysela - 1.2.2-1 -- Updated to 1.2.2 - -* Sun Feb 9 2020 Jaroslav Kysela - 1.2.1.2-6 -- More UCM2 related fixes - -* Tue Jan 28 2020 Fedora Release Engineering - 1.2.1.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Mon Dec 9 2019 Jaroslav Kysela - 1.2.1.2-4 -- Fixes for sof-hda-dsp UCM2 configuration - -* Tue Dec 3 2019 Jaroslav Kysela - 1.2.1.2-3 -- Fixed more UCM2 related issues - -* Fri Nov 29 2019 Jaroslav Kysela - 1.2.1.2-1 -- Updated to 1.2.1.2 - -* Tue Nov 19 2019 Jaroslav Kysela - 1.2.1.1-1 -- Updated to 1.2.1.1 - -* Wed Nov 13 2019 Jaroslav Kysela - 1.2.1-3 -- Updated to 1.2.1 - -* Wed Jul 24 2019 Fedora Release Engineering - 1.1.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri May 10 2019 Jaroslav Kysela - 1.1.9-1 -- Updated to 1.1.9 - -* Thu Jan 31 2019 Fedora Release Engineering - 1.1.8-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 7 2019 Jaroslav Kysela - 1.1.8-1 -- Updated to 1.1.8 - -* Tue Dec 25 2018 Hans de Goede - 1.1.7-3 -- Fix broken chtrt5645 UCM profile, fixing mic input on chtrt5645 devices - -* Wed Oct 24 2018 Jaroslav Kysela - 1.1.7-2 -- Moved topology files to alsa-topology -- Updated to 1.1.7 - -* Thu Jul 12 2018 Fedora Release Engineering - 1.1.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Apr 04 2018 Jaroslav Kysela - 1.1.6-2 -- Changed add-on directory to /etc/alsa/conf.d - -* Tue Apr 03 2018 Jaroslav Kysela - 1.1.6-1 -- Updated to 1.1.6 - -* Wed Feb 07 2018 Fedora Release Engineering - 1.1.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Nov 14 2017 Jaroslav Kysela - 1.1.5-1 -- Updated to 1.1.5 - -* Wed Aug 02 2017 Fedora Release Engineering - 1.1.4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 1.1.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - * Tue Jun 13 2017 Jaroslav Kysela - 1.1.4.1-1 - Updated to 1.1.4.1 diff --git a/sources b/sources index 8a1161f..80d6d02 100644 --- a/sources +++ b/sources @@ -1,3 +1 @@ -SHA512 (alsa-lib-1.2.15.3.tar.bz2) = 7fc0fa8a5ae02d3404d2c262c6a14fcbb8b08e25993eac86b9e89b8419ed4d293b422da77b3eb7a1930f26c316b638e5aa7bdba78b0ada9908b0362d132a0cc0 -SHA512 (alsa-ucm-conf-1.2.15.3.tar.bz2) = 079aeb45bc3f98448f6e48a1267db5d3f46a51d7060eb8275d0a084574e23eec34f07108610538e898c397fa24941ccf1bb7722c6b4bb0fa9c48904addc03973 -SHA512 (alsa-topology-conf-1.2.5.tar.bz2) = 2eb4d8baf2dcbf0b631dd11dbf15bffc51694d9cc6931619e51787f3ba58d1a091d266e6721a3b737c040ec74a28270b93f39fb97f30a3227cf340dd646e5d51 +MD5 (alsa-lib-1.1.4.1.tar.bz2) = 29fa3e69122d3cf3e8f0e01a0cb1d183 diff --git a/tests/run_tests.sh b/tests/run_tests.sh deleted file mode 100755 index aa4c1a1..0000000 --- a/tests/run_tests.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -set -ex - -# a quick PCM API test -str=$(aplay -L | grep -E "^null$") -if [ "$str" != "null" ]; then - echo "The 'null' pcm plugin was not found!" - exit 99 -fi diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 5683a58..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,11 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - alsa-utils - tests: - - simple: - dir: . - run: ./run_tests.sh