A "whatuses" command for yum?

Michael Schwendt mschwendt at gmail.com
Mon Apr 11 22:04:52 UTC 2011


On Tue, 12 Apr 2011 00:36:02 +0300, Ville wrote:

> On 04/11/2011 10:15 PM, Michael Schwendt wrote:
> > On Mon, 11 Apr 2011 13:59:11 -0500, Jon wrote:
> >> repoquery --whatrequires <foo>, which could be a name of an RPM, or a 
> >> solib name, like libfoo.so.0.
> > 
> > Note that --alldeps option is the default for some time, so if you
> > really want <foo> to be "a name of an RPM", you need to add --exactdeps
> 
> I think that's somewhat misleadingly put, there's no need to use
> --exactdeps if one wants to give "a name of an RPM" as an argument.  For
> the example above, --exactdeps is only needed if one wants to get the
> list of things that depend on the exact string <foo> (so dependencies to
> things <foo> might provide are not checked), but I believe those use
> cases are not as usual as the default --alldeps ones.

Okay, that's a much longer explanation of what I've had in mind.
And I agree, the --alldeps query is needed more often and is appropriate
as a default.

In either case, the repoquery user ought to be aware of the two options
and what they do. Especially when trying to understand the difference
between automatic dependencies and explicit dependencies on package names.
Or when planning to rename a subpackage or to move a file from one
subpackage to another. Without understanding the default --whatrequires
query, there is the risk of misinterpreting its result. Example:

$ repoquery --whatrequires libmad|grep -v libmad|wc -l
33

Oh, so many packages depend on libmad. However, the packages
don't care about the "libmad" package name (but just the shared
library name in it):

$ repoquery --exactdeps --whatrequires libmad|grep -v libmad
$


More information about the devel mailing list