[Fedora-packaging] get further rid of uname -r in the kmod stuff and solve the remaining kmod problem

Thorsten Leemhuis fedora at leemhuis.info
Mon Aug 14 18:47:18 UTC 2006



Jesse Keating schrieb:
> On Monday 14 August 2006 14:06, Thorsten Leemhuis wrote:
>> Yum will install:
>>  kmod-foo-1.3.2.6.17-1.2171_FC5
>> *and remove*
>>  kmod-foo-1.2.2.6.17-1.2157_FC5
>>  kmod-foo-1.2.2.6.17-1.2171_FC5
>> in the same transaction because the module location of
>> kmod-foo-1.2.2.6.17-1.2171_FC5 and kmod-foo-1.3.2.6.17-1.2171_FC5 would
>> conflict. *This remove is the problem Axel complains about.*
> I could see it removing kmod-foo-1.2.2.6.17-1.2171_FC5, but why does it also 
> remove kmod-foo-1.2.2.6.17-1.2157_FC5?  Wouldn't that be in a different 
> module tree?

Well, normally it's a "install transaction" but when there is a
potential file conflict it's changed to a "upgrade transaction" afaik --
and that will remove the old kmod as well because both old kmods have
the same packagename.

>> == Proposed solution ==
>>
>> Install the kernel-module to
>>
>> /lib/modules/kabi/MODULE/VERSION-RELEASE/{MODULES...}.ko
>>
>> and remove the
>>
>> "Requires: kernel<?kernel-flavour>-<?kernel-version>
>>
>> Details:
>>
>> We avoid the file conflicts noted in "Problem" above due to the
>> "VERSION-RELEASE" in the path. So yum will always install the module and
>> there won't be any conflicts.
>>
>> But how will the kernel find the module there? "/sbin/weak-modules", the
>> script from the kabi stuff can create links to the proper places. It
>> does this already for modules installed in the proper place and kernels
>> that have the compatible kabi. It would be needed to adjust some
>> pathnames in the script, but that shouldn't be to hard.
>>
>> And why remove the Requires? Well, with the kabi stuff it might happen
>> (not that often in Fedora, but on RHEL often) that a module runs fine on
>> a newer kernel. We wouldn't have to build a new module in that case.
>> *But* this requires would fire back because the kmod will get removed by
>> the depsolver when the kernel is was build for gets uninstalled.
>> Therefor it needs to be removed.
> 
> Also, with the kabi stuff, the Requires should get done automatically to an 
> ABI version.  If the next kernel has an ABI change, and you rebuild the 
> module, thats cool, it picks up the new ABI in the automatic Requires.  No 
> manual intervention.

That would solve the problem nicely.

> I would _really_ like to get JCM involved in this discussion, especially on 
> the proper place to drop these modules so that a respin for one kernel won't 
> remove modules from an older kernel.

+1

CU
thl

/me going to bed now soon




More information about the Fedora-packaging mailing list