[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Fedora-packaging] Re: atrpms kernel modules



On Sun, Jul 23, 2006 at 10:32:06PM +0300, Ville Skyttä wrote:

> > rpm -U/-i will nuke or overwrite kernel modules of the running
> > kernel in a uname-r-less scheme.
> 
> rpm -U behaves just as documented and just like with all other packages,
> including the kernels, ie. upgrades them.  Yes, I'm aware of the nuances
> that might make some say it's not the same.  Whatever, if you don't want
> that behaviour, don't use -U.  kernel packages don't have
> uname-r-in-name either, and people are perfectly capable of upgrading
> their kernels with the rpm CLI.
> 
> Ditto, rpm -i behaves like for all other packages, it doesn't nuke or
> overwrite anything.  Use --oldpackage in addition if you wish to deal
> with modules for old kernels.

Just pick Thorsten's example where rpm -U will nuke the kernel module
from another unrelated kernel and rpm -i will overwrite (coinstall
over) the kernel module of the latest kernel.

To give the example again (for simplicity EVR is a single integer):

kernel-a with module foo-1 has kmod-foo-1-a
kernel-b with module foo-1 has kmod-foo-1-b

(BTW this by itself already needs special support in all depsolvers to
allow for multiple installs. smart for one cannot glob this, so you
need to mention each kernel module in its config.)

Now an update module foo-2 brings in kmod-foo-2-b in the repo.

This *should* replace kmod-foo-1-b, but leave kmod-foo-1-a alone.

o rpm -i fails as it simply (partly) *overwrites* kmod-foo-1-b
o rpm -U faile as it *nukes* kmod-foo-1-a

This will be the typical situation upon each kernel module
upgrade. And w/o special handling in *each* depsolver depsolvers will
automagically fail defaulting to nuking.

So, the fact remains: W/o uname-r-in-name you generate a very messy
situation with compilcated special handling to avoid breakage and you
cannot avoid breakage on rpm CLI level.

In contrast the kmdl scheme guarantees that old kernel modules will
not be nuked and neither will anything be overwritten - in fact on rpm
CLI level kmdls behave as a normal package - always use rpm -U. The
only drawback of kmdl is that depsolvers don't coinstall for newly
installed kernels. But this depsolver support is far more uncritical
if missing and also easier to implement (like a 9-liner in bash).
-- 
Axel.Thimm at ATrpms.net

Attachment: pgpfqNkMFzs9o.pgp
Description: PGP signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]