Bug 84176

Summary: RFE: rpm has misnomer of --whatrequires and no --whatdepends to complement it
Product: [Retired] Red Hat Linux Reporter: Scott R. Godin <rhbugzilla>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED DUPLICATE QA Contact: Mike McLean <mikem>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-21 18:51:46 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 Scott R. Godin 2003-02-13 03:17:44 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.6 (X11; Linux i686; U;) Gecko/20020830

Description of problem:
observe: 

9:54pm {44} pcp02404936pcs:~/>$ rpm -q --whatrequires expat
expat-devel-1.95.4-1
9:55pm {45} pcp02404936pcs:~/>$ rpm -q --whatrequires expat-devel
no package requires expat-devel
9:55pm {46} pcp02404936pcs:~/>$ rpm -e expat expat-devel
error: Failed dependencies:
        libexpat.so.0 is needed by (installed) python-2.2.1-17
        libexpat.so.0 is needed by (installed) fontconfig-2.0-3
        libexpat.so.0 is needed by (installed) httpd-2.0.40-11
        libexpat.so.0 is needed by (installed) php-4.2.2-8.0.7

it's a very misleading identification, as *dependencies* are not *requires* and
vice versa. 

and, unless I'm just really blind, there's no --whatdepends option to pass to
rpm -q for me to find out, without TRYING to remove a package, what a package's
dependencies are. (walk the tree in the opposite direction) 

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

rpm-4.1-1.06

How reproducible:
Always

Steps to Reproduce:
1. go to upgrade expat to a version that is acceptable to XML::Twig
2. check expat to see if anything depends on it (requires it?) 
3. nothing SEEMS to because there is no complementary --whatdepends to match
--whatrequires but in the opposite direction, so you go to remove expat so you
can manually install the updated version, and boom! Lo and behold, things depend
on it, and you don't know what may break if you remove/upgrade the new expat. 
    
Actual Results:  confusion

Expected Results:  clarity, useful options, choice

Additional info:

I would DESPERATELY like to see this option for the next release of RH 8 as it
would make some of the rpm confusion a lot simpler to wade through. The
information is obviously IN there, but there's no obvious sense-making way to
get at it without contortions.

Comment 1 Jeff Johnson 2003-02-13 15:37:22 UTC
You wanted to type
    rpm -q --whatrequires libexpat.so.0
not
    rpm -q --whatrequires expat

All package Provides: are displayed with
    rpm -q --provides pkg

There is also
    rpm -q --whatprovides libexpat.so.0
and even (if the rpmdb-redhat package is installed)
    rpm -q --redhatprovides libexpat.so.0

I'm not at all sure what you distinction you
make regarding "dependencies" and "requires".
Perhaps you are used to dpkg, which has only
package dependencies, but rpm != dpkg.

Comment 2 Scott R. Godin 2003-02-13 21:44:31 UTC
argh, this is *exactly* what I mean about it being confusing

4:34pm {5} pcp02404936pcs:/root># rpm -q --whatrequires libexpat.so.0
python-2.2.1-17
fontconfig-2.0-3
httpd-2.0.40-11
expat-1.95.4-1
php-4.2.2-8.0.7
4:34pm {6} pcp02404936pcs:/root># rpm -q --whatrequires expat
expat-devel-1.95.4-1

as you can see, the same command is being used to walk the tree in opposite
directions, and the usage of it (having to know which internal component is
being "required" oops I mean "depended" on) is not obvious.

The package system KNOWS what other packages depend on <packagename> being
installed, and it makes perfect sense to add a --whatdepends <packagename>.

i.e. because the usage of the command is *patently obvious* to even the casual
observer. 

I can't tell you how many times I've gone into the rpm system and wanted to have
such a thing.. this is just the first time I've gone and posted an RFE for it,
and that only because it's come to my attention as a desirable enhancement often
enough. 

it's NOT a bug, it's an RFE :)


Comment 3 Jeff Johnson 2004-12-13 13:46:41 UTC

*** This bug has been marked as a duplicate of 142651 ***

Comment 4 Red Hat Bugzilla 2006-02-21 18:51:46 UTC
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.