even i wrote to the maling list it seems no one response to it: http://lists.baseurl.org/pipermail/yum/2009-May/022707.html 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 kmod-fuse-2.7.4-20.el5 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: --------------------------- installonlypkgs 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, kernel-unsupported. --------------------------- 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:-(
> 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 modalias(char-major-10-229) 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.
you have a funny definition of "yum is doing what it is told" i have to repeat the man page of yum.conf said: --------------------------- installonlypkgs 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, kernel-unsupported. --------------------------- - 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.
it seems my reasons was valid as i don't get any response?
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-PAE-debug']) 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.
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.
Created attachment 435746 [details] fix installonlypkgs and kernelpkgnames see also: https://bugzilla.redhat.com/show_bug.cgi?id=572883
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.
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. thanks.
Take a look at the following for examples of driver disks in RHEL6: http://people.redhat.com/jcm/el6/dup/examples/ Jon.
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.
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?
What environment are you building in? My comment applies to RHEL6, not to RHEL5. Jon.
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...
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.
is there anything else then the redhat-rpm-config package changed? can i get the latest src.rpm for testing? thanks.
Not sure. Ping me by email and we'll see what can be done.
Renming this bug to be more clear.
dare i ask for fix too?
Levente, 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. Martin
cant you tell me a concrate driver package which i can download and look into?
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).
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.
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)