Bug 691930

Summary: rpm is confused about dependencies
Product: [Fedora] Fedora Reporter: D.S. Ljungmark <spider>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: ffesti, jnovy, pmatilai
Target Milestone: ---Keywords: Upstream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rpm-4.9.1.1-1.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-23 04:28:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description D.S. Ljungmark 2011-03-29 21:48:07 UTC
Description of problem:
Rpm doesn't appear to trigger on dependencies properly.

[root@Waves ~]# rpm -q --requires calibre |grep popp
libpoppler.so.13()(64bit)  

[root@Waves ~]# rpm -q poppler calibre
poppler-0.16.3-1.fc15.x86_64
calibre-0.7.44-3.fc15.x86_64

[root@Waves ~]# rpm -qf /usr/lib64/libpoppler*
poppler-glib-0.16.3-1.fc15.x86_64
poppler-glib-0.16.3-1.fc15.x86_64
poppler-0.16.3-1.fc15.x86_64
poppler-0.16.3-1.fc15.x86_64

[root@Waves ~]# rpm -q --whatrequires poppler
poppler-utils-0.16.3-1.fc15.x86_64
poppler-glib-0.16.3-1.fc15.x86_64

[root@Waves ~]# rpm -qf /usr/lib64/libpoppler* --whatrequires
no package triggers /usr/lib64/libpoppler-glib.so.6
no package triggers /usr/lib64/libpoppler-glib.so.6.0.0
no package triggers /usr/lib64/libpoppler.so.13
no package triggers /usr/lib64/libpoppler.so.13.0.0

Comment 1 Panu Matilainen 2011-03-30 06:00:04 UTC
Heh, interesting quirk.

The deal with "no package triggers..." is that --whatrequires and -f don't make sense (to rpm, although I think I see what you're trying to do) together. Rpm used to give "one type of query/verify may be performed at a time" error on that but the sanity check has apparently gotten broken somewhere along the way, and it ends up doing something rather bogus. Will fix.

The other aspect of this is that --whatrequires doesn't work quite the way you think: --whatrequires expects "capability name" as its argument, and returns the packages that depend on that exact "capability" string. So 'rpm -q --whatrequires poppler' only returns packages which have an explicit "Requires: poppler" in them, not all packages that depend on something poppler happens to provide (such as library sonames). See bug 142651 for suggestions how to work around this.

Comment 2 D.S. Ljungmark 2011-03-30 06:18:13 UTC
Sweet, And you're right, that's pretty much what I've been doing previously, I only stumbled on this was due to some very odd things with dependencies making yum very very sad.  Turned out to be a broken mirror, ( Stale "updates" repo that didn't get ..updates..) 

And #142651 is just a function that'll be useful.

Comment 3 Panu Matilainen 2011-03-30 07:08:33 UTC
Yup, there have been broken dependencies around poppler in F15 updates[-testing] for quite some time, apparently finally fixed now...

For mostly my own referece: the sanity check got broken between rpm 4.6.x and 4.7.x in commit 2e672f3fae9d8ff7ee64ae13cfa2fe65272c2ede.

Comment 4 Panu Matilainen 2011-07-13 11:10:42 UTC
Fixed upstream...

Comment 5 D.S. Ljungmark 2011-07-14 18:23:04 UTC
Cheers, how is that coming along downstream?

Comment 6 Panu Matilainen 2011-07-19 09:11:52 UTC
In rawhide now as of rpm-4.9.1, F15 will get this sooner than later.

Comment 7 Fedora Update System 2011-08-17 10:57:28 UTC
rpm-4.9.1.1-1.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/rpm-4.9.1.1-1.fc15

Comment 8 Fedora Update System 2011-08-18 02:28:32 UTC
Package rpm-4.9.1.1-1.fc15:
* should fix your issue,
* was pushed to the Fedora 15 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing rpm-4.9.1.1-1.fc15'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/rpm-4.9.1.1-1.fc15
then log in and leave karma (feedback).

Comment 9 D.S. Ljungmark 2011-08-18 07:44:17 UTC
appears to work well there.

Comment 10 Fedora Update System 2011-08-23 04:28:40 UTC
rpm-4.9.1.1-1.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.