Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1063181

Summary: rpm checks versions in install mode (rpm -ivh)
Product: Red Hat Enterprise Linux 7 Reporter: Bruno Goncalves <bgoncalv>
Component: yumAssignee: James Antill <james.antill>
Status: CLOSED ERRATA QA Contact: Karel Srot <ksrot>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: james.antill, ksrot, lmiksik, pmatilai, vmukhame
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: yum-3.4.3-122.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 09:03:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
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 <james@and.org>
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