Bug 510211 - yum update fails with conflicts for compat-dapl-devel-1.2.5
Summary: yum update fails with conflicts for compat-dapl-devel-1.2.5
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: yum
Version: 5.3
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Packaging Maintenance Team
QA Contact: BaseOS QE Security Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-08 11:31 UTC by Jacob
Modified: 2014-01-21 06:14 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-03-12 20:39:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jacob 2009-07-08 11:31:16 UTC
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:

Installing:
 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 14:03:54 UTC
 Wow ... what a giant mess. So:

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

 compat-dapl obsoletes "dapl <= 1.2.1.1"
 compat-dapl obsoletes "compat-dapl-1.2.5"
 compat-dapl-devel obsoletes "dapl-devel <= 1.2.1.1"
 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 21:23:08 UTC
 This is fixed by upstream commit:

http://yum.baseurl.org/gitweb?p=yum.git;a=commitdiff;h=3a31dac2f07fb84d8acb010ced93c784413af7d3

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

http://yum.baseurl.org/gitweb?p=yum.git;a=commitdiff;h=9bef1a0436e11e54b6999745ce72d4e211a2f5a7

...which will make "yum update dapl-1.2.1.1-7" work as "yum install dapl-1.2.1.1-7" 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 07:45:10 UTC
The person made the original post (ronojacob) 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 20:39:58 UTC
 Yeh, it's fixed upstream and in RHEL-6 ... but I don't think we could ever rebase again in RHEL-5.


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