Package: dkms Version: 2.2.0.3-1 Severity: normal Hello,
When building a DKMS module that don't supplies MODULE_VERSION strings that tries to replace the in-kernel module that supplies this MODULE_VERSION string DKMS fails to recognize that both modules are different because it is not cleaning the variable res. Just see this dirty test: # Define get_module_verinfo (just c&p from /usr/bin/dmks) $ get_module_verinfo(){ local vals= while read -a vals; do case ${vals[0]} in version:) res[0]=${vals[1]}; res[2]=${vals[2]};; srcversion:) res[1]=${vals[1]};; esac done < <(modinfo $1) } $ unset res $ get_module_verinfo coretemp $ echo $res <- nothing, good since coretemp don't has MODULE_VERSION get_module_verinfo e1000e $ echo $res 1.5.1-k <- GOOD, this is the MODULE_VERSION of e1000e $ get_module_verinfo coretemp $ echo $res 1.5.1-k <- FAIL!! This causes that DKMS don't installs the new module that is clearly different than the in-kernel one (the first has no MODULE_VERSION and the second one has) The attached patch fixes this issue
--- a/usr/sbin/dkms 2012-08-08 20:55:42.752487579 +0200 +++ b/usr/sbin/dkms 2012-08-08 20:56:13.451549256 +0200 @@ -646,6 +646,7 @@ # Little helper function for parsing the output of modinfo. get_module_verinfo(){ + unset res local vals= while read -a vals; do case ${vals[0]} in
signature.asc
Description: OpenPGP digital signature