Bug 510211

Summary: yum update fails with conflicts for compat-dapl-devel-1.2.5
Product: Red Hat Enterprise Linux 5 Reporter: Jacob <ronojacob>
Component: yumAssignee: packaging-team-maint
Status: CLOSED NEXTRELEASE QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: low    
Version: 5.3CC: james.antill, rajeshjangam
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-03-12 16:39:58 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Jacob 2009-07-08 07:31:16 EDT
Description of problem:

We have a repository containing following packages:

$yum -C -c ./yum.conf list |grep "dapl"
dapl.i386                                1.2.1-7                       installed
dapl-devel.i386                          1.2.1-7                       installed
compat-dapl.i386                         2.0.15-1.el4                  repo     
compat-dapl-1.2.5.i386                   2.0.7-2.el4                   repo     
compat-dapl-devel.i386                   2.0.15-1.el4                  repo     
compat-dapl-devel-1.2.5.i386             2.0.7-2.el4                   repo     
compat-dapl-static.i386                  2.0.15-1.el4                  repo     
compat-dapl-static-1.2.5.i386            2.0.7-2.el4                   repo     
compat-dapl-utils.i386                   2.0.15-1.el4                  repo     
dapl.i386                                2.0.15-1.el4                  repo     
dapl-devel.i386                          2.0.15-1.el4                  repo     
dapl-static.i386                         2.0.15-1.el4                  repo     
dapl-utils.i386                          2.0.15-1.el4                  repo     
udapl.i386                               1.2-0.4265.2.EL4              repo     
udapl-devel.i386                         1.2-0.4265.2.EL4              repo     

RHN publishes both "compat-dapl-XXXX" and "compat-dapl-XXXX-1.2.5" packages for Redhat Enterprise Linux 4 AS.
When we run an update, yum fails with following dependency error:

Error: Missing Dependency: dapl = 2.0.7-2.el4 is needed by package compat-dapl-devel-1.2.5-2.0.7-2.el4.i386 (repo)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

If I exclude the "compat-dapl-XXXX-1.2.5" packages from yum.conf (exclude=compat-dapl-1.2.5,compat-dapl-devel-1.2.5,compat-dapl-static-1.2.5),
yum succeeds without any issues.

This time, yum obsoletes the "dapl" by "compat-dapl-XXX" ones:

 compat-dapl                     i386   2.0.15-1.el4                 repo  98 k
     replacing  dapl.i386 1.2.1-7

 compat-dapl-devel               i386   2.0.15-1.el4                 repo  28 k
     replacing  dapl-devel.i386 1.2.1-7

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

yum 3.2.22 (I am using an RHAS 4 server)

Expected results:

I would have expected that yum should have returned the same results without me needing to explicitly excluding the "compat-dapl-XXXX-1.2.5" packages.
Comment 1 James Antill 2009-07-08 10:03:54 EDT
 Wow ... what a giant mess. So:

 compat-dapl-1.2.5 obsoletes "dapl <="
 compat-dapl-devel-1.2.5 requires "dapl = 2.0.7-2.el4"

 compat-dapl obsoletes "dapl <="
 compat-dapl obsoletes "compat-dapl-1.2.5"
 compat-dapl-devel obsoletes "dapl-devel <="
 compat-dapl-devel obsoletes "compat-dapl-devel-1.2.5"

...I have a test case, and it fails in the way you are saying ... compat-dapl-1.2.5 etc. is picked and will then fail due to the requirement.
Comment 2 James Antill 2009-07-08 17:23:08 EDT
 This is fixed by upstream commit:


...although it's not 100% generic, it should solve this problem (you just need the __init__.py part).
 In theory you could also take the latest head which includes:


...which will make "yum update dapl-" work as "yum install dapl-" does.
 Or just do any one of:

yum update dapl
yum update dapl-devel
yum update compat-dapl
yum update compat-dapl-devel

...which should all work on 3.2.22. Getting these changes into the 5.4 errata is unlikely, as the packages aren't broke there (and yum isn't used in RHEL-4).

 If we rebase again post 5.4, it'll get fixed then (I'm not sure I'd count on that).
Comment 3 Rajesh 2009-07-24 03:45:10 EDT
The person made the original post (ronojacob@gmail.com) has been off for some time. I tested the fix from first URL you mentioned and it worked.
Thanks for your help.
Comment 4 James Antill 2013-03-12 16:39:58 EDT
 Yeh, it's fixed upstream and in RHEL-6 ... but I don't think we could ever rebase again in RHEL-5.