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