Bug 215779 - whatrequires targets inconsistent
Summary: whatrequires targets inconsistent
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 6
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Paul Nasrat
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-11-15 18:08 UTC by Andrew Macpherson
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-11-16 08:34:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andrew Macpherson 2006-11-15 18:08:28 UTC
Description of problem:  It is hard to work out how to minimise the load (now
that the minimal system checkbox has been withdrawn) when

rpm -q --whatrequires TARGET

has a rather inconsistent interface


How reproducible:

rpm -q --whatrequires csh
rpm -q --whatrequires /bin/csh
rpm -q --whatrequires /usr/lib/beecrypt.so.6.4
rpm -q --whatrequires beecrypt.so
rpm -q --whatrequires beecrypt.so.6


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results: Dependencies to be shown for most forms of the TARGET


Additional info:

Comment 1 Michael Jennings (KainX) 2006-11-15 18:40:11 UTC
On behalf of everyone, I'd just like to say...Huh?!

Your report makes no sense, largely because you ignored almost all those blanks
you were supposed to fill out.  The end result is that you make no sense.

Try making some please.  Thanks.


Comment 2 Andrew Macpherson 2006-11-15 19:54:21 UTC
Well actually I gave you a sequence of 5 whatrequires queries under how 
reproducible -

Perhaps how reproducible should read:  every time, rather than listing the 
method...  Ok here we go

Steps to reproduce
rpm -q --whatrequires csh
rpm -q --whatrequires /bin/csh
rpm -q --whatrequires /usr/lib/libbeecrypt.so.6.4
rpm -q --whatrequires libbeecrypt.so
rpm -q --whatrequires libbeecrypt.so.6

Actual Results: 
+ rpm -q --whatrequires csh
no package requires csh
+ rpm -q --whatrequires /bin/csh
mtools-3.9.10-2.fc6
+ rpm -q --whatrequires /usr/lib/bbeecrypt.so.6.4
no package requires /usr/lib/bbeecrypt.so.6.4
+ rpm -q --whatrequires libbeecrypt.so
no package requires libbeecrypt.so
+ rpm -q --whatrequires libbeecrypt.so.6
beecrypt-4.1.2-10.1.1
rpm-4.4.2-32
rpm-libs-4.4.2-32
rpm-python-4.4.2-32

Expected results
+ rpm -q --whatrequires csh
mtools-3.9.10-2.fc6
+ rpm -q --whatrequires /bin/csh
mtools-3.9.10-2.fc6
+ rpm -q --whatrequires /usr/lib/bbeecrypt.so.6.4
beecrypt-4.1.2-10.1.1
rpm-4.4.2-32
rpm-libs-4.4.2-32
rpm-python-4.4.2-3
+ rpm -q --whatrequires libbeecrypt.so
beecrypt-4.1.2-10.1.1
rpm-4.4.2-32
rpm-libs-4.4.2-32
rpm-python-4.4.2-3
+ rpm -q --whatrequires libbeecrypt.so.6
beecrypt-4.1.2-10.1.1
rpm-4.4.2-32
rpm-libs-4.4.2-32
rpm-python-4.4.2-32

Additional info

The TARGET of the --whatrequires query is something of a movable feast --- is 
the path required or not?  are the version numbers complete omitted or 
partial, why not report the dependency against the package (stem / fully 
qualified) as well as the individual files?

I trust that is clearer

Comment 3 Paul Nasrat 2006-11-16 08:34:16 UTC
Whatrequires has always been a literal match on the requires not all provides of
the packaege.  Also creating a paired down install is easily done by using
kickstart - try using an empty %packages (for just Core and Base) or for even
less use:

%packages --nobase

Please note this option, it is very easy to end up with a system that does not
fully boot to a login prompt as you will need to list all the packages required
to get that much functionality.

There is no package called csh, rpm -qf $(which csh) tells you the package name.
 You can easily script a solution:

rpm --qf '[%{providename}\n][%{filenames}\n]' -q $(rpm -qf /bin/csh) | xargs -i
rpm --whatrequires -q {}

Or easier still - yum install yum-utils and you can use repoquery to see what
the relationships within the distro are (you may wish to limit it by repoid to
core).

repoquery --whatrequires --alldeps tcsh


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