alsactl: Check for state file existence in systemd unit
diff mbox

Message ID 1482856906.3916.208.camel@users.sourceforge.net
State New
Headers show

Commit Message

Paul Menzel Dec. 27, 2016, 4:41 p.m. UTC
Date: Sat, 19 Oct 2013 10:12:19 +0000

Check for the existence of the state file, by default
`/var/lib/alsa/asound.state`, before doing anything in the systemd
service unit `alsa-restore.service`.

If the state file is not present, `alsactl` will fail with exit code
99.

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
CC: Jordi Mallach <jordi@debian.org>
---
Please apply with `git am saved-messages.mbox`.

 alsactl/Makefile.am             | 1 +
 alsactl/alsa-restore.service.in | 1 +
 2 files changed, 2 insertions(+)

Comments

Takashi Iwai Dec. 28, 2016, 4:08 p.m. UTC | #1
On Tue, 27 Dec 2016 17:41:46 +0100,
Paul Menzel wrote:
> 
> Date: Sat, 19 Oct 2013 10:12:19 +0000
> 
> Check for the existence of the state file, by default
> `/var/lib/alsa/asound.state`, before doing anything in the systemd
> service unit `alsa-restore.service`.
> 
> If the state file is not present, `alsactl` will fail with exit code
> 99.
> 
> Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
> CC: Jordi Mallach <jordi@debian.org>

Well, but then this service won't be triggered for saving the state at
shutdown if the state file isn't present beforehand, no?


Takashi

> ---
> Please apply with `git am saved-messages.mbox`.
> 
>  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 cac8094..b691dfa 100644
> --- a/alsactl/Makefile.am
> +++ b/alsactl/Makefile.am
> @@ -40,6 +40,7 @@ endif
>  edit = \
>  	$(SED) -r -e 's,@sbindir\@,$(sbindir),g' \
>  		  -e 's,@mydatadir\@,$(mydatadir),g' \
> +			-e 's,@asoundstatedir\@,$(ASOUND_STATE_DIR),g' \
>  		  -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \
>  							< $< > $@ || rm $@
>  
> diff --git a/alsactl/alsa-restore.service.in b/alsactl/alsa-restore.service.in
> index 2884098..f3cd86b 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=@asoundstatedir@/asound.state
>  After=alsa-state.service
>  
>  [Service]
> -- 
> 2.11.0

Patch
diff mbox

diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am
index cac8094..b691dfa 100644
--- a/alsactl/Makefile.am
+++ b/alsactl/Makefile.am
@@ -40,6 +40,7 @@  endif
 edit = \
 	$(SED) -r -e 's,@sbindir\@,$(sbindir),g' \
 		  -e 's,@mydatadir\@,$(mydatadir),g' \
+			-e 's,@asoundstatedir\@,$(ASOUND_STATE_DIR),g' \
 		  -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \
 							< $< > $@ || rm $@
 
diff --git a/alsactl/alsa-restore.service.in b/alsactl/alsa-restore.service.in
index 2884098..f3cd86b 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=@asoundstatedir@/asound.state
 After=alsa-state.service
 
 [Service]