What does "require" actually mean?

Suvayu Ali fatkasuvayu+linux at gmail.com
Sat Aug 24 14:35:22 UTC 2013


Hi Michael,

On Sat, Aug 24, 2013 at 12:16:30PM +0200, Michael Schwendt wrote:
> On Sat, 24 Aug 2013 10:43:10 +0100, Patrick O'Callaghan wrote:
> 
> > I thought I had a working understanding of yum and rpm, until I came
> > across this:
> > 
> > # rpm -q --whatrequires libvdpau
> > no package requires libvdpau
> > # yum --assumeno erase libvdpau
> > [snip]
> > Transaction Summary
> > ==============================================================================================================
> > Remove  1 Package (+147 Dependent packages)
> > ...
> > 
> > Why does yum want to remove 147 additional packages if none of them
> > require libvdpau? (Note that I'm not asking about libvdpau specifically,
> > it's just an example).
> 
> They don't require the package name "libvdpau", but contents of the
> package. Run "rpm -e --test libvdpau" to display those dependencies.
> The package may be renamed (or the contents moved to a different
> package) without breaking the dependencies.
> 
> The repoquery tool can distinguish between --exactdeps and --alldeps
> queries:
> 
>   $ repoquery --exactdeps --whatrequires libvdpau
>   $

I was also confused by this for a long time.  Thanks for the
explanation.  Given the two kinds of dependencies, shouldn't one always
query for --alldeps?  That seems the more practical option.  If that is
the case, what good is `rpm -q --whatrequires'?

I also notice that --alldeps is a repoquery only option, does that mean
the only way to get this info when offline is to do `rpm -e --test',
`yum remove', or call repoquery with -C?

Thanks for your comments.

-- 
Suvayu

Open source is the future. It sets us free.


More information about the users mailing list