dkms 2.0.13.2 test release

Panu Matilainen pmatilai at laiskiainen.org
Tue Feb 20 05:01:20 CST 2007


On Tue, 20 Feb 2007, Matt Domsch wrote:

> Lots of new stuff here.  I'd appreciated folks giving it a once-over,
> especially if you make driver disks or if you are playing with RHEL5 betas,
> FC6, or SLES10.  It's still missing auto-creating RHEL5/FC6 KMPs,
> that's for tomorrow...
>
> http://linux.dell.com/dkms/testing
>
> * Mon Feb 19 2007 Matt Domsch <Matt_Domsch at dell.com> 2.0.13.2
> - RHEL5 weak module recognition with new state installed-weak
> - autoinstaller recognizes installed-weak and doesn't rebuild

Nice! I started looking at this already but the recursive calls to 
do_status() made by head spin :)

Couple of mostly cosmetical issues:

'dkms status' doesn't show installed-weak modules for all modules, just
one. 'dkms status -m <module>' on the other hand does show them:

[root at localhost ~]# dkms status
thinkpad, 6.0, 2.6.18-8.el5, i686: installed
ciscovpn, 4.8.0, 2.6.18-8.el5, i686: installed
thinkpad, 6.0, 2.6.18-9.pm..el5, i686: installed-weak from 2.6.18-8.el5
[root at localhost ~]# dkms status -m ciscovpn
ciscovpn, 4.8.0, 2.6.18-8.el5, i686: installed
ciscovpn, 4.8.0, 2.6.18-9.pm..el5, i686: installed-weak from 2.6.18-8.el5

dkms_autoinstaller doesn't try to build the package so it's just 
cosmetical (and a bit misleading).

Another purely cosmetics-issue is that dkms now assumes all 
/lib/modules/<version> directories to contain weak-updates directory which 
is not necessarily not true, causing a harmless "no such file or 
directory" message to be spat out. Easily taken care of by /dev/null:

--- dkms.orig   2007-02-20 08:22:08.000000000 +0200
+++ dkms        2007-02-20 12:42:41.000000000 +0200
@@ -1632,7 +1632,7 @@
      # recognize weak modules.  These are in $kern/weak-updates but are 
symlinks to another $kern/extra file.

      for installedkern in $(find "$install_tree" -maxdepth 1 -mindepth 1 
-type d); do
-       for ko in $(find "$installedkern/weak-updates" -type l); do
+       for ko in $(find "$installedkern/weak-updates" -type l 2>/dev/null); do
             [ ${done} -eq 1 ] && break
             installedkernver=$(basename $installedkern)
             basename_ko=$(basename $ko)

A not so cosmetic thing is that dkms itself should call weak-modules after 
installing and removing modules, something like the patch I sent earlier:
http://lists.us.dell.com/pipermail/dkms-devel/2007-February/000524.html.
Otherwise the links will only be created whenever new kernels are 
installed. For example:
1) kernel 2.6.18-1 running
2) a new, kABI compatible version 2.6.18-2 becomes available, install it
3) install something using dkms
4) reboot to new kernel

-> it'll needlessly rebuild the modules for 2.6.18-2 because dkms didn't 
call weak-modules. Swap 2 and 3 in the above and this doesn't happen 
because the kernel package installation takes care of that.

 	- Panu -



More information about the DKMS-devel mailing list