alsactl: Do not run udev rule before datadir/sbindir are both mounted

Sometimes 90-alsa-restore.rules is 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>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
David Henningsson 2014-06-13 10:04:25 +02:00 committed by Jaroslav Kysela
parent c06dbf0774
commit be4565c841
3 changed files with 3 additions and 1 deletions

View file

@ -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=="@sbindir@", TEST=="@datadir@", GOTO="alsa_restore_go"
GOTO="alsa_restore_end" GOTO="alsa_restore_end"
LABEL="alsa_restore_go" LABEL="alsa_restore_go"

View file

@ -44,6 +44,7 @@ endif
edit = \ edit = \
$(SED) -r -e 's,@sbindir\@,$(sbindir),g' \ $(SED) -r -e 's,@sbindir\@,$(sbindir),g' \
-e 's,@datadir\@,$(mydatadir),g' \
-e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \ -e 's,@daemonswitch\@,$(ALSACTL_DAEMONSWITCH),g' \
< $< > $@ || rm $@ < $< > $@ || rm $@

View file

@ -292,6 +292,7 @@ AC_DEFINE_UNQUOTED(SOUNDSDIR, "$soundsdir", [directory containing sample data])
mydatadir="$dir/alsa" mydatadir="$dir/alsa"
AC_DEFINE_UNQUOTED(DATADIR, "$mydatadir", [directory containing alsa configuration]) AC_DEFINE_UNQUOTED(DATADIR, "$mydatadir", [directory containing alsa configuration])
AC_SUBST(mydatadir)
AC_ARG_WITH(testsound, AC_ARG_WITH(testsound,
AS_HELP_STRING([--with-testsound=file], [give the path of test sound file for alsaconf]), AS_HELP_STRING([--with-testsound=file], [give the path of test sound file for alsaconf]),