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: DKMS Problems: 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 uninstalled. 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 complete successfully.
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 actual module.
Fixed in v2.0.17.6.
dkms-2.0.17.6-1.fc7 has been submitted as an update for Fedora 7
dkms-2.0.17.6-1.fc8 has been submitted as an update for Fedora 8