Bug 691930 - rpm is confused about dependencies
Summary: rpm is confused about dependencies
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 15
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2011-03-29 21:48 UTC by D.S. Ljungmark
Modified: 2011-08-23 04:28 UTC (History)
3 users (show)

Fixed In Version: rpm-
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-08-23 04:28:54 UTC
Type: ---

Attachments (Terms of Use)

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

[root@Waves ~]# rpm -q poppler calibre

[root@Waves ~]# rpm -qf /usr/lib64/libpoppler*

[root@Waves ~]# rpm -q --whatrequires poppler

[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- has been submitted as an update for Fedora 15.

Comment 8 Fedora Update System 2011-08-18 02:28:32 UTC
Package rpm-
* 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-'
as soon as you are able to.
Please go to the following url:
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- has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

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