kernel RPMs dependency on removing prior kernel?

Andrew Farris lordmorgul at gmail.com
Thu Nov 15 19:40:08 UTC 2007


Richi Plana wrote:
> On Thu, 2007-11-15 at 18:48 +0100, Thorsten Leemhuis wrote:
>> On 15.11.2007 18:14, Richi Plana wrote:
>>> The workaround I tend to use is:
>>>
>>> # yumdownloader kernel kernel-devel # only do kernel-devel if it's
>>> actually installed
>>> # rpm -ivh kernel-<newversion> kernel-devel-<newversion>
>>> # yum update
>>> # yum remove kernel-<oldestversion> # optional
>>>
>>> This seems to pull in the updated kmods assuming the updated kmods are
>>> being pulled in by a "suite" package that is also updated. It also keeps
>>> the old kmods in case I want to fall back to an older kernel.
>> There is even a easier workaround mentioned in
>> https://bugzilla.redhat.com/show_bug.cgi?id=374711#c1
>> ---
>> To escape this problem:
>> # yum install kernel-2.6.23.1-49.fc8
>> # yum update
> 
> Well, if that works, that should might help the yum developers in
> tracking down where the logic error is. Can someone verify this? And
> would a "yum install kernel" not work just as well (since yum logic
> would glean the latest version automatically)?

I'm sorry for the noise about this issue, but it doesnt seem to be that simple.

The above does not work.  The issue is that yum tries to solve the dependencies
for the kmod-nvidia package AS IF it were going to remove the last kernel during
an update with installonlyn behavior... it fails because it is deciding the
kmod-nvidia package needs the kernel (correct) but in reality yum is not going
to remove the kernel that the kmod-nvidia package depends on.

Removing the kmod package lets the install work as one of my last emails shows,
it fails first, I remove the kmod-nvidia package, and it then works.  The 1-42
kernel is not removed, so there is no reason this should fail in the first attempt.


- yum install kernel-2.6.23.1-49.fc8
 fedora                    100% |=========================| 2.1 kB    00:00
 livna-development         100% |=========================| 2.1 kB    00:00
 updates-testing           100% |=========================| 2.3 kB    00:00
 livna                     100% |=========================| 2.1 kB    00:00
 updates                   100% |=========================| 2.3 kB    00:00
 Setting up Install Process
 Parsing package install arguments
 Resolving Dependencies
 --> Running transaction check
 --> Processing Dependency: kernel-i686 = 2.6.23.1-42.fc8 for package:
kmod-nvidia-2.6.23.1-42.fc8
 ---> Package kernel.i686 0:2.6.23.1-49.fc8 set to be updated
 --> Finished Dependency Resolution
 Error: Missing Dependency: kernel-i686 = 2.6.23.1-42.fc8 is needed by package
kmod-nvidia-2.6.23.1-42.fc8

 - rpm -e --nodeps kmod-nvidia-2.6.23.1-42.fc8

- yum install kernel-2.6.23.1-49.fc8
 Loading "refresh-updatesd" plugin
  Setting up Install Process
  Parsing package install arguments
  Resolving Dependencies
  -- Package kernel.i686 0:2.6.23.1-49.fc8 set to be updated
  --> Finished Dependency Resolution

  Dependencies Resolved
...

 - rpm -q kernel
 kernel-2.6.23-6.fc8
 kernel-2.6.23.1-37.fc8
 kernel-2.6.23.1-41.fc8
 kernel-2.6.23.1-42.fc8
 kernel-2.6.23.1-49.fc8

-- 
Andrew Farris <lordmorgul at gmail.com> <ajfarris at gmail.com>
   gpg 0xC99B1DF3 at pgp.mit.edu

No one now has, and no one will ever again get, the big picture. - Daniel Geer
----                                                                       ----




More information about the fedora-devel-list mailing list