Bug 529719 - RFE: Backport changes that enhance Yum's compare_providers
Summary: RFE: Backport changes that enhance Yum's compare_providers
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum
Version: 5.4
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: James Antill
QA Contact: Jan Hutař
Depends On:
TreeView+ depends on / blocked
Reported: 2009-10-19 16:35 UTC by BJ Dierkes
Modified: 2017-01-02 14:10 UTC (History)
1 user (show)

Fixed In Version: yum-3.2.22-23.el5
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2010-03-30 08:30:00 UTC

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2010:0254 normal SHIPPED_LIVE yum bug fix update 2010-03-29 12:46:52 UTC

Description BJ Dierkes 2009-10-19 16:35:32 UTC
Description of problem:

This problem is outlined and patched upstream:


When comparing two packages that provide a dependency, a package with an alternate name does not get selected even though it is the best match to resolve a dependency.  For example, installing packages from a 3rd party repo such as IUS: (http://dl.iuscommunity.org/pub/ius).  These packages have alternate names such as php52, php53, mysql50, mysql51 ... and do not obsolete (can only be explicitly installed to replace stock packages).  Consider the following situation:

php52, php52-common, php52-cli are installed in place of stock packages.  End user issues the command 'yum install cacti' which requires php-mysql, php-snmp, etc.  Even though php52 is installed and php52-mysql (in the 3rd party repo) provides php-mysql and is obviously the better choice, Yum attempts to resolve the dependency with the stock RHEL packages (not what the user wants).  Yum should properly resolve php52-mysql as the best provider of the dependency based on the fact that php52 (its base package) is installed and presumably 'preferred'.

Version-Release number of selected component (if applicable):


How reproducible:

Every time

Steps to Reproduce:
1. Install packages with an alternate name that replace a stock package
2. Install a stock package that requires something that a 3rd party, alternate package name, provides (yum requires php-mysql, provided by php52-mysql (not yet installed))
3. Fail.

Actual results:

Yum resolves the stock RHEL package for the dependency rather than the better choice based on the fact the other packages base package is already installed (preferred).

Expected results:

Yum should award points to the alternative name package (or any package) if that packages base package is installed (meaning the user made the choice to install the 3rd party software and is therefore preferred over the stock package).

Additional info:

It is understood that RedHat does not support 3rd party repos, however consider the fact that this enables a user to safely use alternative repositories that replace RHEL packages in a safe way (see http://wiki.iuscommunity.org/SafeRepoInitiative).  The alternative is using repos that automatically override stock RHEL and force users to upgrade everything... or alternative package names that obsolete stock RHEL (also not preferred).

The ideal resolution of this ticket is that the changes listed in the upstream yum tracker above would be backported to RHEL 5.5.

Comment 1 James Antill 2009-10-19 19:29:50 UTC
 This isn't a big deal, esp. if we fix bug#529233 which also changes compare_providers (so we need to test the same things for both changes).

Comment 11 errata-xmlrpc 2010-03-30 08:30:00 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


Note You need to log in before you can comment on or make changes to this bug.