From: Daniel Pielmeier <daniel.pielmeier@googlemail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Showing "reverse" dependencies
Date: Sun, 09 Nov 2008 11:11:52 +0100 [thread overview]
Message-ID: <4916B768.8030706@googlemail.com> (raw)
In-Reply-To: <200811090813.41645.alan.mckinnon@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3466 bytes --]
Alan McKinnon schrieb am 09.11.2008 07:13:
> On Sunday 09 November 2008 06:04:02 Dale wrote:
>> meino.cramer@gmx.de wrote:
>>> Hi,
>>>
>>> is there a way to list the package, which depend on
>>> a given (known) package (in my case a library)?
>>>
>>> Kind regards,
>>> Meino Cramer
>> If I understand correctly, equery depends <package name> . That's if I
>> understand correctly. If you don't have it, emerge gentoolkit.
>
> Just be aware that equery depends is somewhat broken
>
> It lists dependencies in the tree, not dependencies a specific machine is
> using. Plus it doesn't find some valid deps either.
>
> It's still useful, but the user also has to use eix to determine which deps
> are valid for them and which are not.
>
There is a possibility to get the reverse dependencies, but it seems
almost nobody is aware of this because this function of portage is
mostly used for cleaning up unneeded packages. But in order to remove
unneeded packages portage has to know the reverse dependencies of each
package to determine if it is unneeded.
emerge -pv --depclean atom
Always consider that equery and depclean only work on packages that are
installed on the system and not for packages that are not.
Gentoo-Portage [1] can list the reverse dependencies for packages that
are not installed.
Note the output of equery is sometimes wrong. To test this let us
compare the output of the "emerge -pv depclean atom" with "equery
depends atom". For example we want to check the reverse dependencies of
x11-libs/gtk+ on my system.
It is almost identical besides 1) media-video/mplayer and 2)
sys-devel/gcc are listed only in equery and 3) net-www/gnash is only
listed in depclean output.
1) So why is mplayer listed in equery. The gtk use flag is globally on
on my system but I have disabled gtk in package.use so equery is wrong here.
2) Now for gcc I have no entry in package.use that disables it so it
seems at the first glance equery is right. Lets take a look at the
ebuild itself. The following is from the RDEPEND section.
!build? (
gcj? (
gtk? (
x11-libs/libXt
x11-libs/libX11
x11-libs/libXtst
x11-proto/xproto
x11-proto/xextproto
>=x11-libs/gtk+-2.2
x11-libs/pango
)
To explain this, it says if the build flag is disabled and gcj and gtk
are enabled it will depend on the the packages listed below gtk. I have
build and gcj disabled but gtk enabled, so it does not fulfill the
conditions needed for a gtk dependency and equery is wrong again.
3) Now finally why does depclean list gnash and equery not. The gtk flag
is enabled for the ebuild and the dependency list in the ebuild clearly
shows:
gtk? (
>x11-libs/gtk+-2
x11-libs/pango
dev-libs/glib
dev-libs/atk
)
I guess equery gets confused by the following construct in the ebuild
which looks similar to the gcc case:
!gtk? ( !kde? ( !qt3? ( !sdl? ( ( !fbcon? (
>x11-libs/gtk+-2
x11-libs/pango
dev-libs/glib
dev-libs/atk
=kde-base/kdelibs-3.5*
) ) ) ) ) )
This conditions doesn't match on my system so equery does not list
gnash. In addition I think such conditions may cause some
misunderstanding as they mean if gtk kde qt3 sdl and fbcon are all unset
it should depend on gtk and kde which would be rather confusing for the
user if he has this flags unset.
[1] http://www.gentoo-portage.com/x11-libs/gtk+/RDep#ptabs
Regards,
Daniel
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
next prev parent reply other threads:[~2008-11-09 10:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-09 3:51 [gentoo-user] Showing "reverse" dependencies meino.cramer
2008-11-09 4:04 ` Dale
2008-11-09 6:13 ` Alan McKinnon
2008-11-09 10:11 ` Daniel Pielmeier [this message]
2008-11-09 10:41 ` Markos Chandras
2008-11-09 11:03 ` Daniel Pielmeier
2008-11-09 15:17 ` Alan McKinnon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4916B768.8030706@googlemail.com \
--to=daniel.pielmeier@googlemail.com \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox