rpms/alsa-utils/devel alsactl-add-ignore-option.patch, NONE, 1.1 alsa-utils.spec, 1.72, 1.73 alsa.rules, 1.5, 1.6

Jaroslav Kysela perex at fedoraproject.org
Thu Sep 18 07:54:51 UTC 2008


Author: perex

Update of /cvs/pkgs/rpms/alsa-utils/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4912

Modified Files:
	alsa-utils.spec alsa.rules 
Added Files:
	alsactl-add-ignore-option.patch 
Log Message:
alsa-utils: bugfixes for 1.0.18rc3 (see changelog)

alsactl-add-ignore-option.patch:

--- NEW FILE alsactl-add-ignore-option.patch ---
>From f63ff476f3538f519ac8ff0acd4acdab29889ad5 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex at 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 at 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



Index: alsa-utils.spec
===================================================================
RCS file: /cvs/pkgs/rpms/alsa-utils/devel/alsa-utils.spec,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- alsa-utils.spec	11 Sep 2008 11:54:09 -0000	1.72
+++ alsa-utils.spec	18 Sep 2008 07:54:21 -0000	1.73
@@ -4,7 +4,7 @@
 Summary: Advanced Linux Sound Architecture (ALSA) utilities
 Name:    alsa-utils
 Version: 1.0.18
-Release: 1%{?prever_dot}%{?dist}
+Release: 2%{?prever_dot}%{?dist}
 License: GPLv2+
 Group:   Applications/Multimedia
 URL:     http://www.alsa-project.org/
@@ -15,6 +15,7 @@
 Source11: alsactl.conf
 Patch0:  alsa-utils-1.0.18-alsaconf.patch
 Patch1:  alsactl-fix-card-parsing.patch
+Patch1:  alsactl-add-ignore-option.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: alsa-lib-devel >= %{version}
 BuildRequires: ncurses-devel
@@ -54,8 +55,8 @@
 ln -s ../../sbin/alsactl $RPM_BUILD_ROOT/%{_sbindir}/alsactl
 
 # Move /usr/share/alsa/init to /lib/alsa/init
-mkdir -p -m 755 %{buildroot}/%{_lib}/alsa
-mv %{buildroot}%{_datadir}/alsa/init %{buildroot}/%{_lib}/alsa
+mkdir -p -m 755 %{buildroot}/lib/alsa
+mv %{buildroot}%{_datadir}/alsa/init %{buildroot}/lib/alsa
 
 # Link /lib/alsa/init to /usr/share/alsa/init back
 ln -s ../../../lib/alsa/init %{buildroot}%{_datadir}/alsa/init
@@ -67,6 +68,7 @@
 
 # Install alsa-info.sh script
 install -p -m 755 %{SOURCE6} %{buildroot}/usr/bin/alsa-info
+ln -s alsa-info.sh %{buildroot}/usr/bin/alsa-info
 
 %clean
 %{__rm} -rf $RPM_BUILD_ROOT
@@ -78,7 +80,7 @@
 %config /etc/alsa/*
 /bin/*
 /sbin/*
-/%{_lib}/alsa/init/*
+/lib/alsa/init/*
 %{_bindir}/*
 %{_sbindir}/*
 %{_datadir}/alsa/
@@ -87,8 +89,18 @@
 %dir /etc/alsa/
 %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
+* Thu Sep 18 2008 Jaroslav Kysela <jkysela at 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 at redhat.com> 1.0.18-1.rc3
 - updated to 1.0.18rc3
 - updated alsa-info.sh script to 0.4.51


Index: alsa.rules
===================================================================
RCS file: /cvs/pkgs/rpms/alsa-utils/devel/alsa.rules,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- alsa.rules	11 Sep 2008 11:54:09 -0000	1.5
+++ alsa.rules	18 Sep 2008 07:54:21 -0000	1.6
@@ -1,4 +1,4 @@
 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*", \
-  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"




More information about the fedora-extras-commits mailing list