|Summary:||rpm checks versions in install mode (rpm -ivh)|
|Product:||Red Hat Enterprise Linux 7||Reporter:||Bruno Goncalves <bgoncalv>|
|Component:||yum||Assignee:||James Antill <james.antill>|
|Status:||CLOSED ERRATA||QA Contact:||Karel Srot <ksrot>|
|Version:||7.0||CC:||james.antill, ksrot, lmiksik, pmatilai, vmukhame|
|Fixed In Version:||yum-3.4.3-122.el7||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2015-03-05 09:03:48 UTC||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Bruno Goncalves 2014-02-10 08:53:24 UTC
Description of problem: Trying to install a newer version of kernel that is more recent that the current used for booting and older than the newest version installed fail. Transaction check error: package kernel-3.10.0-84.el7.x86_64 (which is newer than kernel-3.10.0-71.el7.x86_64) is already installed Version-Release number of selected component (if applicable): yum-3.4.3-112.el7.noarch How reproducible: 100% Steps to Reproduce: 1.Install 3 kernel to a system # rpm -q kernel kernel-3.10.0-84.el7.x86_64 kernel-3.10.0-70.el7.x86_64 kernel-3.10.0-64.el7.x86_64 2.Boot to the second kernel # uname -r 3.10.0-70.el7.x86_64 3.Try to install a kernel version higher than the current one and lower then the highest one. Actual results: Error will happen package kernel-3.10.0-84.el7.x86_64 (which is newer than kernel-3.10.0-71.el7.x86_64) is already installed Expected results: kernel-3.10.0-64.el7.x86_64 version should be removed and kernel-3.10.0-84.el7.x86_64 should be installed
Comment 1 Bruno Goncalves 2014-02-10 08:54:37 UTC
Sorry, in expected results kernel-3.10.0-71.el7.x86_64 should be installed.
Comment 2 Bruno Goncalves 2014-02-10 09:34:41 UTC
It can be installed using rpm with --force option. # rpm -ivh ./kernel-3.10.0-83.el7.x86_64.rpm --force
Comment 4 Panu Matilainen 2014-06-12 14:17:44 UTC
Um, AFAIR rpm has always behaved this way. The trick is not --force but --oldpackage (RPMPROB_FILTER_OLDPACKAGE) which is needed in this case, just like its needed in case of downgrade.
Comment 6 Panu Matilainen 2014-06-12 14:31:53 UTC
James, regression compared to what? Like said IIRC rpm has always behaved this way (that special oldpackage flag needed for old packages, whether install or something else), certainly RHEL-6 version does, as expected (just tested).
Comment 7 Panu Matilainen 2014-06-13 07:56:57 UTC
Never mind the needinfo, tested RHEL-5 and rpm behaves the same there. Yum sets RPMPROB_FILTER_OLDPACKAGE as needed when the to-be-installed package is older than the *oldest* version of the same package, but rpm requires RPMPROB_FILTER_OLDPACKAGE for installing a version that is older than the *newest* version of installed package. Back to yum.
Comment 12 James Antill 2014-09-29 15:46:07 UTC
Found the problem ... yum was seeing the older installed package version, and deciding it was an upgrade. Added testcase and fix upstream. commit fada4b8dbd30d0335a9c07067a74dccec0abbedb Author: James Antill <email@example.com> Date: Mon Sep 29 11:40:54 2014 -0400 Don't look for upgrades for install only packages. BZ 1063181.
Comment 18 errata-xmlrpc 2015-03-05 09:03:48 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0398.html