diff --git a/alsa-git.patch b/alsa-git.patch new file mode 100644 index 0000000..80c9564 --- /dev/null +++ b/alsa-git.patch @@ -0,0 +1,274 @@ +From f90124c73edd050b24961197a4abcf17e53b41a8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 14 Nov 2024 09:38:49 +0100 +Subject: [PATCH 1/4] 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 + + +From 6f7ce73159c02b726a6f0fe0acff961c95e337a8 Mon Sep 17 00:00:00 2001 +From: Aaron Ma +Date: Wed, 20 Nov 2024 15:55:02 +0800 +Subject: [PATCH 2/4] alsactl: 90-alsa-restore.rules - fix AMD acp-pdm-mach + link + +The link name of AMD ACP digital microphones driver acp-pdm-mach +is acp-dmic-codec. Fix it to make UCM initialize it again. + +Closes: https://github.com/alsa-project/alsa-utils/pull/281 +Fixes: 8116639 ("alsactl: 90-alsa-restore.rules - add support for AMD ACP digital microphone") +Signed-off-by: Aaron Ma +Signed-off-by: Jaroslav Kysela +--- + alsactl/90-alsa-restore.rules.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in +index dae2ed8..5db6080 100644 +--- a/alsactl/90-alsa-restore.rules.in ++++ b/alsactl/90-alsa-restore.rules.in +@@ -14,7 +14,7 @@ DRIVERS=="snd_hda_intel", TEST=="device/pcmC$env{ALSA_CARD_NUMBER}D0p", RUN+="/b + TEST=="device/device/acp3x-dmic-capture", GOTO="alsa_hda_analog" + TEST=="device/device/acp6x-dmic-capture", GOTO="alsa_hda_analog" + TEST=="device/device/acp63-dmic-capture", GOTO="alsa_hda_analog" +-TEST=="device/device/acp-pdm-dmic", GOTO="alsa_hda_analog" ++TEST=="device/device/acp-dmic-codec", GOTO="alsa_hda_analog" + GOTO="alsa_restore_std" + + LABEL="alsa_hda_analog" +-- +2.47.0 + + +From d45a2be9eaba2bb75840ca7c19bccc4d6578270b Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Sun, 24 Nov 2024 20:02:51 +0100 +Subject: [PATCH 3/4] amixer: fix unknown TVL sequence print + +Closes: https://github.com/alsa-project/alsa-utils/issues/282 +Signed-off-by: Jaroslav Kysela +--- + amixer/amixer.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/amixer/amixer.c b/amixer/amixer.c +index 8b8000b..07e9819 100644 +--- a/amixer/amixer.c ++++ b/amixer/amixer.c +@@ -587,10 +587,17 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_ + #endif + default: + printf("unk-%u-", type); +- while (size > 0) { ++ while (size > sizeof(unsigned int)) { + printf("0x%08x,", tlv[idx++]); + size -= sizeof(unsigned int); + } ++ if (size > 0) { ++ unsigned char *b = (void *)&tlv[idx]; ++ while (size > 0) { ++ printf("E-0x%02x,", *b++); ++ size--; ++ } ++ } + break; + } + if (lf) +-- +2.47.0 + + +From ec20f8e2eba6ea5ee3703a12dcda09896cbabe6a Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 2 Dec 2024 11:11:52 +0100 +Subject: [PATCH 4/4] Remove trailing spaces in man pages + +Reported-by: Bjarni Ingi Gislason +Signed-off-by: Jaroslav Kysela +--- + alsactl/alsactl.1 | 4 ++-- + aplay/aplay.1 | 32 ++++++++++++++++---------------- + seq/aplaymidi/arecordmidi.1 | 4 ++-- + 3 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/alsactl/alsactl.1 b/alsactl/alsactl.1 +index 2a31a2f..29da65f 100644 +--- a/alsactl/alsactl.1 ++++ b/alsactl/alsactl.1 +@@ -90,7 +90,7 @@ Note that the configuration hooks are evaluated. + .SH OPTIONS + + .TP +-\fI\-h, \-\-help\fP ++\fI\-h, \-\-help\fP + Help: show available flags and commands. + + .TP +@@ -223,7 +223,7 @@ aplay(1), + alsactl_init(7) + \fP + +-.SH BUGS ++.SH BUGS + None known. + + .SH AUTHOR +diff --git a/aplay/aplay.1 b/aplay/aplay.1 +index 3bba59d..83d359d 100644 +--- a/aplay/aplay.1 ++++ b/aplay/aplay.1 +@@ -1,6 +1,6 @@ + .TH APLAY 1 "1 January 2010" + .SH NAME +-arecord, aplay \- command\-line sound recorder and player for ALSA ++arecord, aplay \- command\-line sound recorder and player for ALSA + soundcard driver + .SH SYNOPSIS + \fBarecord\fP [\fIflags\fP] [filename] +@@ -84,41 +84,41 @@ A value of zero means infinity. + The default is zero, so if this options is omitted then the record/playback process will run until it is killed. + Either '-d' or '-s' option is available exclusively. + .TP +-\fI\-M, \-\-mmap\fP ++\fI\-M, \-\-mmap\fP + Use memory\-mapped (mmap) I/O mode for the audio stream. + If this option is not set, the read/write I/O mode will be used. + .TP +-\fI\-N, \-\-nonblock\fP ++\fI\-N, \-\-nonblock\fP + Open the audio device in non\-blocking mode. If the device is busy the program will exit immediately. + If this option is not set the program will block until the audio device is available again. + .TP +-\fI\-F, \-\-period\-time=#\fP ++\fI\-F, \-\-period\-time=#\fP + Distance between interrupts is # microseconds. + If no period time and no period size is given then a quarter of the buffer time is set. + .TP +-\fI\-B, \-\-buffer\-time=#\fP ++\fI\-B, \-\-buffer\-time=#\fP + Buffer duration is # microseconds + If no buffer time and no buffer size is given then the maximal allowed buffer time but not more than 500ms is set. + .TP +-\fI\-\-period\-size=#\fP ++\fI\-\-period\-size=#\fP + Distance between interrupts is # frames + If no period size and no period time is given then a quarter of the buffer size is set. + .TP +-\fI\-\-buffer\-size=#\fP ++\fI\-\-buffer\-size=#\fP + Buffer duration is # frames + If no buffer time and no buffer size is given then the maximal allowed buffer time but not more than 500ms is set. + .TP +-\fI\-A, \-\-avail\-min=#\fP ++\fI\-A, \-\-avail\-min=#\fP + Min available space for wakeup is # microseconds + .TP +-\fI\-R, \-\-start\-delay=#\fP +-Delay for automatic PCM start is # microseconds ++\fI\-R, \-\-start\-delay=#\fP ++Delay for automatic PCM start is # microseconds + (relative to buffer size if <= 0) + .TP +-\fI\-T, \-\-stop\-delay=#\fP ++\fI\-T, \-\-stop\-delay=#\fP + Delay for automatic PCM stop is # microseconds from xrun + .TP +-\fI\-v, \-\-verbose\fP ++\fI\-v, \-\-verbose\fP + Show PCM structure and setup. + This option is accumulative. The VU meter is displayed when this + is given twice or three times. +@@ -128,7 +128,7 @@ Specifies the VU\-meter type, either \fIstereo\fP or \fImono\fP. + The stereo VU\-meter is available only for 2\-channel stereo samples + with interleaved format. + .TP +-\fI\-I, \-\-separate\-channels\fP ++\fI\-I, \-\-separate\-channels\fP + One file for each channel. This option disables max\-file\-time + and use\-strftime, and ignores SIGUSR1. The stereo VU meter is + not available with separate channels. +@@ -212,7 +212,7 @@ Disables recovery attempts when errors (e.g. xrun) are encountered; the + aplay process instead aborts immediately. + + .SH SIGNALS +-When recording, SIGINT, SIGTERM and SIGABRT will close the output ++When recording, SIGINT, SIGTERM and SIGABRT will close the output + file and exit. SIGUSR1 will close the output file, open a new one, + and continue recording. However, SIGUSR1 does not work with + \-\-separate\-channels. +@@ -222,7 +222,7 @@ and continue recording. However, SIGUSR1 does not work with + .TP + \fBaplay \-c 1 \-t raw \-r 22050 \-f mu_law foobar\fR + will play the raw file "foobar" as a +-22050\-Hz, mono, 8\-bit, Mu\-Law .au file. ++22050\-Hz, mono, 8\-bit, Mu\-Law .au file. + + .TP + \fBarecord \-d 10 \-f cd \-t wav \-D copy foobar.wav\fP +@@ -257,7 +257,7 @@ alsamixer(1), + amixer(1) + \fP + +-.SH BUGS ++.SH BUGS + Note that .aiff files are not currently supported. + + .SH AUTHOR +diff --git a/seq/aplaymidi/arecordmidi.1 b/seq/aplaymidi/arecordmidi.1 +index 78b3a3a..585f2fc 100644 +--- a/seq/aplaymidi/arecordmidi.1 ++++ b/seq/aplaymidi/arecordmidi.1 +@@ -66,7 +66,7 @@ will generate a "format 0" file. + .I \-m,\-\-metronome=client:port + Plays a metronome signal on the specified sequencer port. + +-Metronome sounds are played on channel 10, MIDI notes 33 & 34 (GM2/GS/XG ++Metronome sounds are played on channel 10, MIDI notes 33 & 34 (GM2/GS/XG + metronome standard notes), with velocity 100 and duration 1. + + .TP +@@ -74,7 +74,7 @@ metronome standard notes), with velocity 100 and duration 1. + Sets the time signature for the MIDI file and metronome. + + The time signature is specified as usual with two numbers, representing +-the numerator and denominator of the time signature as it would be ++the numerator and denominator of the time signature as it would be + notated. The denominator must be a power of two. Both numbers should be + separated by a colon. The time signature is 4:4 by default. + +-- +2.47.0 + diff --git a/alsa-utils.spec b/alsa-utils.spec index a4fc457..4548312 100644 --- a/alsa-utils.spec +++ b/alsa-utils.spec @@ -1,21 +1,21 @@ -%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 +URL: https://www.alsa-project.org/ +Source: https://ftp.alsa-project.org/files/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 +Patch1: alsa-git.patch BuildRequires: gcc BuildRequires: autoconf automake libtool @@ -63,13 +63,15 @@ 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 %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 +81,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 +114,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 +124,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 +148,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 +206,9 @@ fi %systemd_postun_with_restart alsa-state.service %changelog +* Sun Dec 8 2024 Jaroslav Kysela - 1.2.13-1 +* Updated to 1.2.13 + * Tue Oct 29 2024 Troy Dawson - 1.2.12-2 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 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