FS#9857 - udev: incorrect module deps handling in load-modules.sh

Attached to Project: Arch Linux
Opened by Xavier (shining) - Monday, 17 March 2008, 19:21 GMT
Last edited by Tobias Powalowski (tpowa) - Monday, 17 March 2008, 20:28 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Aaron Griffin (phrakture)
Thomas Bächler (brain0)
Architecture All
Severity Low
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
As reported by kumico on the forum : http://bbs.archlinux.org/viewtopic.php?pid=343220#p343220
there is a problem with the following part of /lib/udev/load-modules.sh ( udev 118-5 ):

depmods="$(/sbin/modprobe -i --show-depends $1)"

#sanitize our module names
depmods="$(echo $depmods | sed \
-e "s#^insmod /lib.*/\(.*\)\.ko.*#\1#g" \
-e 's|-|_|g')"

That sed line only works correctly if each module is on its own line.
However, echo $depmods in bash lose the newlines, so it doesn't work correctly.
It only matches the last module, and so all the module deps are ignored.

The easiest / quickest fix is probably the one proposed by kumico, adding quotes :
depmods="$(echo "$depmods" | sed \

Trying to fix the sed command to work with multiple modules on one line will probably be trickier and result in a more complicated command with no real benefit.
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Monday, 17 March 2008, 20:28 GMT
Reason for closing:  Fixed
Additional comments about closing:  in udev 118-6
Comment by Aaron Griffin (phrakture) - Monday, 17 March 2008, 20:17 GMT
Agreed, quoting depmods in that line is the quickest and easiest fix, as it preserves the newlines.

Loading...