RHEL4 kernel RPM Provides: lines for modules

Buchan Milne bgmilne at obsidian.co.za
Wed Apr 6 04:18:11 CDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Matt Domsch wrote:
> RHEL4 kernels now include Provides lines in their kernel RPMs for
> modules.  They look like this:
> 
> kernel = 2.6.9
> kernel-drm = 4.3.0
> kernel-i686 = 2.6.9-5.EL
> kABI(4.0.i686) = 0
> kmod(DAC960) = 2.5.47
> kmod(cciss) = 2.6.4
> kmod(cpqarray) = 2.6.0
> kmod(bcm203x) = 1.0
> kmod(bfusb) = 1.1
> kmod(hci_uart) = 2.1
> kmod(hci_usb) = 2.7
> kmod(edd) = 0.16
> kmod(mptbase) = 3.01.16
> kmod(3c59x) = LK1.1.19
> kmod(8139too) = 0.9.27
> kmod(b44) = 0.95
> kmod(bonding) = 2.6.0
> kmod(e100) = 3.0.27-k2-NAPI
> kmod(e1000) = 5.3.19-k2-NAPI
> kmod(ixgb) = 1.0.66
> kmod(ns83820) = 0.20
> kmod(r8169) = 1.2
> kmod(tg3) = 3.10
> kmod(de2104x) = 0.7
> kmod(dmfe) = 1.36.4
> kmod(tulip) = 1.1.13
> kmod(winbond-840) = 1.01-d
> kmod(acpiphp_ibm) = 1.0.1
> kmod(3w-9xxx) = 2.26.02.001
> kmod(3w-xxxx) = 1.26.00.039
> kmod(aacraid) = 1.1.2-lk2
> kmod(ahci) = 1.00
> kmod(aic79xx) = 1.3.11
> kmod(aic7xxx) = 6.2.36
> kmod(aic7xxx_old) = 5.2.0
> kmod(ata_piix) = 1.02
> kmod(gdth) = 3.04
> kmod(ips) = 7.10.18
> kmod(libata) = 1.02
> kmod(lpfc) = 0:8.0.16
> kmod(megaraid_mbox) = 2.20.4.0
> kmod(megaraid_mm) = 2.20.2.0-rh1
> kmod(qla1280) = 3.24.4
> kmod(qla2100) = 8.00.00b21-k
> kmod(qla2200) = 8.00.00b21-k
> kmod(qla2300) = 8.00.00b21-k
> kmod(qla2322) = 8.00.00b21-k
> kmod(qla2xxx) = 8.00.00b21-k
> kmod(qla6312) = 8.00.00b21-k
> kmod(qla6322) = 8.00.00b21-k
> kmod(sata_nv) = 0.03
> kmod(sata_promise) = 1.00
> kmod(sata_sil) = 0.54
> kmod(sata_sis) = 0.10
> kmod(sata_svw) = 1.04
> kmod(sata_sx4) = 0.50
> kmod(sata_via) = 0.20
> kmod(sata_vsc) = 0.01
> kmod(sg) = 3.5.31
> kmod(sym53c8xx) = 2.1.18j
> kmod(speedtch) = 1.8
> kmod(usb_atm) = 1.8
> kmod(sn9c102) = 1:1.08
> kmod(w9968cf) = 1:1.32-basic
> kmod(cifs) = 1.20
> kmod(80	21q) = 1.8
> kmod(bluetooth) = 2.6
> kmod(bnep) = 1.2
> kmod(cmtp) = 1.0
> kmod(hidp) = 1.0
> kmod(l2cap) = 2.4
> kmod(rfcomm) = 1.3
> kmod(sco) = 0.3
> kernel = 2.6.9-5.EL
> 
> Let's think about how dkms mkrpm can be extended to add similar lines
> to those generated RPMs that include prebuilt binaries.

This is something I would also like to have seen in Mandrakelinux kernel
packages (which would allow more sane management of drivers, since it
would then be possible to prevent dkms from clobbering good drivers in
newer kernels ...

Do the kernel-source packages provide any of this info (or even better,
obsoletes ...)?

Something like this should be enough for the default template:

- --- template-dkms-mkrpm.spec.orig       2005-01-26 00:52:10.000000000
+0200
+++ template-dkms-mkrpm.spec    2005-04-06 11:11:04.000000000 +0200
@@ -14,6 +14,7 @@
 BuildArch:     noarch
 Group:         System/Kernel
 Requires:      dkms >= 1.95
+Provides:      kmod(%{module_name}) = %{version}
 BuildRequires:         dkms
 Source0:       %{module_name}-%{version}-mktarball.dkms.tgz
 BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root/



[bgmilne at comanche dkms-2.0.5]$ rpm -q --provides --define "module_name
foo" --define "version 1.0" --define "kernel_versions `uname -r`"
- --specfile template-dkms-mkrpm.spec
kmod(foo) = 1.0

This doesn't however address the case where multiple modules are
provided by one dkms package ...

Regards,
Buchan

- --
Buchan Milne                      Senior Support Technician
Obsidian Systems                  http://www.obsidian.co.za
B.Eng          RHCE (803004789010797),LPIC-1 (LPI000074592)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCU6lTrJK6UGDSBKcRAvF9AJ9+qiIiipGM0m1s3iYA/8FZYxokvQCeKDYS
1jAvPSFX6cRepOdHKXjVG4Y=
=W+9c
-----END PGP SIGNATURE-----



More information about the DKMS-devel mailing list