alsa-utils: bugfixes for 1.0.18rc3 (see changelog)
This commit is contained in:
parent
745b2e248f
commit
ea6ff33ba7
@ -4,7 +4,7 @@
|
|||||||
Summary: Advanced Linux Sound Architecture (ALSA) utilities
|
Summary: Advanced Linux Sound Architecture (ALSA) utilities
|
||||||
Name: alsa-utils
|
Name: alsa-utils
|
||||||
Version: 1.0.18
|
Version: 1.0.18
|
||||||
Release: 1%{?prever_dot}%{?dist}
|
Release: 2%{?prever_dot}%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: Applications/Multimedia
|
Group: Applications/Multimedia
|
||||||
URL: http://www.alsa-project.org/
|
URL: http://www.alsa-project.org/
|
||||||
@ -15,6 +15,7 @@ Source10: alsa.rules
|
|||||||
Source11: alsactl.conf
|
Source11: alsactl.conf
|
||||||
Patch0: alsa-utils-1.0.18-alsaconf.patch
|
Patch0: alsa-utils-1.0.18-alsaconf.patch
|
||||||
Patch1: alsactl-fix-card-parsing.patch
|
Patch1: alsactl-fix-card-parsing.patch
|
||||||
|
Patch1: alsactl-add-ignore-option.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: alsa-lib-devel >= %{version}
|
BuildRequires: alsa-lib-devel >= %{version}
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
@ -54,8 +55,8 @@ mkdir -p $RPM_BUILD_ROOT/%{_sbindir}
|
|||||||
ln -s ../../sbin/alsactl $RPM_BUILD_ROOT/%{_sbindir}/alsactl
|
ln -s ../../sbin/alsactl $RPM_BUILD_ROOT/%{_sbindir}/alsactl
|
||||||
|
|
||||||
# Move /usr/share/alsa/init to /lib/alsa/init
|
# Move /usr/share/alsa/init to /lib/alsa/init
|
||||||
mkdir -p -m 755 %{buildroot}/%{_lib}/alsa
|
mkdir -p -m 755 %{buildroot}/lib/alsa
|
||||||
mv %{buildroot}%{_datadir}/alsa/init %{buildroot}/%{_lib}/alsa
|
mv %{buildroot}%{_datadir}/alsa/init %{buildroot}/lib/alsa
|
||||||
|
|
||||||
# Link /lib/alsa/init to /usr/share/alsa/init back
|
# Link /lib/alsa/init to /usr/share/alsa/init back
|
||||||
ln -s ../../../lib/alsa/init %{buildroot}%{_datadir}/alsa/init
|
ln -s ../../../lib/alsa/init %{buildroot}%{_datadir}/alsa/init
|
||||||
@ -67,6 +68,7 @@ touch %{buildroot}/etc/asound.state
|
|||||||
|
|
||||||
# Install alsa-info.sh script
|
# Install alsa-info.sh script
|
||||||
install -p -m 755 %{SOURCE6} %{buildroot}/usr/bin/alsa-info
|
install -p -m 755 %{SOURCE6} %{buildroot}/usr/bin/alsa-info
|
||||||
|
ln -s alsa-info.sh %{buildroot}/usr/bin/alsa-info
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
%{__rm} -rf $RPM_BUILD_ROOT
|
%{__rm} -rf $RPM_BUILD_ROOT
|
||||||
@ -78,7 +80,7 @@ install -p -m 755 %{SOURCE6} %{buildroot}/usr/bin/alsa-info
|
|||||||
%config /etc/alsa/*
|
%config /etc/alsa/*
|
||||||
/bin/*
|
/bin/*
|
||||||
/sbin/*
|
/sbin/*
|
||||||
/%{_lib}/alsa/init/*
|
/lib/alsa/init/*
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_sbindir}/*
|
%{_sbindir}/*
|
||||||
%{_datadir}/alsa/
|
%{_datadir}/alsa/
|
||||||
@ -87,8 +89,18 @@ install -p -m 755 %{SOURCE6} %{buildroot}/usr/bin/alsa-info
|
|||||||
%dir /etc/alsa/
|
%dir /etc/alsa/
|
||||||
%ghost /etc/asound.state
|
%ghost /etc/asound.state
|
||||||
|
|
||||||
|
%post
|
||||||
|
if [ -s /etc/alsa/asound.state -a ! -s /etc/asound.state ] ; then
|
||||||
|
mv /etc/alsa/asound.state /etc/asound.state
|
||||||
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 18 2008 Jaroslav Kysela <jkysela@redhat.com> 1.0.18-2.rc3
|
||||||
|
- fixed /lib/alsa/init path for x86_64 (was /lib64/alsa/init)
|
||||||
|
- added /etc/alsa/asound.state -> /etc/asound.state shift to %post section
|
||||||
|
- fix udev rules (ommited /dev/ prefix for the alsactl utility)
|
||||||
|
- added --ignore option for alsactl (added also to upstream)
|
||||||
|
|
||||||
* Thu Sep 11 2008 Jaroslav Kysela <jkysela@redhat.com> 1.0.18-1.rc3
|
* Thu Sep 11 2008 Jaroslav Kysela <jkysela@redhat.com> 1.0.18-1.rc3
|
||||||
- updated to 1.0.18rc3
|
- updated to 1.0.18rc3
|
||||||
- updated alsa-info.sh script to 0.4.51
|
- updated alsa-info.sh script to 0.4.51
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", \
|
ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", \
|
||||||
RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main restore $name"
|
RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main restore /dev/$name"
|
||||||
ACTION=="remove", SUBSYSTEM=="sound", KERNEL=="controlC*", \
|
ACTION=="remove", SUBSYSTEM=="sound", KERNEL=="controlC*", \
|
||||||
RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf store $name"
|
RUN+="/sbin/alsactl -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf store /dev/$name"
|
||||||
|
126
alsactl-add-ignore-option.patch
Normal file
126
alsactl-add-ignore-option.patch
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
From f63ff476f3538f519ac8ff0acd4acdab29889ad5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
Date: Thu, 18 Sep 2008 09:40:02 +0200
|
||||||
|
Subject: [PATCH] alsactl: Add -g,--ignore option to ignore 'No soundcards found' error
|
||||||
|
|
||||||
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
---
|
||||||
|
alsactl/alsactl.1 | 5 +++++
|
||||||
|
alsactl/alsactl.c | 10 ++++++++--
|
||||||
|
alsactl/alsactl.h | 1 +
|
||||||
|
alsactl/state.c | 16 ++++++++++++----
|
||||||
|
4 files changed, 26 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/alsactl/alsactl.1 b/alsactl/alsactl.1
|
||||||
|
index d7f30f6..b038a82 100644
|
||||||
|
--- a/alsactl/alsactl.1
|
||||||
|
+++ b/alsactl/alsactl.1
|
||||||
|
@@ -51,6 +51,11 @@ Used with restore command. Try to restore the matching control elements
|
||||||
|
as much as possible. This option is set as default now.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
+\fI\-g, \-\-ignore\fP
|
||||||
|
+Used with store and restore commands. Do not show 'No soundcards found'
|
||||||
|
+and do not set an error exit code when soundcards are not installed.
|
||||||
|
+
|
||||||
|
+.TP
|
||||||
|
\fI\-P, \-\-pedantic\fP
|
||||||
|
Used with restore command. Don't restore mismatching control elements.
|
||||||
|
This option was the old default behavior.
|
||||||
|
diff --git a/alsactl/alsactl.c b/alsactl/alsactl.c
|
||||||
|
index 57957bf..f846316 100644
|
||||||
|
--- a/alsactl/alsactl.c
|
||||||
|
+++ b/alsactl/alsactl.c
|
||||||
|
@@ -34,6 +34,7 @@
|
||||||
|
|
||||||
|
int debugflag = 0;
|
||||||
|
int force_restore = 1;
|
||||||
|
+int ignore_nocards = 0;
|
||||||
|
char *command;
|
||||||
|
char *statefile = NULL;
|
||||||
|
|
||||||
|
@@ -48,7 +49,8 @@ static void help(void)
|
||||||
|
printf(" -f,--file # configuration file (default " SYS_ASOUNDRC ")\n");
|
||||||
|
printf(" -F,--force try to restore the matching controls as much as possible\n");
|
||||||
|
printf(" (default mode)\n");
|
||||||
|
- printf(" -P,--pedantic don't restore mismatching controls (old default)\n");
|
||||||
|
+ printf(" -g,--ignore ignore 'No soundcards found' error\n");
|
||||||
|
+ printf(" -P,--pedantic do not restore mismatching controls (old default)\n");
|
||||||
|
printf(" -r,--runstate # save restore and init state to this file (only errors)\n");
|
||||||
|
printf(" default settings is 'no file set'\n");
|
||||||
|
printf(" -R,--remove remove runstate file at first, otherwise append errors\n");
|
||||||
|
@@ -75,6 +77,7 @@ int main(int argc, char *argv[])
|
||||||
|
{"env", 1, NULL, 'E'},
|
||||||
|
{"initfile", 1, NULL, 'i'},
|
||||||
|
{"force", 0, NULL, 'F'},
|
||||||
|
+ {"ignore", 0, NULL, 'g'},
|
||||||
|
{"pedantic", 0, NULL, 'P'},
|
||||||
|
{"runstate", 0, NULL, 'r'},
|
||||||
|
{"remove", 0, NULL, 'R'},
|
||||||
|
@@ -99,7 +102,7 @@ int main(int argc, char *argv[])
|
||||||
|
while (1) {
|
||||||
|
int c;
|
||||||
|
|
||||||
|
- if ((c = getopt_long(argc, argv, "hdvf:FE:i:Pr:R", long_option, NULL)) < 0)
|
||||||
|
+ if ((c = getopt_long(argc, argv, "hdvf:FgE:i:Pr:R", long_option, NULL)) < 0)
|
||||||
|
break;
|
||||||
|
switch (c) {
|
||||||
|
case 'h':
|
||||||
|
@@ -111,6 +114,9 @@ int main(int argc, char *argv[])
|
||||||
|
case 'F':
|
||||||
|
force_restore = 1;
|
||||||
|
break;
|
||||||
|
+ case 'g':
|
||||||
|
+ ignore_nocards = 1;
|
||||||
|
+ break;
|
||||||
|
case 'E':
|
||||||
|
if (putenv(optarg)) {
|
||||||
|
fprintf(stderr, "environment string '%s' is wrong\n", optarg);
|
||||||
|
diff --git a/alsactl/alsactl.h b/alsactl/alsactl.h
|
||||||
|
index 408b145..44d27f1 100644
|
||||||
|
--- a/alsactl/alsactl.h
|
||||||
|
+++ b/alsactl/alsactl.h
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
extern int debugflag;
|
||||||
|
extern int force_restore;
|
||||||
|
+extern int ignore_nocards;
|
||||||
|
extern char *command;
|
||||||
|
extern char *statefile;
|
||||||
|
|
||||||
|
diff --git a/alsactl/state.c b/alsactl/state.c
|
||||||
|
index 554020b..576721a 100644
|
||||||
|
--- a/alsactl/state.c
|
||||||
|
+++ b/alsactl/state.c
|
||||||
|
@@ -1507,8 +1507,12 @@ int save_state(const char *file, const char *cardname)
|
||||||
|
break;
|
||||||
|
if (card < 0) {
|
||||||
|
if (first) {
|
||||||
|
- error("No soundcards found...");
|
||||||
|
- return -ENODEV;
|
||||||
|
+ if (ignore_nocards) {
|
||||||
|
+ return 0;
|
||||||
|
+ } else {
|
||||||
|
+ error("No soundcards found...");
|
||||||
|
+ return -ENODEV;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -1606,8 +1610,12 @@ int load_state(const char *file, const char *initfile, const char *cardname)
|
||||||
|
break;
|
||||||
|
if (card < 0) {
|
||||||
|
if (first) {
|
||||||
|
- error("No soundcards found...");
|
||||||
|
- return -ENODEV;
|
||||||
|
+ if (ignore_nocards) {
|
||||||
|
+ return 0;
|
||||||
|
+ } else {
|
||||||
|
+ error("No soundcards found...");
|
||||||
|
+ return -ENODEV;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.6.0.GIT
|
||||||
|
|
Loading…
Reference in New Issue
Block a user