Bug 529719 - RFE: Backport changes that enhance Yum's compare_providers
RFE: Backport changes that enhance Yum's compare_providers
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum (Show other bugs)
5.4
All Linux
medium Severity medium
: rc
: ---
Assigned To: James Antill
Jan Hutař
: FutureFeature
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-10-19 12:35 EDT by BJ Dierkes
Modified: 2014-01-21 01:15 EST (History)
1 user (show)

See Also:
Fixed In Version: yum-3.2.22-23.el5
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-03-30 04:30:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description BJ Dierkes 2009-10-19 12:35:32 EDT
Description of problem:

This problem is outlined and patched upstream:

http://yum.baseurl.org/ticket/296


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):

3.2.19-X


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 15:29:50 EDT
 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 04:30:00 EDT
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.

http://rhn.redhat.com/errata/RHBA-2010-0254.html

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