[alsa-devel] [PATCH] alsactl: Only start restore service when asoundrc file exists

Ikey Doherty ikey at solus-project.com
Tue Dec 12 14:32:34 CET 2017


This solves the chicken and egg problem on fresh installations whereby
the alsa state file does not yet exist, and alsa-restore unit attempted
to launch without first having a state file.

Signed-off-by: Ikey Doherty <ikey at solus-project.com>
---
 alsactl/Makefile.am             | 1 +
 alsactl/alsa-restore.service.in | 1 +
 2 files changed, 2 insertions(+)

diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am
index 90fab9d..aaaf74e 100644
--- a/alsactl/Makefile.am
+++ b/alsactl/Makefile.am
@@ -41,6 +41,7 @@ edit = \
 	$(SED) -r -e 's, at sbindir\@,$(sbindir),g' \
 		  -e 's, at mydatadir\@,$(mydatadir),g' \
 		  -e 's, at daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \
+		  -e 's, at asoundrcfile\@,$(ASOUND_STATE_DIR)/asound.state,g' \
 							< $< > $@ || rm $@
 
 alsa-state.service: alsa-state.service.in
diff --git a/alsactl/alsa-restore.service.in b/alsactl/alsa-restore.service.in
index 80fd5fd..a84c2e8 100644
--- a/alsactl/alsa-restore.service.in
+++ b/alsactl/alsa-restore.service.in
@@ -7,6 +7,7 @@
 Description=Save/Restore Sound Card State
 ConditionPathExists=!@daemonswitch@
 ConditionPathExistsGlob=/dev/snd/control*
+ConditionPathExists=@asoundrcfile@
 
 [Service]
 Type=oneshot
-- 
2.15.1



More information about the Alsa-devel mailing list