Red Hat Bugzilla – Bug 429410
dkms weak modules support somewhat broken
Last modified: 2008-02-15 17:39:09 EST
Description of problem:
Anthony Chen from Teradata Corp. reports thusly:
Recently, we have been testing LSI's linuxrdac package for SLES 10 SP1
release. During the tests we found dkms didn't clean up the symbolic links
in the /lib/modules/KERNE_VERSION/weak-updates directory and a "dkms
remove" didn't clear dkms database properly. The LSI guys traced it down
to a DKMS problem and here's the write-up:
1) In the "do_uninstall()" function of dkms, they execute "weak-modules
--remove-modules" before removing the original modules from the kernel.
If you look in the weak-modules script for:
elif [ -n "$remove_modules" ]; then
A few lines down from that is the line:
[ -e "$module" ] && continue
What the above line checks for, if the module that we are trying to
remove the "weak-links" for is still installed, it will not do anything.
DKMS needs to issue the weak-modules command after the module has been
2) dkms remove, the --all flag, and weak-modules.
When we issue a "dkms remove" with the --all flag, dkms calls the
function "setup_kernels_arches()". In here it will populate
"kernelver_array" with each kernel listed when it does a "dkms status"
on the passed in module (this includes weak-modules). Then in the
"remove_module()" function it will loop over the installed and
weak-linked kernels. Since there isn't an official entry in the DKMS
tree for weak-modules, the user sees the error "Error! There is no
instance of $module $module_version" and the dkms remove doesn't
regarding point 1), this seems to be a fault of the weak-modules script. I will
clone this bug and redirect to module-init-tools. It should be perfectly
acceptable to remove the weak modules symlink w/o having first removed the
Fixed in v18.104.22.168.
dkms-22.214.171.124-1.fc7 has been submitted as an update for Fedora 7
dkms-126.96.36.199-1.fc8 has been submitted as an update for Fedora 8