Bug 502140 - yum "install"s kmod packages instead of "update"ing them
yum "install"s kmod packages instead of "update"ing them
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum (Show other bugs)
All Linux
low Severity medium
: rc
: ---
Assigned To: packaging-team-maint
BaseOS QE Security Team
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2009-05-22 04:00 EDT by Levente Farkas
Modified: 2014-01-21 01:13 EST (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-03-08 08:34:19 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
fix installonlypkgs and kernelpkgnames (1.77 KB, patch)
2010-07-31 07:42 EDT, Levente Farkas
no flags Details | Diff

  None (edit)
Description Levente Farkas 2009-05-22 04:00:09 EDT
even i wrote to the maling list it seems no one response to it:

i now spend many hours to find the reason why yum always install kmod
rpms on rhel/centos and never update. in case of fedora where
kmod's are hardwired to a given kernel it's not a problem (but those are
never weak-update kmods), but in case of rhel/centos where eg in 5.3 all
kernel kabi compatible then we can use none kernel version specific
kmods. what's more in case of weak-update kmod when the same package
has more version installed cause many problems.
suppose i've got a kmod installed eg:
# rpm -q kmod-fuse
now i build a new one and try to update with yum update. it's always
install it and i can't force yum to update it. anybody can tell me the
reason? of course rpm -U update it.
i already rtfm and man yum.conf said:
  List  of  packages  that  should only ever be installed, never updated.
  Kernels in particular fall into this category. Defaults to kernel, 
  kernel-smp, kernel-bigmem, kernel-enterprise, kernel-debug, 
there is no kmod in this list neither said the provided list also have to match. so imho it's bug in yum or at least undocumented feature. and should have to be able to turn of.

anyway anybody know what is the yum-kmod and what is it good for? there is not any line of documentation about it anywhere:-( and try both with/without yum-kmod but the same happened:-(
Comment 1 James Antill 2009-05-22 09:32:25 EDT
> even i wrote to the maling list it seems no one response to it:

 You have a funny definition of "no one", given all the replies you got.
 As you were told:

% rpm -qp --provides kmod-fuse-2.7.4-21.el5.i686.rpm
kernel-modules = 2.6.18-128.1.10.el5
fuse-kmod = 2.7.4-21.el5
kmod-fuse = 2.7.4-21.el5

...and kernel-modules is in the installonlypkgs list, so yum is doing what it is told.
 Also as you were told the yum kmod plugin relies on the packages following a std. which tells the plugin what the relationship is between the kernels and the modules ... if a kmod follows that std. the plugin should do the correct thing.
 Naming random packages kmod* won't make them magically work ... dito the "new std." use in rpmfusion which uses the same name for the packages, but is completely different.
Comment 2 Levente Farkas 2009-05-22 11:58:22 EDT
you have a funny definition of "yum is doing what it is told"
i have to repeat the man page of yum.conf said:
  List  of  packages  that  should only ever be installed, never updated.
  Kernels in particular fall into this category. Defaults to kernel, 
  kernel-smp, kernel-bigmem, kernel-enterprise, kernel-debug, 
- first of all where is kernel-modules? nowhere!
- second it said "List of packages" i read it as _packages_ kernel-modules only a name which is a magic provide not a name of package.
so where did you get the _definition_ of yum have to do?

and what does the "kmod* won't make them magically work" means? kmod shouldn't have to work! simple put it into /lib/modules/<kver>/extra/ and run depmod makes it work (and run weak-updates when needed) it has nothing to do with any kmod standard.
Comment 3 Levente Farkas 2009-06-16 13:14:19 EDT
it seems my reasons was valid as i don't get any response?
Comment 4 Phil Perry 2009-08-29 07:32:44 EDT
It looks like the documentation for installonlypkgs is incorrect.

Look in /usr/lib/python2.4/site-packages/yum/config.py and you will see:

    installonlypkgs = ListOption(['kernel', 'kernel-bigmem',
            'kernel-enterprise','kernel-smp', 'kernel-modules', 'kernel-debug',
            'kernel-unsupported', 'kernel-source', 'kernel-devel', 'kernel-PAE',

kernel-modules is listed, and kmodtool Provides kernel-modules so this is why kmod packages built with kmodtool do not update with yum.

Our solution (elrepo.org) to building ABI-tracking kmod packages that may be updated with yum is to edit kmodtool to Provide something not listed in installonlypkgs - in our case we chose kabi-modules although the line could also simply be commented out.
Comment 5 Levente Farkas 2009-08-29 09:37:56 EDT
and is there any good reason for this?
how can be usable kmod-foo-1.0 and kmod-foo-2.0 at the same time when both use weak-updates (as used in el kmod pacakges)? imho the problem here is that there is no reason to include kernel-modules in this list.
Comment 6 Levente Farkas 2010-07-31 07:42:46 EDT
Created attachment 435746 [details]
fix installonlypkgs and kernelpkgnames

see also: https://bugzilla.redhat.com/show_bug.cgi?id=572883
Comment 7 Jon Masters 2010-08-09 18:37:38 EDT
Ned: I've raised this for RHEL6. Let's sync up and see if there are any remaining things you need to do in RHEL5 that we can take care of. We're working on this.
Comment 8 Levente Farkas 2010-08-10 12:56:53 EDT
where did you rise? do you open another ticket? and what's the current situation (your/rhel opinion) in rhel-6 about kmod yum handling and kmod spec file template and kmodtool?
it'd be nice to know.
Comment 9 Jon Masters 2010-08-10 22:41:15 EDT
Take a look at the following for examples of driver disks in RHEL6:


Comment 10 Jon Masters 2010-08-10 22:42:02 EDT
We should be switching to kabi-modules in RHEL6 soon. I am not sure about the RHEL5 situation, and we will need to get back to you about that.
Comment 11 Levente Farkas 2010-08-15 08:25:19 EDT
hi jon,
i'm just try your example but it's not working for me. i even try your sym53c8xx spec, but when i try to build i've got:
Processing files: kmod-sym53c8xx-2.2.3.rhtest60s10-1.el6.x86_64
error: File not found: /home/robot/rpm/BUILDROOT/sym53c8xx-2.2.3.rhtest60s10-1.el5.x86_64/lib/modules/debug-default
is there any newer redhat-rpm-config?
Comment 12 Jon Masters 2010-08-16 18:39:11 EDT
What environment are you building in? My comment applies to RHEL6, not to RHEL5.

Comment 13 Levente Farkas 2010-08-16 18:57:45 EDT
of course i build for rhel-6 beta2 update1 on a host with rhel-6 beta2 update1.
anyway i'd like to move this thread to elrepo-devel list as i wrote there other comments too...
Comment 14 Jon Masters 2010-08-17 01:35:45 EDT
There have been some other changes since then in RHEL6. Sadly, I think they are in the private builds at this stage. I will look at the error later on.
Comment 15 Levente Farkas 2010-08-17 08:36:56 EDT
is there anything else then the redhat-rpm-config package changed? can i get the latest src.rpm for testing?
Comment 16 Jon Masters 2010-08-17 13:49:23 EDT
Not sure. Ping me by email and we'll see what can be done.
Comment 17 Jon Masters 2010-08-17 13:59:29 EDT
Renming this bug to be more clear.
Comment 18 Levente Farkas 2011-09-08 19:14:26 EDT
dare i ask for fix too?
Comment 19 Martin Wilck 2011-09-09 04:05:21 EDT

I am certain that it is possible to upgrade kmods in RHEL5. We have been doing it many times already at Fujitsu. Are you using yum-kmod? Can you post a yum log of your update attempt here?

Note: Fujitsu has built a custom yum-kmod package that works around a few shortcomings of yum-kmod as shipped in RHEL5. You can obtain it from support.ts.fujitsu.com by downloading any driver package we offer for RHEL5. You may want to check if installing that resolves your problem.

Comment 20 Levente Farkas 2011-09-09 07:15:51 EDT
cant you tell me a concrate driver package which i can download and look into?
Comment 21 Martin Wilck 2011-09-09 07:24:31 EDT
I don't know what you need an which release you're running.

Go to  http://support.ts.fujitsu.com/com/support/downloads.html and type "RHDUP" in the full-text search field. I'd also recommend you have a look at our DUP README that describes many DUP  best practices (http://support.ts.fujitsu.com/Download/ShowDescription.asp?SoftwareGUID=052030C0-6968-45EC-891B-854806066708&Info=FTS).
Comment 22 Zdeněk Pavlas 2013-03-08 08:34:19 EST
Yum always installs packages, whose name or (one of the) provides are listed in installonlypkgs option.  Such packages are assumed to be able to coexist in multiple versions.  It's a documented bahavior.  If you need to avoid this, override the default installonlypkgs list in yum.conf.
Comment 23 Levente Farkas 2013-03-08 08:48:26 EST
did you read my comment? did you read the documentation? obviouly not since the documentation never mention kernel-modules in installonlypkgs. that's what this bugzilla about...
anyway we already fix it another way (ie never use rh kmods)

Note You need to log in before you can comment on or make changes to this bug.