How to determine the DKMS package a module belongs to?

Cyril Bortolato
Sat Oct 18 14:05:00 2003


suppose a DKMS package has been installed on a machine. It
could have been done by an end-user, or perhaps pre-installed
on a new machine.

How can a user figure out which DKMS package a particular
kernel module belongs to? This question comes up if a user
wants to upgrade or remove a module, i.e. what DKMS package
should be upgraded or removed?

The kernel module file name and the DKMS package name don't
necessarily match. For example the qla2x00 DKMS package
features 2 kernel modules, qla2200_6x and qla2300_6x.
I can't do: dkms status -m qla2200_6x. The -m option to DKMS
accepts only DKMS *package* names, not kernel module names.

The RPM package name also does not necessarily match the DKMS
package name, however that's not a problem. From a DKMS package
name and version I can query which RPM package owns the DKMS
source tree as follows:
rpm -qf /usr/src/qla2x00-v6.04.00

and this tells me the RPM package name is qla2x00-clariion_dkms.

Note that gmodconfig can work around the problem mentioned
above. Kernel modules metadata can be stored in XML files
suitable for gmodconfig. From this metadata, gmodconfig can
pull URLs and infos about new DKMS packages releases from a
module author's (or distributor) website. So a user would
typically select a module in gmodconfig, check if a new DKMS
package is available, and could install it with a mouse click,
i.e. users won't have to figure out which DKMS package file
a particular module belongs to.

What do you think? Should DKMS provide the capability of
looking-up to which DKMS package a kernel module belongs to,
or is the solution provided by gmodconfig good enough?