[alsa-devel] [PATCH] alsactl: Check existence of `alsactl` in udev rule

Paul Menzel paulepanter at users.sourceforge.net
Fri Dec 30 11:04:54 CET 2016


Am Donnerstag, den 29.12.2016, 14:28 +0100 schrieb Takashi Iwai:
> On Wed, 28 Dec 2016 23:31:15 +0100,
> Paul Menzel wrote:
> > 
> > From: Jordi Mallach <jordi at debian.org>
> > Date: Thu, 10 Jan 2013 00:17:58 +0000
> > 
> > Include the line `TEST=="/usr/sbin/alsactl"` in the udev rule, to
> > properly fix the state restoring for users with split `/usr`
> > filesystems
> > [1].
> 
> This doesn't sound like a real "fix".  It means that the whole
> save/restore mechanism will be silently lost, right?

Well, if the binary `alsactl` is not available, it shouldn’t be run.

But you are right, it depends on the system setup, what happens.

See the description of commit de7c3eff (alsactl: systemd and udev
hookup).

>     - At boot the asound.state file might not be readable, since it resides
>       on a different file system. That means exclusively restoring sound card
>       settings from udev rules will no suffice, since if the rule is
>       executed at early boot (for example within udev settle) then the file
>       will no be readable and cannot be restored.


Thanks,

Paul


> > Upstream the patch from the Debian package [2].
> > 
> > [1] https://bugs.debian.org/670490
> >     "Debian Bug report logs - #670490 alsa-utils: Restore sound volume
> >      in udev"
> > [2] https://sources.debian.net/src/alsa-utils/1.1.2-1/debian/patches/udev_test_alsactl.patch/
> > 
> > Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
> > CC: Jordi Mallach <jordi at debian.org>
> > ---
> > Please apply with `git am saved-messages.mbox`.
> > 
> >  alsactl/90-alsa-restore.rules.in | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in
> > index c0c1b23..f190b85 100644
> > --- a/alsactl/90-alsa-restore.rules.in
> > +++ b/alsactl/90-alsa-restore.rules.in
> > @@ -2,7 +2,7 @@ ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST==
> >  GOTO="alsa_restore_end"
> >  
> >  LABEL="alsa_restore_go"
> > -TEST!="@daemonswitch@", RUN+="@sbindir@/alsactl restore $attr{device/number}"
> > -TEST=="@daemonswitch@", RUN+="@sbindir@/alsactl nrestore $attr{device/number}"
> > +TEST!="@daemonswitch@", TEST=="@sbindir@/alsactl", RUN+="@sbindir@/alsactl restore $attr{device/number}"
> > +TEST=="@daemonswitch@", TEST=="@sbindir@/alsactl", RUN+="@sbindir@/alsactl nrestore $attr{device/number}"
> >  
> >  LABEL="alsa_restore_end"
> > -- 
> > 2.11.0
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20161230/49f49ea7/attachment-0001.sig>


More information about the Alsa-devel mailing list