Well, some packages are installed by my explicit request. These packages are listed in /var/lib/portage/world.

But there are packages installed because they required by some of these explicitly installed packages.

Let's say I found out that some package aaa/bbb-1.2.3 is installed on my system. It's not in the world set. So there must be one or several packages in the world set which require (may be indirectly) the aaa/bbb package. How can I find out what are these packages? As a bonus I want to be able to understand why is is version 1.2.3 which is installed.

equery (d)epends command (installed by app-portage/gentoolkit package) can "list all packages directly depending on ATOM". But it's quite far from what I need.

  • equery can work this way, equery depends bbb-1.2.3. Besides, rare packages depend on a specific version. Most of them depend on other packages like, >aaa/bbb-1.0.0. So if some time later, bbb has a new version, say 1.2.5, then when you upgrade Gentoo, bbb will be updated to 1.2.5, because 1.2.5 is greater than 1.0.0, it still satisfy the dependency. I mean IMO understanding why this version is installed is not that meaningful. – Bruce Dec 7 '17 at 0:09
  • @Bruce equery depends bbb produces a list of all the packages that require bbb. Even those not installed. emerge -pv --depclean reports only installed packages - very convenient. Update: Hmm, help says it should report only installed packages. Strange. – lesnik Dec 7 '17 at 18:21

You can see all the packages that depend on the package (and which version they pull in) with:

emerge -pv --depclean <package-name>

Or maybe the output from

equery d -D <package-name>

is what you want: a tree of all the packages that indirectly depend on the package

  • Not exactly what I expected, but emerge -pv --depclean turned out to be very useful, thanks! – lesnik Dec 7 '17 at 17:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.