$> emerge --update --world --deep --newuse --pretend [lost the output, it tried to update `ssmtp` which I didn't knew it was installed] $> equery depends ssmtp [ Searching for packages depending on ssmtp... ] No dependencies on ssmtp, but it's installed anyway?! Since I'm new to gentoo, I wasn't aware that there's something as virtual dependencies. In the forum I found: $> grep ssmtp /usr/portage/profiles/base/virtuals virtual/mta mail-mta/ssmtp $> equery depends virtual/mta [ Searching for packages depending on virtual/mta... ] app-crypt/gnupg-1.4.1 sys-process/dcron-2.9-r2 It would be great if `equery depends` would list virtual dependencies as well. It's quite annoying if the package manager insists to install/update packages that I don't know why they are installed at all. That's why I switch from SuSE/yast to gentoo ... Reproducible: Always Steps to Reproduce: Expected Results: Something like: $> equery depends ssmtp [ Searching for packages depending on ssmtp... ] [ Searching for packages depending on virtual/mta (ssmtp) ... ] app-crypt/gnupg-1.4.1 sys-process/dcron-2.9-r2
*** This bug has been marked as a duplicate of 68510 ***
Err, I found that one, but it's marked INVALID. `equery` already has all capabilities to show all dependencies, but my wish was to show them TOGETHER. New users have a good deal to learn how emerge/equery works. In my eyes it's VALID to expect that all (including virtual) dependencies are shown on `emerge depends XY` -- especially if one doesn't know about virtual dependencies at all. Now I do, I won't need that feature any more, but new users might ...
Bug 68510 is about finding which package currently satifies one specific virtual. This bug is about finding which virtuals are currently provided by one specific package (and then doing something more with that info). Not the same thing. > `equery` already has all capabilities to show all dependencies, Nope. It can't currently show all virtuals a package provides, you have to do that yourself. Side note, you grepped through the virtuals file, but that doesn't always work. If you have a non-default virtual (vim for virtual/editor, for example), you won't find anything. Instead, /var/db/pkg/cat/pkg-ver/PROVIDE should be checked. And if you check the PROVIDE file for xorg-x11, you'll see it isn't easy to do this automatically with a simple bash script. portage offers a way, and gentoolkit has a wrapper for that, but equery will have to use it itself to be useful.
$ equery depends gamin [ Searching for packages depending on gamin... ] But gamin provides the virtual fam. Equery should detect this and search for the dependents of fam instead, producing something like: $ equery depends gamin gamin provides virtual/fam [ Searching for packages depending on fam... ] gnome-base/gnome-vfs-2.12.2 kde-base/kdelibs-3.5.3-r1
(In reply to comment #4) > But gamin provides the virtual fam. Equery should detect this and search for > the dependents of fam instead.... Yes, and this is related to another bug: a circular dependency exists between glib and gamin. If neither is installed and you attempt to emerge (as an example, in my case) syslog-ng with the "fam" use flag set globally, the whole install will fail with a circular dependency error on the glib dependency, which picks up gamin; however, you can install without the "fam" flag and then turn right around and update with the "fam" flag added back again to pick up gamin.