On Tue, 2005-03-15 at 21:28 +0000, D. D. Brierton wrote:
On Tue, 2005-03-15 at 21:02 +0000, Paul Howarth wrote:
> What's happening is this:
Paul, thanks for helping out. You may well be right, but let me just
give you my reasoning on the issue:
> You currently have kernel-module-
> nvidia-2.6.10-1.770_FC3-1.0.6629-0.lvn.6.3 and nvidia-
> glx-1.0.6629-0.lvn.6.3 installed. The kernel module, being a kernel
> module, is only ever installed, not upgraded, by yum.
But yum lists it as an available update! The kernel modules have a name
which includes the kernel version they are a module for, and they have a
version number:
kernel-module-nvidia-2.6.10-1.770_FC3-1.0.6629-0.lvn.6.3
is
version no 1.0.6629-0.lvn.6.3
of
package kernel-module-nvidia-2.6.10-1.770_FC3
Agreed.
> So when a new version comes out, the old one is still kept by
yum.
I could be imagining this, but I am sure I have upgraded using yum in
the past. Now if a new kernel comes out then a new package called
kernel-module-nvidia-<kernel-name> will become available, and *that*
needs to be installed alongside any modules already installed for older
kernels. But,
kernel-module-nvidia-2.6.10-1.770_FC3-1.0.7167-0.lvn.1.3
is just a newer version (1.0.7167-0.lvn.1.3) of an already installed
package:
kernel-module-nvidia-2.6.10-1.770_FC3
The key difference here is that what you have done before is install a
new package for a new kernel, based on the same underlying nvidia module
version. So you can have multiple kernel-module-nvidia packages
installed, one for each kernel, all depending on one matching nvidia-glx
package.
What's happening now is that there is a new version of the nvidia
module, which means that you need a new version of the kernel module for
each of your installed kernels and a new version of nvidia-glx. Since (I
think) there can only be one version of nvidia-glx installed at once,
this means that all the updates need to be done in a single rpm
transaction, and yum can't do that because it doesn't want to remove the
older version of the kernel modules. That's why it's behaving
differently this time.
> However, doing that would break the existing kernel-module-
> nvidia-2.6.10-1.770_FC3-1.0.6629-0.lvn.6.3 module, which requires
> nvidia-glx-1.0.6629-0.lvn.6.3.
No. It should just upgrade the existing kernel-module! (At least that is
what I think it should, and what I thought it used to do. I might be
wrong on the last point.)
What it used to do was install a *new* kernel module for a new kernel.
Note, when a new kernel comes out and the nvidia kernel module is
rebuilt for it yum (correctly) does not list it as an update. You have
to check for its availability with "yum list available kernel-module-
nvidia-*", and then yum install it when it becomes available. That's
exactly right, and what you have described above. The kernel module
under discussion is a newer version of an existing kernel module, and
yum does indeed list it as an available update:
$ sudo yum list updates
[snip]
Updated Packages
kernel-module-nvidia-2.6.10-1.770_FC3.i6 1.0.7167-0.lvn.1.3 livna-testing
nvidia-glx.i586 1.0.7167-0.lvn.1.3 livna-testing
Do you see how I have reasoned myself into suspecting that there is
either a packaging bug or a yum bug here? As I said, maybe I'm just
missing some fundamental thing here, but I'm not quite sure what ...
Do you see it now?
Paul.
--
Paul Howarth <paul(a)city-fan.org>