Message ID | 1402647348-25604-1-git-send-email-david.henningsson@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Date 13.6.2014 10:15, David Henningsson wrote: > The 90-alsa-restore.rules udev rule is primarily meant to handle hotplugging, > but sometimes it is also run before /usr is mounted, > and alsactl restore depends on /usr/share/alsa being present. > > If /usr/share/alsa is not present, we're so early in the boot > process that alsa-restore.service (or upstart equivalent) will > run later on. > > BugLink: https://bugs.launchpad.net/bugs/1289730 > Signed-off-by: David Henningsson <david.henningsson@canonical.com> > --- > > I'm not really sure of all quirks in the boot process, and I haven't tested the > patch either, hence the RFC above. Do you think it makes sense? Yes, I think that's ok. Takashi? > Should we also add @sbindir@ to the things to test for? It shouldn't harm anything. Could you prepare a new patch? > alsactl/90-alsa-restore.rules.in | 2 +- > alsactl/Makefile.am | 1 + > configure.ac | 1 + > 3 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in > index c68119d..c83c6b5 100644 > --- a/alsactl/90-alsa-restore.rules.in > +++ b/alsactl/90-alsa-restore.rules.in > @@ -1,4 +1,4 @@ > -ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", GOTO="alsa_restore_go" > +ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST=="@datadir@", GOTO="alsa_restore_go" > GOTO="alsa_restore_end" > > LABEL="alsa_restore_go" > diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am > index b862412..afbedb3 100644 > --- a/alsactl/Makefile.am > +++ b/alsactl/Makefile.am > @@ -44,6 +44,7 @@ endif > > edit = \ > $(SED) -r -e 's,@sbindir\@,$(sbindir),g' \ > + -e 's,@datadir\@,$(mydatadir),g' \ > -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \ > < $< > $@ || rm $@ > > diff --git a/configure.ac b/configure.ac > index 7e6894a..a4d2db3 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -292,6 +292,7 @@ AC_DEFINE_UNQUOTED(SOUNDSDIR, "$soundsdir", [directory containing sample data]) > > mydatadir="$dir/alsa" > AC_DEFINE_UNQUOTED(DATADIR, "$mydatadir", [directory containing alsa configuration]) > +AC_SUBST(mydatadir) > > AC_ARG_WITH(testsound, > AS_HELP_STRING([--with-testsound=file], [give the path of test sound file for alsaconf]), >
diff --git a/alsactl/90-alsa-restore.rules.in b/alsactl/90-alsa-restore.rules.in index c68119d..c83c6b5 100644 --- a/alsactl/90-alsa-restore.rules.in +++ b/alsactl/90-alsa-restore.rules.in @@ -1,4 +1,4 @@ -ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", GOTO="alsa_restore_go" +ACTION=="add", SUBSYSTEM=="sound", KERNEL=="controlC*", KERNELS!="card*", TEST=="@datadir@", GOTO="alsa_restore_go" GOTO="alsa_restore_end" LABEL="alsa_restore_go" diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am index b862412..afbedb3 100644 --- a/alsactl/Makefile.am +++ b/alsactl/Makefile.am @@ -44,6 +44,7 @@ endif edit = \ $(SED) -r -e 's,@sbindir\@,$(sbindir),g' \ + -e 's,@datadir\@,$(mydatadir),g' \ -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \ < $< > $@ || rm $@ diff --git a/configure.ac b/configure.ac index 7e6894a..a4d2db3 100644 --- a/configure.ac +++ b/configure.ac @@ -292,6 +292,7 @@ AC_DEFINE_UNQUOTED(SOUNDSDIR, "$soundsdir", [directory containing sample data]) mydatadir="$dir/alsa" AC_DEFINE_UNQUOTED(DATADIR, "$mydatadir", [directory containing alsa configuration]) +AC_SUBST(mydatadir) AC_ARG_WITH(testsound, AS_HELP_STRING([--with-testsound=file], [give the path of test sound file for alsaconf]),
The 90-alsa-restore.rules udev rule is primarily meant to handle hotplugging, but sometimes it is also run before /usr is mounted, and alsactl restore depends on /usr/share/alsa being present. If /usr/share/alsa is not present, we're so early in the boot process that alsa-restore.service (or upstart equivalent) will run later on. BugLink: https://bugs.launchpad.net/bugs/1289730 Signed-off-by: David Henningsson <david.henningsson@canonical.com> --- I'm not really sure of all quirks in the boot process, and I haven't tested the patch either, hence the RFC above. Do you think it makes sense? Should we also add @sbindir@ to the things to test for? alsactl/90-alsa-restore.rules.in | 2 +- alsactl/Makefile.am | 1 + configure.ac | 1 + 3 files changed, 3 insertions(+), 1 deletion(-)