On Sat, 24 Aug 2013 16:35:22 +0200, Suvayu Ali wrote:
> 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?
Yes, preferably.
For repoquery that option is the default for a long time (but it hasn't
been the default always).
That seems the more practical option. If that is
the case, what good is `rpm -q --whatrequires'?
Well, it's a matter of definition. That low-level RPM based query doesn't
operate on package names, but on "things" provided by packages. RPM
dependencies are not restricted to package names. With the example
of "libvdpau", even a completely different package with a different name
could provide something called "libvdpau". It's coincidence that it's
also the name of an installed package. The package name is also just one
of the "things" provided by the package:
$ rpm -q --provides libvdpau
config(libvdpau) = 0.7-1.fc20
libvdpau = 0.7-1.fc20
libvdpau(x86-64) = 0.7-1.fc20
libvdpau.so.1()(64bit)
libvdpau_trace.so.1()(64bit)
Nowadays, with automatic dependencies on the actual library name,
typically there is no extra dependency on the package name anymore.
$ rpm -q --whatrequires 'libvdpau.so.1()(64bit)'
gstreamer1-plugins-bad-free-1.1.3-1.fc20.x86_64
gstreamer-plugins-bad-free-0.10.23-19.fc20.x86_64
That's why RPM told the truth that no package requires "libvdpau" anymore.
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?
Yes. "rpm -e --test" is a very very old command, btw.
--
Michael Schwendt
Fedora release 20 (Null) - Linux 3.11.0-0.rc6.git1.2.fc20.x86_64
loadavg: 0.08 0.10 0.13