Bug 1306142

Summary: yum won't install an older kernel-devel package when it's a dependency
Product: Red Hat Enterprise Linux 7 Reporter: Masahiro Matsuya <mmatsuya>
Component: yumAssignee: Michal Domonkos <mdomonko>
Status: CLOSED ERRATA QA Contact: Eva Mrakova <emrakova>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: emrakova, james.antill, mdomonko, vmukhame
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: yum-3.4.3-138.el7 Doc Type: Bug Fix
Doc Text:
Cause: User tries to install a package that depends on another package which is allowed to be installed in multiple versions at once (via the installonlypkgs configuration option), and a newer version of that dependency is already installed. Consequence: Yum fails to install such a dependency, making the current transaction fail. Fix: Yum now gives correct instructions to RPM when it encounters such a dependency. Result: Yum now successfully installs packages with such dependencies.
Story Points: ---
Clone Of:
: 1331662 (view as bug list) Environment:
Last Closed: 2016-11-04 05:31:35 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1331662    

Description Masahiro Matsuya 2016-02-10 07:36:47 UTC
Description of problem:

kernel-devel package is one of the packages which is allowed to install multiple version packages at the same time.

# yum -y install kernel-devel-3.10.0-123.el7
Loaded plugins: product-id, rhnplugin
This system is receiving updates from RHN Classic or Red Hat Satellite.
Resolving Dependencies
--> Running transaction check
---> Package kernel-devel.x86_64 0:3.10.0-123.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                          Arch                       Version                            Repository                                 Size
================================================================================================================================================
Installing:
 kernel-devel                     x86_64                     3.10.0-123.el7                     a-rhel7-x86_64-2015_3                     8.9 M

Transaction Summary
================================================================================================================================================
Install  1 Package

Total size: 8.9 M
Installed size: 34 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : kernel-devel-3.10.0-123.el7.x86_64                                                                                           1/1
  Verifying  : kernel-devel-3.10.0-123.el7.x86_64                                                                                           1/1

Installed:
  kernel-devel.x86_64 0:3.10.0-123.el7

Complete!

# rpm -q kernel-devel
kernel-devel-3.10.0-123.el7.x86_64
kernel-devel-3.10.0-229.14.1.el7.x86_64

But, when it's required as a dependency of a package installation,
yum rejects to install kernel-devel package since the newer package is already installed. 

The customer's custom rpm depends on the old kernel-devel, and they want it to install kernel-devel upon dependency resolving in yum command.

Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 7.2

How reproducible:
Always

Steps to Reproduce:
1. install RHEL7.2 and confirm kernel-devel is installed.
2. configure RHEL7.1 yum repository
3. install a testa package I attached.

# yum install testa-1.0-1.el7.x86_64.rpm

Actual results:
The older kernel-devel is not installed, though it's found as a dependency.
Because a newer kernel-devel is installed.

Expected results:
The older kernel-devel is installed to resolve the dependency without any error, even if a newer kernel-devel package is installed.

Additional info:

I will attach the testa package for testing, and proposed patch, which the customer verified.

Comment 11 errata-xmlrpc 2016-11-04 05:31:35 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-2016-2397.html