On Sun, Sep 28, 2008 at 03:41:56PM +0200, Sven Joachim wrote:
> Somehow the snd-*-oss modules are not loaded at boot time:

This is due to a recent change in alsa-base:

| alsa-driver (1.0.17.dfsg-3) unstable; urgency=medium
|
|   [ Elimar Riesebieter ]
|   * /etc/modprobe.d/alsa-base: make sure oss compat modules aren't loaded via
|     alsa-base (closes: #499695)
|
|   [ Jordi Mallach ]
|   * Make alsa-base Suggest: oss-compat to accommodate the previous change.
|     If you need OSS devices, the "Debian way" is to install that package
|     from now on (closes: #315455).
|   * Update alsa-base.README with a short paragraph mentioning oss-compat.
|
|  -- Jordi Mallach <[EMAIL PROTECTED]>  Mon, 22 Sep 2008 19:35:58 +0200

Of course, the bug did exist before, but it didn't struck, because
alsa-base did care about loading oss-compat modules via:

| install snd-pcm /sbin/modprobe --ignore-install snd-pcm && { /sbin/modprobe 
--quiet snd-pcm-oss ; : ; }
| install snd-mixer /sbin/modprobe --ignore-install snd-mixer && { 
/sbin/modprobe --quiet snd-mixer-oss ; : ; }
| install snd-seq /sbin/modprobe --ignore-install snd-seq && { /sbin/modprobe 
--quiet snd-seq-midi ; /sbin/modprobe --quiet snd-seq-oss ; : ; }

Now, when this has been removed, the bug strikes.
The problem is the behaviour of modprobe regarding `install' statements
for modules. Even though this is not well documented, while crawling
modprobe.c one can find that if multiple `install' directives exist for
one module, only the last one is executed.
Since alsa-base and oss-compat both provide `install snd ' directives,
and since modprobe opendir()'s /etc/modprobe.d, it's just a coin flip
which of the both files alsa-base and oss-compat is read last and which
line is thus executed.

I would suggest to anticipate the previous behaviour of alsa-base.
Patch attached.

Fee free to escalate this bug to module-init-tools due to the
packaging-unfriendly handling of modprobe.conf's `install' statements.


regards
   Mario
-- 
Tower: "Say fuelstate." Pilot: "Fuelstate."
Tower: "Say again." Pilot: "Again."
Tower: "Arghl, give me your fuel!" Pilot: "Sorry, need it by myself..."
--- /etc/modprobe.d/oss-compat.orig	2006-08-28 19:19:06.000000000 +0200
+++ /etc/modprobe.d/oss-compat	2008-09-29 15:10:27.000000000 +0200
@@ -1 +1,3 @@
-install snd modprobe --ignore-install snd && modprobe snd-seq-oss && modprobe snd-mixer-oss && modprobe snd-pcm-oss
+install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet snd-pcm-oss ; : ; }
+install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet snd-mixer-oss ; : ; }
+install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet snd-seq-midi ; /sbin/modprobe --quiet snd-seq-oss ; : ; }

Attachment: signature.asc
Description: Digital signature

Reply via email to