Red Hat Bugzilla – Bug 510211
yum update fails with conflicts for compat-dapl-devel-1.2.5
Last modified: 2014-01-21 01:14:15 EST
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
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)
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.
Wow ... what a giant mess. So:
compat-dapl-1.2.5 obsoletes "dapl <= 188.8.131.52"
compat-dapl-devel-1.2.5 requires "dapl = 2.0.7-2.el4"
compat-dapl obsoletes "dapl <= 184.108.40.206"
compat-dapl obsoletes "compat-dapl-1.2.5"
compat-dapl-devel obsoletes "dapl-devel <= 220.127.116.11"
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.
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-18.104.22.168-7" work as "yum install dapl-22.214.171.124-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).
The person made the original post (email@example.com) has been off for some time. I tested the fix from first URL you mentioned and it worked.
Thanks for your help.
Yeh, it's fixed upstream and in RHEL-6 ... but I don't think we could ever rebase again in RHEL-5.