diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1f79e8d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/alsa-tools-1.*.tar.bz2 diff --git a/90-alsa-tools-firmware.rules b/90-alsa-tools-firmware.rules new file mode 100644 index 0000000..d19bcba --- /dev/null +++ b/90-alsa-tools-firmware.rules @@ -0,0 +1,11 @@ +# TASCAM US-428 usb sound card. +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8000", RUN+="/usr/lib/udev/tascam_fw" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8001", RUN+="/usr/lib/udev/tascam_fpga" + +# TASCAM US-224 usb sound card. +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8004", RUN+="/usr/lib/udev/tascam_fw" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8005", RUN+="/usr/lib/udev/tascam_fpga" + +# TASCAM US-122 usb sound card. +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8006", RUN+="/usr/lib/udev/tascam_fw" +SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="1604", ATTRS{idProduct}=="8007", RUN+="/usr/lib/udev/tascam_fpga" diff --git a/alsa-tools-c99.patch b/alsa-tools-c99.patch new file mode 100644 index 0000000..ef07ed0 --- /dev/null +++ b/alsa-tools-c99.patch @@ -0,0 +1,132 @@ +Submitted upstream: + +diff --git a/echomixer/echomixer.c b/echomixer/echomixer.c +index 4946a5ddd5de6790..80124baefa6608f3 100644 +--- a/echomixer/echomixer.c ++++ b/echomixer/echomixer.c +@@ -2105,7 +2105,7 @@ printf("components = %s\n", snd_ctl_card_info_get_components(hw_info));*/ + for (i=0; i= %{version} %if 0%{!?_without_tools:1} -BuildRequires: gtk+-devel BuildRequires: gtk2-devel +BuildRequires: gtk3-devel +BuildRequires: gtk4-devel BuildRequires: fltk-devel +BuildRequires: make Buildrequires: desktop-file-utils +Requires: xorg-x11-fonts-misc +# Needed for hwmixvolume +Requires: python3-alsa %endif -# Doesn't build on PPC; see bug #219010 -ExcludeArch: ppc - %description This package contains several specialist tools for use with ALSA, including a number of programs that provide access to special hardware facilities on certain sound cards. * as10k1 - AS10k1 Assembler +%ifnarch ppc ppc64 * cspctl - Sound Blaster 16 ASP/CSP control program +%endif * echomixer - Mixer for Echo Audio (indigo) devices * envy24control - Control tool for Envy24 (ice1712) based soundcards * hdspmixer - Mixer for the RME Hammerfall DSP cards +* hwmixvolume - Control the volume of individual streams on sound cards that + use hardware mixing * rmedigicontrol - Control panel for RME Hammerfall cards * sbiload - An OPL2/3 FM instrument loader for ALSA sequencer * sscape_ctl - ALSA SoundScape control utility * us428control - Control tool for Tascam 428 +* hda-verb - Direct HDA codec access +* hdajackretask - Reassign the I/O jacks on the HDA hardware +* hdajacksensetest - The sense test for the I/O jacks on the HDA hardware %package firmware Summary: ALSA tools for uploading firmware to some soundcards -Group: Applications/System -Requires: udev alsa-firmware +Requires: udev +Requires: alsa-firmware +Requires: fxload %description firmware @@ -73,116 +93,108 @@ The following tools are available: %prep %setup -q -n %{name}-%{version} - +%patch -P 1 -p1 -b .hwmixvolume-python %build -mv seq/sbiload . ; rmdir seq +mv seq/sbiload . ; rm -rf seq for i in %{?builddirstools:%builddirstools} %{?builddirsfirmw:%builddirsfirmw} do cd $i ; %configure - %{__make} %{?_smp_mflags} || exit 1 + make %{?_smp_mflags} || exit 1 cd .. done - %install -%{__rm} -rf $RPM_BUILD_ROOT - -mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/{pixmaps,applications} +mkdir -p %{buildroot}%{_datadir}/{pixmaps,applications} for i in %{?builddirstools:%builddirstools} %{?builddirsfirmw:%builddirsfirmw} -do +do case $i in - echomixer) - (cd $i ; %makeinstall ; install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/pixmaps/ ; install -m 644 %{SOURCE3} ${RPM_BUILD_ROOT}%{_datadir}/applications/ ) || exit 1 - ;; - envy24control) - (cd $i ; %makeinstall ; install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/ ; install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_datadir}/applications/ ) || exit 1 - ;; - hdspconf) - (cd $i ; %makeinstall pixmapdir=${RPM_BUILD_ROOT}%{_datadir}/pixmaps desktopdir=${RPM_BUILD_ROOT}%{_datadir}/applications ) || exit 1 - ;; - hdspmixer) - (cd $i ; %makeinstall pixmapdir=${RPM_BUILD_ROOT}%{_datadir}/pixmaps desktopdir=${RPM_BUILD_ROOT}%{_datadir}/applications ) || exit 1 - ;; usx2yloader) - (cd $i ; %makeinstall hotplugdir=${RPM_BUILD_ROOT}%{_sysconfdir}/hotplug/usb) || exit 1 + (cd $i ; %make_install hotplugdir=/usr/lib/udev) || exit 1 + ;; + *) + (cd $i ; %make_install) || exit 1 ;; - *) (cd $i ; %makeinstall) || exit 1 esac - if [[ -s "${i}"/README ]] + if [[ -s "${i}"/README ]] then - if [[ ! -d "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" ]] + if [[ ! -d "%{buildroot}%{_pkgdocdir}/${i}" ]] then - mkdir -p "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" + mkdir -p "%{buildroot}%{_pkgdocdir}/${i}" fi - cp "${i}"/README "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" + cp "${i}"/README "%{buildroot}%{_pkgdocdir}/${i}" fi - if [[ -s "${i}"/COPYING ]] + if [[ -s "${i}"/COPYING ]] then - if [[ ! -d "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" ]] + if [[ ! -d "%{buildroot}%{_pkgdocdir}/${i}" ]] then - mkdir -p "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" + mkdir -p "%{buildroot}%{_pkgdocdir}/${i}" fi - cp "${i}"/COPYING "${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}/${i}" - fi - if [[ -s ${RPM_BUILD_ROOT}%{_datadir}/applications/${i}.desktop ]] ; then - desktop-file-install --vendor fedora \ - --add-category "X-Fedora" \ - --delete-original \ - --dir $RPM_BUILD_ROOT%{_datadir}/applications \ - ${RPM_BUILD_ROOT}%{_datadir}/applications/${i}.desktop + cp "${i}"/COPYING "%{buildroot}%{_pkgdocdir}/${i}" + fi + if [[ -s %{buildroot}%{_datadir}/applications/${i}.desktop ]] ; then + desktop-file-validate %{buildroot}%{_datadir}/applications/${i}.desktop + desktop-file-install --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/${i}.desktop fi done -%clean -%{__rm} -rf $RPM_BUILD_ROOT +# convert hotplug stuff to udev +rm -f %{buildroot}/usr/lib/udev/tascam_fw.usermap +mkdir -p %{buildroot}/usr/lib/udev/rules.d +install -m 644 %{SOURCE1} %{buildroot}/usr/lib/udev/rules.d %if 0%{!?_without_tools:1} %files -%defattr(-,root,root,-) -%dir %{_docdir}/%{name}-%{version} -%doc %{_docdir}/%{name}-%{version}/as10k1 -%doc %{_docdir}/%{name}-%{version}/echomixer -%doc %{_docdir}/%{name}-%{version}/envy24control -%doc %{_docdir}/%{name}-%{version}/hdspconf -%doc %{_docdir}/%{name}-%{version}/hdspmixer -%doc %{_docdir}/%{name}-%{version}/rmedigicontrol -%doc %{_docdir}/%{name}-%{version}/sbiload -%doc %{_docdir}/%{name}-%{version}/sb16_csp +%dir %{_pkgdocdir} +%doc %{_pkgdocdir}/as10k1 +%doc %{_pkgdocdir}/echomixer +%doc %{_pkgdocdir}/envy24control +%doc %{_pkgdocdir}/hdspconf +%doc %{_pkgdocdir}/hdspmixer +%doc %{_pkgdocdir}/hwmixvolume +%doc %{_pkgdocdir}/rmedigicontrol +%doc %{_pkgdocdir}/sbiload +%doc %{_pkgdocdir}/hda-verb +%doc %{_pkgdocdir}/hdajackretask %{_bindir}/as10k1 -%{_bindir}/cspctl %{_bindir}/echomixer %{_bindir}/envy24control %{_bindir}/hdspconf %{_bindir}/hdspmixer +%{_bindir}/hwmixvolume %{_bindir}/rmedigicontrol %{_bindir}/sbiload %{_bindir}/sscape_ctl %{_bindir}/us428control -%{_datadir}/applications/fedora-echomixer.desktop -%{_datadir}/applications/fedora-envy24control.desktop -%{_datadir}/applications/fedora-hdspconf.desktop -%{_datadir}/applications/fedora-hdspmixer.desktop -%{_datadir}/man/man1/cspctl.1.gz +%{_bindir}/hda-verb +%{_bindir}/hdajackretask +%{_bindir}/hdajacksensetest +%{_datadir}/sounds/* %{_datadir}/man/man1/envy24control.1.gz -%{_datadir}/pixmaps/echomixer.png -%{_datadir}/pixmaps/envy24control.png -%{_datadir}/pixmaps/hdspconf.png -%{_datadir}/pixmaps/hdspmixer.png -%{_datadir}/sounds/ +%{_datadir}/applications/*.desktop +%{_datadir}/icons/hicolor/*/apps* + +# sb16_csp stuff which is excluded for PPCx +%ifnarch ppc ppc64 +%doc %{_pkgdocdir}/sb16_csp +%{_bindir}/cspctl +%{_datadir}/man/man1/cspctl.1.gz +%endif + %endif %if 0%{!?_without_firmware:1} %files firmware -%defattr(-,root,root,-) -%doc %{_docdir}/%{name}-%{version}/hdsploader -%doc %{_docdir}/%{name}-%{version}/mixartloader -%doc %{_docdir}/%{name}-%{version}/usx2yloader -%doc %{_docdir}/%{name}-%{version}/vxloader -%{_sysconfdir}/hotplug/usb/tascam_fpga -%{_sysconfdir}/hotplug/usb/tascam_fw -%attr(0644,root,root) %{_sysconfdir}/hotplug/usb/tascam_fw.usermap +%dir %{_pkgdocdir} +%doc %{_pkgdocdir}/hdsploader +%doc %{_pkgdocdir}/mixartloader +%doc %{_pkgdocdir}/usx2yloader +%doc %{_pkgdocdir}/vxloader +/usr/lib/udev/rules.d/*.rules +/usr/lib/udev/tascam_fpga +/usr/lib/udev/tascam_fw %{_bindir}/hdsploader %{_bindir}/mixartloader %{_bindir}/usx2yloader @@ -190,17 +202,281 @@ done %endif %changelog -* Sun Oct 28 2007 Tim Jackson - 1.0.14-2 -- Don't build -firmware subpackage again; licensing problems with - alsa-firmware are delaying and there is a circular dep -- Remove bogus "echomixer" from -firmware subpackage +* Fri Jan 16 2026 Fedora Release Engineering - 1.2.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild -* Sat Aug 18 2007 Tim Jackson - 1.0.14-1 -- Update to upstream 1.0.14 +* 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 + +* Mon Apr 14 2025 Jaroslav Kysela - 1.2.14-1 +- Updated to 1.2.14 + +* Mon Jan 27 2025 Jaroslav Kysela - 1.2.11-6 +- GCC warning fixes + +* Thu Jan 16 2025 Fedora Release Engineering - 1.2.11-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Dec 18 2024 Jaroslav Kysela - 1.2.11-4 +- Move remaining files to /usr tree + +* Wed Jul 17 2024 Fedora Release Engineering - 1.2.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jan 29 2024 Jaroslav Kysela - 1.2.11-2 +- Updated to 1.2.11 + +* Mon Jan 22 2024 Fedora Release Engineering - 1.2.5-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.2.5-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Jan 09 2024 Florian Weimer - 1.2.5-10 +- Fix C type errors using G_CALLBACK + +* Wed Jul 19 2023 Fedora Release Engineering - 1.2.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jun 6 2023 Jaroslav Kysela - 1.2.5-8 +- SPDX license + +* Wed Jan 18 2023 Fedora Release Engineering - 1.2.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.2.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Mar 08 2022 Leigh Scott - 1.2.5-4 +- Remove unused gtk+-devel + +* Wed Jan 19 2022 Fedora Release Engineering - 1.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun May 30 2021 Jaroslav Kysela - 1.2.5-1 +- Updated to 1.2.5 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.2.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jul 31 2020 Fedora Release Engineering - 1.2.2-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Feb 19 2020 Jaroslav Kysela - 1.2.2-1 +- Updated to 1.2.2 + +* Tue Jan 28 2020 Fedora Release Engineering - 1.1.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.1.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.1.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Dec 09 2018 Miro Hrončok - 1.1.7-2 +- Switch python2-alsa dependency to python3-alsa as hwmixvolume runs on Python 3 + +* Tue Oct 16 2018 Jaroslav Kysela - 1.1.7-1 +- Updated to 1.1.7 + +* Thu Jul 12 2018 Fedora Release Engineering - 1.1.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Apr 03 2018 Jaroslav Kysela - 1.1.6-1 +- Updated to 1.1.6 + +* Wed Feb 28 2018 Iryna Shcherbina - 1.1.5-4 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Thu Feb 22 2018 Tim Jackson - 1.1.5-3 +- Add missing BuildRequire on gcc + +* 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.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Sep 21 2016 Jaroslav Kysela - 1.1.3-1 +- Updated to 1.1.3 + +* Wed Mar 16 2016 Yaakov Selkowitz - 1.1.0-3 +- Fix FTBFS with GCC 6 (#1307312) + +* Wed Feb 03 2016 Fedora Release Engineering - 1.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 27 2015 Jaroslav Kysela - 1.1.0-1 +- Updated to 1.1.0 + +* Fri Sep 18 2015 Richard Hughes - 1.0.29-5 +- Remove no longer required AppData files + +* Tue Jun 16 2015 Fedora Release Engineering - 1.0.29-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 1.0.29-3 +- Rebuilt for GCC 5 C++11 ABI change + +* Thu Mar 26 2015 Richard Hughes - 1.0.29-2 +- Add an AppData file for the software center + +* Thu Feb 26 2015 Jaroslav Kysela - 1.0.29-1 +- updated to 1.0.29 + +* Thu Feb 19 2015 Rex Dieter 1.0.28-4 +- rebuild (fltk) + +* Fri Aug 15 2014 Fedora Release Engineering - 1.0.28-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jul 25 2014 Tim Jackson 1.0.28-1 +- don't use %%makeinstall (RHBZ #909622) + +* Thu Jul 24 2014 Peter Robinson 1.0.28-1 +- Update to 1.0.28 + +* Sat Jun 07 2014 Fedora Release Engineering - 1.0.27-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Aug 1 2013 Ville Skyttä - 1.0.27-3 +- Install docs to %%{_pkgdocdir} where available. + +* Tue May 21 2013 Dan Horák - 1.0.27-2 +- fix build on non-x86 arches + +* Fri Apr 12 2013 Jaroslav Kysela - 1.0.27-1 +- Updated to 1.0.27 + +* Sat Feb 09 2013 Rahul Sundaram - 1.0.26.1-3 +- remove vendor tag from desktop file. https://fedorahosted.org/fpc/ticket/247 +- clean up spec to follow current guidelines +- don't build -tools for RHEL. Bill Nottingham patch. Resolves rhbz#586030 + +* Fri Sep 7 2012 Jaroslav Kysela - 1.0.26.1-2 +- Fixed gtk3-devel dependency (hdajackretask) +- Added description for hda-verb and hdajackretask + +* Thu Sep 6 2012 Jaroslav Kysela - 1.0.26.1-1 +- Updated to 1.0.26.1 +- Added hda-verb and hdajackretask tools + +* Thu Sep 6 2012 Jaroslav Kysela - 1.0.26-1 +- Updated to 1.0.26 + +* Wed Aug 29 2012 Tim Jackson - 1.0.25-4 +- Move udev rules to /lib/udev/rules.d (rhbz #748206) +- remove %%BuildRoot and %%clean sections; no longer required + +* Wed Jul 18 2012 Fedora Release Engineering - 1.0.25-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Mar 7 2012 Peter Robinson - 1.0.25-2 +- Bump build for ARM + +* Tue Jan 31 2012 Jaroslav Kysela - 1.0.25-1 +- Update to 1.0.25 + +* Thu Jan 12 2012 Fedora Release Engineering - 1.0.24.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 06 2011 Adam Jackson - 1.0.24.1-4 +- Rebuild for new libpng + +* Fri Jun 10 2011 Adam Jackson 1.0.24.1-3 +- Rebuild for new libfltk + +* Mon Feb 07 2011 Fedora Release Engineering - 1.0.24.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Feb 03 2011 Tim Jackson - 1.0.24.1-1 +- Update to 1.0.24.1 + +* Mon May 03 2010 Tom "spot" Callaway - 1.0.23-1 +- update to 1.0.23 + +* Sat Mar 06 2010 Tim Jackson - 1.0.22-2 +- Don't own /usr/share/sounds (#569415) + +* Sun Jan 10 2010 Tim Jackson - 1.0.22-1 +- Update to 1.0.22 +- use %%global instead of %%define + +* Thu Sep 03 2009 Tim Jackson - 1.0.21-1 +- Update to 1.0.21 + +* Wed Aug 26 2009 Tim Jackson - 1.0.20-4 +- Add missing dep on xorg-x11-fonts-misc (#503284) + +* Fri Jul 24 2009 Fedora Release Engineering - 1.0.20-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 16 2009 Tim Jackson - 1.0.20-2 + +* Sun May 10 2009 Tim Jackson - 1.0.20-1.fc12.2 +- Update to 1.0.20 + +* Mon Feb 23 2009 Fedora Release Engineering - 1.0.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Feb 14 2009 Tim Jackson - 1.0.19-2 +- Fix unowned directory problem (#483323) + +* Sat Jan 24 2009 Tim Jackson - 1.0.19-1 +- Update to version 1.0.19 +- Mark udev rules as config + +* Fri Dec 5 2008 Jon McCann - 1.0.17-2 +- Convert hotplug stuff to udev + +* Thu Jul 17 2008 Tim Jackson - 1.0.17-1 +- Update to version 1.0.17 + +* Mon May 19 2008 Tim Jackson - 1.0.16-4 +- Make it build cleanly on ppc and ppc64 by excluding sb16_csp + +* Sun May 18 2008 Tim Jackson - 1.0.16-3 +- Really enable firmware subpackage + +* Sun May 18 2008 Tim Jackson - 1.0.16-2 +- Enable firmware subpackage - the accompanying alsa-firmware package is + finally in Fedora + +* Sat Mar 01 2008 Tim Jackson - 1.0.16-1 +- Update to upstream 1.0.16 (fixes #434473) + +* Wed Feb 20 2008 Fedora Release Engineering - 1.0.15-3 +- Autorebuild for GCC 4.3 + +* Sat Jan 05 2008 Tim Jackson - 1.0.15-2 +- Update License tag to GPLv2+ +- ExcludeArch ppc64 (bug #219010) + +* Sat Jan 05 2008 Tim Jackson - 1.0.15-1 +- Update to upstream 1.0.15 - Add icon for envy24control - Build echomixer -- Enable -firmware subpackage by default, ready for firmware hitting - Fedora soon * Sat Dec 09 2006 Tim Jackson - 1.0.12-4 - ExcludeArch ppc (#219010) @@ -235,41 +511,3 @@ done * Wed Apr 06 2005 Thorsten Leemhuis - 1.0.8-1 - Update to 1.0.8 - -* Sun Mar 29 2005 Thorsten Leemhuis - 0:1.0.6-2 -- Add "--without tools" and "--with firmware" options -- Drop unneeded BR: automake - -* Sun Jan 02 2005 Thorsten Leemhuis - 0:1.0.6-0.fdr.1 -- Update to 1.0.6 for FC3 -- add new files in {_datadir}/sounds/ -- add patch0 for as10k1 - -* Sat Apr 03 2004 Thorsten Leemhuis - 0:1.0.4-0.fdr.1 -- Update to 1.0.4 - -* Fri Jan 16 2004 Thorsten Leemhuis - 0:1.0.1-0.fdr.2 -- Integrate Michaels patch that fixes: -- fix desktop files for fedora.us, adds buildreq desktop-file-utils -- fix %%install section for short-circuit installs - -* Fri Jan 09 2004 Thorsten Leemhuis - 0:1.0.1-0.fdr.1 -- Update to 1.0.1 - -* Sun Dec 14 2003 Thorsten Leemhuis 1.0.0-0.fdr.0.3.rc2 -- exit if error during build or install -- fix install errors hdspconf, hdspmixer, usx2yloader -- Split package in alsa-tools and alsa-tools-firmware -- Integrate more docs - -* Fri Dec 06 2003 Thorsten Leemhuis 1.0.0-0.fdr.0.2.rc2 -- Update to 1.0.0rc2 -- some minor corrections in style - -* Thu Dec 04 2003 Thorsten Leemhuis 1.0.0-0.fdr.0.1.rc1 -- Update to 1.0.0rc1 -- Remove firmware files -- extra package now. -- Add description - -* Wed Aug 13 2003 Dams 0:tools-0.fdr.1 -- Initial build. diff --git a/gcc-fixes.patch b/gcc-fixes.patch new file mode 100644 index 0000000..d136ba0 --- /dev/null +++ b/gcc-fixes.patch @@ -0,0 +1,827 @@ +From 97092591e03fa01a7b3b38ecf120fc28f437b9ca Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 26 Jan 2025 12:40:23 +0100 +Subject: [PATCH 01/11] envy24control: fix cast warnings and string array + overflows + +Signed-off-by: Jaroslav Kysela +--- + envy24control/config.c | 2 +- + envy24control/envy24control.c | 4 ++-- + envy24control/levelmeters.c | 2 +- + envy24control/new_process.c | 6 +++--- + envy24control/profiles.c | 13 ++++++------- + envy24control/profiles.h | 2 +- + envy24control/strstr_icase_blank.c | 7 ++++++- + 7 files changed, 20 insertions(+), 16 deletions(-) + +diff --git a/envy24control/config.c b/envy24control/config.c +index 6933eef..c27cf27 100644 +--- a/envy24control/config.c ++++ b/envy24control/config.c +@@ -46,7 +46,7 @@ void config_close() + + void config_set_stereo(GtkWidget *but, gpointer data) + { +- gint i=(gint)data; ++ gint i=GPOINTER_TO_INT(data); + config_stereo[i]=GTK_TOGGLE_BUTTON(but)->active; + } + +diff --git a/envy24control/envy24control.c b/envy24control/envy24control.c +index 107a843..bce41eb 100644 +--- a/envy24control/envy24control.c ++++ b/envy24control/envy24control.c +@@ -249,7 +249,7 @@ static void create_mixer_frame(GtkWidget *box, int stream) + gtk_box_pack_end(GTK_BOX(vbox), toggle, FALSE, FALSE, 0); + /* gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), TRUE); */ + gtk_signal_connect(GTK_OBJECT(toggle), "toggled", +- GTK_SIGNAL_FUNC(config_set_stereo), (gpointer)stream-1); ++ GTK_SIGNAL_FUNC(config_set_stereo), GINT_TO_POINTER(stream-1)); + + hbox = gtk_hbox_new(TRUE, 6); + gtk_widget_show(hbox); +@@ -2176,7 +2176,7 @@ int main(int argc, char **argv) + + if (! name) { + /* probe cards */ +- static char cardname[8]; ++ static char cardname[16]; + /* FIXME: hardcoded max number of cards */ + for (card_number = 0; card_number < 8; card_number++) { + sprintf(cardname, "hw:%d", card_number); +diff --git a/envy24control/levelmeters.c b/envy24control/levelmeters.c +index 24e00db..5933721 100644 +--- a/envy24control/levelmeters.c ++++ b/envy24control/levelmeters.c +@@ -65,7 +65,7 @@ static GdkGC *get_pen(int idx, int nRed, int nGreen, int nBlue) + return gc; + } + +-static int get_index(gchar *name) ++static int get_index(const gchar *name) + { + int result; + +diff --git a/envy24control/new_process.c b/envy24control/new_process.c +index 7ea89a6..2168489 100644 +--- a/envy24control/new_process.c ++++ b/envy24control/new_process.c +@@ -20,9 +20,9 @@ int new_process(char * const cmd_line[MAX_PARAM]) + struct stat file_status; + + /* memory for storage of function pointers from the signal handling routines */ +- void (*int_stat)(); +- void (*quit_stat)(); +- void (*usr2_stat)(); ++ void (*int_stat)(int); ++ void (*quit_stat)(int); ++ void (*usr2_stat)(int); + + /* + * check command file +diff --git a/envy24control/profiles.c b/envy24control/profiles.c +index 8e23bfd..17a418c 100644 +--- a/envy24control/profiles.c ++++ b/envy24control/profiles.c +@@ -54,9 +54,9 @@ void subst_tilde_in_filename(char * const filename) + + if ((pos_after_tilde = strchr(filename, '~')) != NULL) { + pos_after_tilde++; +- strncpy(new_filename, getenv("HOME"), MAX_FILE_NAME_LENGTH); +- strncpy(new_filename + strlen(new_filename), pos_after_tilde, MAX_FILE_NAME_LENGTH - strlen(new_filename)); +- new_filename[MAX_FILE_NAME_LENGTH - 1] = '\0'; ++ strncpy(new_filename, getenv("HOME"), sizeof(new_filename) - 1); ++ strncpy(new_filename + strlen(new_filename), pos_after_tilde, sizeof(new_filename) - strlen(new_filename) - 1); ++ new_filename[sizeof(new_filename) - 1] = '\0'; + strncpy(filename, new_filename, MAX_FILE_NAME_LENGTH); + } + } +@@ -522,7 +522,7 @@ int reorganize_profiles(char * const buffer, const int max_length) + { + int profile_number, card_number, card_number_max; + int res; +- int pos_profile_begin, pos_profile_end, pos_card_begin, pos_card_end, pos_name_header; ++ int pos_profile_begin, pos_card_begin, pos_card_end, pos_name_header; + int pos_alsa_section_begin, pos_after_alsa_section; + char header[MAX_SEARCH_FIELD_LENGTH]; + void *buffer_copy = NULL; +@@ -547,7 +547,6 @@ int reorganize_profiles(char * const buffer, const int max_length) + compose_search_string(header, PROFILE_HEADER_TEMPL, profile_or_card_number_as_str, place_holder, MAX_SEARCH_FIELD_LENGTH); + header[MAX_SEARCH_FIELD_LENGTH - 1] = '\0'; + snprintf(buffer_copy + strlen(buffer_copy), max_length - strlen(buffer_copy), "%s\n", header); +- pos_profile_end = get_profile_end(buffer, profile_number); + /* search max card number in profile */ + card_number_max = get_max_card_number_in_profile(buffer, profile_number); + for (card_number = 0; card_number <= card_number_max; card_number++) +@@ -641,9 +640,9 @@ int save_restore_alsactl_settings(char * const tmpfile, const int card_number, c + + void compose_tmpfile_name(char * const tmpfile, const char * const cfgfile) + { +- strncpy(tmpfile, cfgfile, MAX_FILE_NAME_LENGTH); ++ strncpy(tmpfile, cfgfile, MAX_FILE_NAME_LENGTH - 1); + tmpfile[MAX_FILE_NAME_LENGTH - 1] = '\0'; +- strncpy(tmpfile + strlen(tmpfile), "_alsactl_tmp", MAX_FILE_NAME_LENGTH - strlen(tmpfile)); ++ strncpy(tmpfile + strlen(tmpfile), "_alsactl_tmp", MAX_FILE_NAME_LENGTH - strlen(tmpfile) - 1); + tmpfile[MAX_FILE_NAME_LENGTH - 1] = '\0'; + } + +diff --git a/envy24control/profiles.h b/envy24control/profiles.h +index 2063bff..b586291 100644 +--- a/envy24control/profiles.h ++++ b/envy24control/profiles.h +@@ -44,7 +44,7 @@ + #define MAX_PROFILE_SIZE 32768 + #define MAX_SEARCH_FIELD_LENGTH 1024 + #define MAX_FILE_NAME_LENGTH 1024 +-#define MAX_NUM_STR_LENGTH 10 ++#define MAX_NUM_STR_LENGTH 11 + #define TOKEN_SEP "|" + #define SEP_CHAR ' ' + +diff --git a/envy24control/strstr_icase_blank.c b/envy24control/strstr_icase_blank.c +index 8078d2a..6b7c500 100644 +--- a/envy24control/strstr_icase_blank.c ++++ b/envy24control/strstr_icase_blank.c +@@ -48,6 +48,7 @@ int strstr_icase_blank(const char * const string1, const char * const string2) + char search_string[MAX_SEARCH_FIELD_LENGTH]; + char *pstr; + int pos_first_non_blank; ++ size_t len; + + strncpy(search_string, string2, MAX_SEARCH_FIELD_LENGTH); + search_string[MAX_SEARCH_FIELD_LENGTH - 1] = '\0'; +@@ -84,7 +85,11 @@ int strstr_icase_blank(const char * const string1, const char * const string2) + } + } + } +- strncpy(search_string, cmp_line, strlen(search_string)); ++ len = strlen(search_string); ++ if (len > sizeof(search_string) - 1) ++ len = sizeof(search_string) - 1; ++ strncpy(search_string, cmp_line, len); ++ search_string[len] = '\0'; + + position = 0; + while (position < strlen(string1)) +-- +2.47.1 + + +From 787857d61a434b6afd6241106ea792f408e4cb59 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 26 Jan 2025 13:05:40 +0100 +Subject: [PATCH 02/11] as10k1: fix gcc warnings + +Signed-off-by: Jaroslav Kysela +--- + as10k1/as10k1.c | 14 +++++++++----- + as10k1/assemble.c | 7 ++----- + as10k1/macro.c | 5 +---- + as10k1/parse.c | 3 ++- + as10k1/parse.h | 5 ++++- + 5 files changed, 18 insertions(+), 16 deletions(-) + +diff --git a/as10k1/as10k1.c b/as10k1/as10k1.c +index e226051..079f1c2 100644 +--- a/as10k1/as10k1.c ++++ b/as10k1/as10k1.c +@@ -244,6 +244,7 @@ void asm_open(char *name) + struct stat st; + char *next; + int backup_line_num,backup_file_num; ++ size_t rsize; + + + +@@ -284,8 +285,10 @@ void asm_open(char *name) + + buff[i].mem_end = buff[i].mem_start+st.st_size; + +- read(fd, buff[i].mem_start, st.st_size); ++ rsize = read(fd, buff[i].mem_start, st.st_size); + close(fd); ++ if (rsize != st.st_size) ++ as_exit("short read from input file\n"); + + #ifdef DEBUG + printf("File %s opened:\n",name); +@@ -383,13 +386,14 @@ void output_tram_line(struct list_head *line_head, int type) + val = __cpu_to_le32(tram_sym->data.value); + fwrite(&val,sizeof(u32),1,fp); + if(listing){ +- if(type==TYPE_TRAM_ADDR_READ) ++ if(type==TYPE_TRAM_ADDR_READ) { + fprintf(listfile,"\tRead"); +- else ++ } else { + fprintf(listfile,"\tWrite"); ++ } + +- fprintf(listfile,": 0x3%02x/0x2%02x (%s), offset 0x%07x\n",tram_sym->data.address,tram_sym->data.address, +- (prev_sym((&tram_sym->list)))->data.name,tram_sym->data.value); ++ fprintf(listfile,": 0x3%02x/0x2%02x (%s), offset 0x%07x\n",tram_sym->data.address,tram_sym->data.address, ++ (prev_sym((&tram_sym->list)))->data.name,tram_sym->data.value); + } + + } +diff --git a/as10k1/assemble.c b/as10k1/assemble.c +index 4508973..ced57c7 100644 +--- a/as10k1/assemble.c ++++ b/as10k1/assemble.c +@@ -22,6 +22,7 @@ + + #include"types.h" + #include"proto.h" ++#include"parse.h" + + extern int dbg_opt; + extern FILE *listfile; +@@ -45,7 +46,6 @@ void op(int op, int z,int w,int x,int y) + int w0, w1; + extern int dsp_code[DSP_CODE_SIZE]; + extern int ip; +- extern char op_codes[35][9]; + extern char listtemp[60]; + if (ip >= 0x200) + as_exit("to many instructions"); +@@ -306,7 +306,6 @@ void add_symbol(char *name, u16 type, u16 address, u32 value) + + extern int gpr_input_count,gpr_output_count,gpr_static_count,gpr_dynamic_count,gpr_control_count,gpr_constant_count; + struct sym *sym; +- struct tram *tmp_ptr; + extern struct list_head sym_head; + extern struct delay tram_delay[MAX_TANK_ADDR]; + extern struct lookup tram_lookup[MAX_TANK_ADDR]; +@@ -356,10 +355,8 @@ void add_symbol(char *name, u16 type, u16 address, u32 value) + else + tram_delay[tmp].write++; + }else{ +- tmp_ptr=(struct tram *)sym; + list_add_tail(&(((struct tram *)sym)->tram) , &(tram_lookup[tmp].tram) ); +- tmp_ptr=(struct tram *)sym; +- if(type== TYPE_TRAM_ADDR_READ) ++ if(type== TYPE_TRAM_ADDR_READ) + tram_lookup[tmp].read++; + else + tram_lookup[tmp].write++; +diff --git a/as10k1/macro.c b/as10k1/macro.c +index a01ad6f..70e4ef9 100644 +--- a/as10k1/macro.c ++++ b/as10k1/macro.c +@@ -72,14 +72,11 @@ void new_macro(char *symbol, char *line, char *operand) + void macro_expand(int macnum,char *operand ) + { + char *line,*next; +- int done=0,i,old; ++ int done=0,old; + extern unsigned int macro_depth; + extern int macro_line_num; + char string[MAX_LINE_LENGTH]; + +- //initialize macro use: +- i=0; +- + if(macro_depth+1> MAX_MAC_DEPTH) + as_exit("Error exceeded maximum number of recursive macro calls"); + +diff --git a/as10k1/parse.c b/as10k1/parse.c +index 8523717..02d4f5e 100644 +--- a/as10k1/parse.c ++++ b/as10k1/parse.c +@@ -18,6 +18,7 @@ + #include + #include + #include"types.h" ++#define DECLARE_OP_CODES + #include"parse.h" + #include"proto.h" + +@@ -87,7 +88,7 @@ int parse( char line_string[MAX_LINE_LENGTH], char *line) + if((tmp=ismacro(op_name_ptr)) != -1 ){ + if(defmacro==0) + macro_expand(tmp,strtok(NULL,"")); +- return(0); ++ return(0); + } + + if( (op_num=op_decode(op_name_ptr))==-1) { +diff --git a/as10k1/parse.h b/as10k1/parse.h +index be71daa..b79ed8b 100644 +--- a/as10k1/parse.h ++++ b/as10k1/parse.h +@@ -63,7 +63,9 @@ enum foo { + + }; + +- ++#ifndef DECLARE_OP_CODES ++extern char op_codes[NUM_OPS+1][9]; ++#else + char op_codes[NUM_OPS+1][9]= + { + "MACS", +@@ -110,6 +112,7 @@ char op_codes[NUM_OPS+1][9]= + "con", + "NotAnOp" + }; ++#endif + + //extern int file_num,source_line_num + +-- +2.47.1 + + +From 6549725ec59eafb24e9f8d9ddacbf33305524fd3 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 26 Jan 2025 13:12:05 +0100 +Subject: [PATCH 03/11] hdspconf: fix gcc warnings (const) + +Signed-off-by: Jaroslav Kysela +--- + hdspconf/src/HC_AboutText.h | 2 +- + hdspconf/src/HC_Aeb.cxx | 2 +- + hdspconf/src/HC_SpdifOut.cxx | 2 +- + hdspconf/src/HC_SyncCheck.h | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/hdspconf/src/HC_AboutText.h b/hdspconf/src/HC_AboutText.h +index 2a76c40..1b579e5 100644 +--- a/hdspconf/src/HC_AboutText.h ++++ b/hdspconf/src/HC_AboutText.h +@@ -32,7 +32,7 @@ public: + HC_AboutText(int x, int y, int w, int h); + void draw(); + private: +- char *text; ++ const char *text; + }; + + #endif +diff --git a/hdspconf/src/HC_Aeb.cxx b/hdspconf/src/HC_Aeb.cxx +index d7a98d6..6df4848 100644 +--- a/hdspconf/src/HC_Aeb.cxx ++++ b/hdspconf/src/HC_Aeb.cxx +@@ -21,7 +21,7 @@ + #pragma implementation + #include "HC_Aeb.h" + +-static void setAebStatus(char *ctl_name, int val, int card_index) ++static void setAebStatus(const char *ctl_name, int val, int card_index) + { + int err; + char card_name[6]; +diff --git a/hdspconf/src/HC_SpdifOut.cxx b/hdspconf/src/HC_SpdifOut.cxx +index 71c7bfe..674140b 100644 +--- a/hdspconf/src/HC_SpdifOut.cxx ++++ b/hdspconf/src/HC_SpdifOut.cxx +@@ -21,7 +21,7 @@ + #pragma implementation + #include "HC_SpdifOut.h" + +-static void setSpdifBit(char *ctl_name, int val, int card_index) ++static void setSpdifBit(const char *ctl_name, int val, int card_index) + { + int err; + char card_name[6]; +diff --git a/hdspconf/src/HC_SyncCheck.h b/hdspconf/src/HC_SyncCheck.h +index 6aa6d13..c79d21f 100644 +--- a/hdspconf/src/HC_SyncCheck.h ++++ b/hdspconf/src/HC_SyncCheck.h +@@ -51,7 +51,7 @@ public: + void setAdatSyncStatus(unsigned char s); + void setWCStatus(unsigned char s); + private: +- char *adat_name; ++ const char *adat_name; + int h_step; + Fl_Box_Draw_F *draw_box; + }; +-- +2.47.1 + + +From 9cb754084ba073342491704078f68e62f38fda7f Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 26 Jan 2025 13:16:53 +0100 +Subject: [PATCH 04/11] mixartloader: fix gcc warnings (string truncation) + +Signed-off-by: Jaroslav Kysela +--- + mixartloader/mixartloader.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/mixartloader/mixartloader.c b/mixartloader/mixartloader.c +index f34ed58..19a1615 100644 +--- a/mixartloader/mixartloader.c ++++ b/mixartloader/mixartloader.c +@@ -89,7 +89,8 @@ static int get_file_name(const char *key, unsigned int idx, char *fname) + for (p = buf + len; *p && isspace(*p); p++) + ; + if (*p == '/') { +- strncpy(fname, p, MAX_PATH); ++ strncpy(fname, p, MAX_PATH - 1); ++ fname[MAX_PATH - 1] = '\0'; + } else { + snprintf(fname, MAX_PATH, "%s/%s", DATAPATH, p); + } +-- +2.47.1 + + +From 48128777e0f528d3aaf3eca65f9d16a393901c63 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 26 Jan 2025 13:19:59 +0100 +Subject: [PATCH 05/11] pcxhrloader: fix gcc warnings (string truncation) + +Signed-off-by: Jaroslav Kysela +--- + pcxhrloader/pcxhrloader.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pcxhrloader/pcxhrloader.c b/pcxhrloader/pcxhrloader.c +index de9420e..5cd1845 100644 +--- a/pcxhrloader/pcxhrloader.c ++++ b/pcxhrloader/pcxhrloader.c +@@ -89,7 +89,8 @@ static int get_file_name(const char *key, unsigned int idx, char *fname) + for (p = buf + len; *p && isspace(*p); p++) + ; + if (*p == '/') { +- strncpy(fname, p, MAX_PATH); ++ strncpy(fname, p, MAX_PATH - 1); ++ fname[MAX_PATH - 1] = '\0'; + } else { + snprintf(fname, MAX_PATH, "%s/%s", DATAPATH, p); + } +-- +2.47.1 + + +From a2a0167ed9e91ad2c427fae31dc89daa4022b0cc Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 26 Jan 2025 13:21:13 +0100 +Subject: [PATCH 06/11] rmedigicontrol: fix gcc warnings (string size) + +Signed-off-by: Jaroslav Kysela +--- + rmedigicontrol/rmedigicontrol.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rmedigicontrol/rmedigicontrol.c b/rmedigicontrol/rmedigicontrol.c +index 973299b..1119637 100644 +--- a/rmedigicontrol/rmedigicontrol.c ++++ b/rmedigicontrol/rmedigicontrol.c +@@ -29,7 +29,7 @@ void destroy(GtkWidget *widget,gpointer data) + int main(int argc, char *argv[]) + { + int card; +- char name[8],*err; ++ char name[16],*err; + snd_ctl_card_info_t *hw_info; + card_type_t type; + +-- +2.47.1 + + +From 3bd780896e7f0316fa0b36e4445888546d3396cd Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 Jan 2025 09:28:53 +0100 +Subject: [PATCH 07/11] usx2yloader: fix gcc warnings (string size) + +Signed-off-by: Jaroslav Kysela +--- + usx2yloader/usx2yloader.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/usx2yloader/usx2yloader.c b/usx2yloader/usx2yloader.c +index 61583c2..363cbdc 100644 +--- a/usx2yloader/usx2yloader.c ++++ b/usx2yloader/usx2yloader.c +@@ -225,7 +225,8 @@ static int get_file_name(const char *key, unsigned int idx, char *fname) + for (p = buf + len; *p && isspace(*p); p++) + ; + if (*p == '/') { +- strncpy(fname, p, MAX_PATH); ++ strncpy(fname, p, MAX_PATH - 1); ++ fname[MAX_PATH - 1] = '\0'; + } else { + snprintf(fname, MAX_PATH, "%s/%s", DATAPATH, p); + } +-- +2.47.1 + + +From cd9ee08dcb504822ac24f09c823b89f8391095f2 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 Jan 2025 09:29:37 +0100 +Subject: [PATCH 08/11] vxloader: fix gcc warnings (string size) + +Signed-off-by: Jaroslav Kysela +--- + vxloader/vxloader.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/vxloader/vxloader.c b/vxloader/vxloader.c +index 69d654d..cc62e1e 100644 +--- a/vxloader/vxloader.c ++++ b/vxloader/vxloader.c +@@ -214,7 +214,8 @@ static int get_file_name(const char *key, unsigned int idx, char *fname) + for (p = buf + len; *p && isspace(*p); p++) + ; + if (*p == '/') { +- strncpy(fname, p, MAX_PATH); ++ strncpy(fname, p, MAX_PATH - 1); ++ fname[MAX_PATH - 1] = '\0'; + } else { + snprintf(fname, MAX_PATH, "%s/%s", DATAPATH, p); + } +-- +2.47.1 + + +From 2420b2a6dfe33ae90cfa7b5bb1de04c008366ff9 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 Jan 2025 09:34:38 +0100 +Subject: [PATCH 09/11] echomixer: fix various gcc warnings + +Signed-off-by: Jaroslav Kysela +--- + echomixer/echomixer.c | 20 ++++++-------------- + 1 file changed, 6 insertions(+), 14 deletions(-) + +diff --git a/echomixer/echomixer.c b/echomixer/echomixer.c +index 80124ba..adc10e1 100644 +--- a/echomixer/echomixer.c ++++ b/echomixer/echomixer.c +@@ -629,9 +629,7 @@ gint DrawMixer(gpointer unused) { + int OutPeak[ECHO_MAXAUDIOOUTPUTS]; + int VirLevel[ECHO_MAXAUDIOOUTPUTS]; + int VirPeak[ECHO_MAXAUDIOOUTPUTS]; +- static int InClip[ECHO_MAXAUDIOINPUTS]; +- static int OutClip[ECHO_MAXAUDIOOUTPUTS]; +- char str[8]; ++ char str[16]; + int i, o, dB; + GdkColor Grid={0x787878, 0, 0, 0}; + GdkColor Labels={0x9694C4, 0, 0, 0}; +@@ -647,13 +645,8 @@ gint DrawMixer(gpointer unused) { + update_rect.height = Mixheight; + GetVUmeters(InLevel, InPeak, OutLevel, OutPeak, VirLevel, VirPeak); + +- if (!gc) { ++ if (!gc) + gc=gdk_gc_new(gtk_widget_get_parent_window(Mixdarea)); +- for (i=0; istyle->black_gc, TRUE, 0, 0, Mixwidth, Mixheight); + +@@ -1693,7 +1686,7 @@ void ToggleWindow(GtkWidget *widget, gpointer window) { + // Scan all controls and sets up the structures needed to access them. + int OpenControls(const char *card, const char *cardname) { + int err, i, o; +- int numid, count, items, item; ++ int numid, items, item; + snd_hctl_t *handle; + snd_hctl_elem_t *elem; + snd_ctl_elem_id_t *id; +@@ -1726,7 +1719,6 @@ int OpenControls(const char *card, const char *cardname) { + continue; + snd_hctl_elem_get_id(elem, id); + numid=snd_ctl_elem_id_get_numid(id); +- count=snd_ctl_elem_info_get_count(info); + if (!strcmp("Monitor Mixer Volume", snd_ctl_elem_id_get_name(id))) { + if (!mixerId) { + mixerId=numid; +@@ -1879,7 +1871,7 @@ int main(int argc, char *argv[]) { + GtkWidget *label, *menu, *menuitem; + GSList *bgroup; + int err, i, o, n, cardnum, value; +- char hwname[8], cardname[32], load, save; ++ char hwname[16], cardname[32], load, save; + snd_ctl_card_info_t *hw_info; + + load=save=1; +@@ -1900,8 +1892,8 @@ int main(int argc, char *argv[]) { + } + if ((err=snd_ctl_card_info(ctlhandle, hw_info))>=0) { + if (!strncmp(snd_ctl_card_info_get_driver(hw_info), "Echo_", 5)) { +- strncpy(card, hwname, 7); +- hwname[7]=0; ++ strncpy(card, hwname, sizeof(hwname)-1); ++ card[sizeof(hwname)-1]=0; + strncpy(cardname, snd_ctl_card_info_get_name(hw_info), 31); + cardname[31]=0; + strncpy(cardId, snd_ctl_card_info_get_name(hw_info), 15); +-- +2.47.1 + + +From 90c2aa263906492bd511d929feeb14ddf162d02d Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 Jan 2025 09:42:39 +0100 +Subject: [PATCH 10/11] ld10k1: fix various gcc warnings + +Signed-off-by: Jaroslav Kysela +--- + ld10k1/src/dl10k1.c | 2 +- + ld10k1/src/ld10k1.c | 8 ++++---- + ld10k1/src/ld10k1_driver.c | 4 ++-- + ld10k1/src/ld10k1_fnc.c | 2 +- + ld10k1/src/ld10k1_fnc1.c | 3 --- + ld10k1/src/lo10k1.c | 14 +++++++------- + 6 files changed, 15 insertions(+), 18 deletions(-) + +diff --git a/ld10k1/src/dl10k1.c b/ld10k1/src/dl10k1.c +index 42d54a1..b2f3a54 100644 +--- a/ld10k1/src/dl10k1.c ++++ b/ld10k1/src/dl10k1.c +@@ -354,7 +354,7 @@ int dump_load(int audigy, char *file_name) + fctrl = (ld10k1_ctl_dump_t *)ptr; + memset(ctrl, 0, sizeof(emu10k1_fx8010_control_gpr_t) * header->ctl_count); + for (i = 0; i < header->ctl_count; i++) { +- strcpy(ctrl[i].id.name, fctrl[i].name); ++ strcpy((char *)ctrl[i].id.name, fctrl[i].name); + ctrl[i].id.iface = EMU10K1_CTL_ELEM_IFACE_MIXER; + ctrl[i].id.index = fctrl[i].index; + ctrl[i].vcount = fctrl[i].vcount; +diff --git a/ld10k1/src/ld10k1.c b/ld10k1/src/ld10k1.c +index b0b5a9b..97be2c0 100644 +--- a/ld10k1/src/ld10k1.c ++++ b/ld10k1/src/ld10k1.c +@@ -77,7 +77,7 @@ void error(const char *fmt, ...) + va_end(va); + } + +-static void log(const char *fmt, ...) ++static void alog(const char *fmt, ...) + { + va_list va; + +@@ -116,7 +116,7 @@ static void cleanup() + { + if (pidpath[0]) + unlink(pidpath); +- log("Exiting daemon"); ++ alog("Exiting daemon"); + } + + static void term_handler(int i) +@@ -247,7 +247,7 @@ int main(int argc, char *argv[]) + + pidfile = fopen(pidpath, "wt"); + if (!pidfile) { +- log("%s: pidfile (%s)\n", strerror(errno), pidpath); ++ alog("%s: pidfile (%s)\n", strerror(errno), pidpath); + return 1; + } + +@@ -263,7 +263,7 @@ int main(int argc, char *argv[]) + dup2(fileno(logfile), fileno(stdout)); + } + +- log("Starting daemon"); ++ alog("Starting daemon"); + } + + params.type = uses_pipe ? COMM_TYPE_LOCAL : COMM_TYPE_IP; +diff --git a/ld10k1/src/ld10k1_driver.c b/ld10k1/src/ld10k1_driver.c +index 38ee873..05b1415 100644 +--- a/ld10k1/src/ld10k1_driver.c ++++ b/ld10k1/src/ld10k1_driver.c +@@ -199,7 +199,7 @@ int ld10k1_update_driver(ld10k1_dsp_mgr_t *dsp_mgr) + if (!add_ctrl) + return LD10K1_ERR_NO_MEM; + for (i = 0, item = dsp_mgr->add_ctl_list; item != NULL; item = item->next, i++) { +- strcpy(add_ctrl[i].id.name, item->ctl.name); ++ strcpy((char *)add_ctrl[i].id.name, item->ctl.name); + add_ctrl[i].id.iface = EMU10K1_CTL_ELEM_IFACE_MIXER; + add_ctrl[i].id.index = item->ctl.index; + add_ctrl[i].vcount = item->ctl.vcount; +@@ -225,7 +225,7 @@ int ld10k1_update_driver(ld10k1_dsp_mgr_t *dsp_mgr) + if (!del_ids) + return LD10K1_ERR_NO_MEM; + for (i = 0, item = dsp_mgr->del_ctl_list; item != NULL; item = item->next, i++) { +- strcpy(del_ids[i].name, item->ctl.name); ++ strcpy((char *)del_ids[i].name, item->ctl.name); + del_ids[i].iface = EMU10K1_CTL_ELEM_IFACE_MIXER; + del_ids[i].index = item->ctl.index; + } +diff --git a/ld10k1/src/ld10k1_fnc.c b/ld10k1/src/ld10k1_fnc.c +index c88f4c0..7e99d55 100644 +--- a/ld10k1/src/ld10k1_fnc.c ++++ b/ld10k1/src/ld10k1_fnc.c +@@ -2152,7 +2152,7 @@ int ld10k1_conn_point_add(ld10k1_dsp_mgr_t *dsp_mgr, ld10k1_conn_point_t *point, + int allocgprcount = 0; + int allocinstrcount = 0; + unsigned int reserved[2]; +- unsigned int res[2]; ++ int res[2]; + int reservedcount = 0; + int usedreserved = 0; + +diff --git a/ld10k1/src/ld10k1_fnc1.c b/ld10k1/src/ld10k1_fnc1.c +index ddc43c6..c3ea754 100644 +--- a/ld10k1/src/ld10k1_fnc1.c ++++ b/ld10k1/src/ld10k1_fnc1.c +@@ -792,12 +792,9 @@ int ld10k1_fnc_name_find(int data_conn, int op, int size) + int ld10k1_fnc_name_rename(int data_conn, int op, int size) + { + ld10k1_fnc_name_t name_info; +- int ret; + int err; + ld10k1_patch_t *patch; + +- ret = -1; +- + if ((err = receive_msg_data(data_conn, &name_info, sizeof(ld10k1_fnc_name_t))) < 0) + return err; + +diff --git a/ld10k1/src/lo10k1.c b/ld10k1/src/lo10k1.c +index 93a9369..c1223cb 100644 +--- a/ld10k1/src/lo10k1.c ++++ b/ld10k1/src/lo10k1.c +@@ -473,8 +473,9 @@ static int transfer_patch(int udin, char *ctrl_opt, liblo10k1_emu_patch_t *ep, l + if (*ctrl_opt != ',') { + error("wrong ctrl option format - wrong separator beetwen subfunctions"); + return 1; +- } else +- *ctrl_opt++; ++ } else { ++ ctrl_opt++; ++ } + } + } + +@@ -691,8 +692,9 @@ static int transfer_native_patch(liblo10k1_dsp_patch_t *p, char *ctrl_opt) + if (*ctrl_opt != ',') { + error("wrong ctrl option format - wrong separator beetwen subfunctions"); + return 1; +- } else +- *ctrl_opt++; ++ } else { ++ ctrl_opt++; ++ } + } + } + +@@ -1466,7 +1468,6 @@ int main(int argc, char *argv[]) + + int opt_list; + int opt_setup; +- int opt_info; + int opt_add; + int opt_del; + int opt_con_add; +@@ -1526,7 +1527,6 @@ int main(int argc, char *argv[]) + opt_add = 0; + opt_del = 0; + opt_list_patch = NULL; +- opt_info = 0; + opt_con_add = 0; + opt_con_del = 0; + opt_debug = 0; +@@ -1618,7 +1618,7 @@ int main(int argc, char *argv[]) + opt_list_patch = optarg; + break; + case 'i': +- opt_info = 1; ++ /* nothing */ + break; + case 'q': + opt_con_add = 1; +-- +2.47.1 + + +From 5eaadd15bda4cf0424ee2470a6d304a0c2ce10cb Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 27 Jan 2025 11:02:21 +0100 +Subject: [PATCH 11/11] hdajackretask: fix reset_changes_boot() declaration + +Signed-off-by: Jaroslav Kysela +--- + hdajackretask/apply-changes.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hdajackretask/apply-changes.h b/hdajackretask/apply-changes.h +index e08d66d..e431a0d 100644 +--- a/hdajackretask/apply-changes.h ++++ b/hdajackretask/apply-changes.h +@@ -9,7 +9,7 @@ gboolean apply_changes_reconfig(pin_configs_t* pins, int entries, int card, int + + gboolean apply_changes_boot(pin_configs_t* pins, int entries, int card, int device, + const char* model, const char* hints, GError** err); +-gboolean reset_changes_boot(); ++gboolean reset_changes_boot(GError ** err); + + #endif + +-- +2.47.1 + diff --git a/hwmixvolume-python.patch b/hwmixvolume-python.patch new file mode 100644 index 0000000..6cbb12f --- /dev/null +++ b/hwmixvolume-python.patch @@ -0,0 +1,8 @@ +--- alsa-tools-1.1.7/hwmixvolume/hwmixvolume~ 2018-10-16 10:08:36.000000000 +0200 ++++ alsa-tools-1.1.7/hwmixvolume/hwmixvolume 2018-10-16 12:39:39.639476411 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # hwmixvolume - ALSA hardware mixer volume control applet + # Copyright (c) 2009-2010 Clemens Ladisch diff --git a/sources b/sources index d96d9b4..8fc480e 100644 --- a/sources +++ b/sources @@ -1,5 +1 @@ -57af85a810ed770885aec2a5b35648e6 echomixer.desktop -38db1b88c44adb5591f87173061d7d98 echomixer.png -4c10f8d250a86bdb3ea138488aec8fc4 envy24control.desktop -3a1a195f2b9641f68651e3d312e5476f envy24control.png -21483d8deaec423f98ac0d21a9722c2b alsa-tools-1.0.14-pruned.tar.bz2 +SHA512 (alsa-tools-1.2.15.tar.bz2) = b2354fcaccfa316df7847438ad6b4ca3702be4ca88c46878c198a52ca6c659263b61759d4898e7a73acf64dd0e3004c103fa67a1cbdb2e53212f13368173be23