Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 101420 - equery depends: show virtual dependencies
Summary: equery depends: show virtual dependencies
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 346443
  Show dependency tree
 
Reported: 2005-08-05 03:55 UTC by Daniel Franke
Modified: 2011-07-20 15:15 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Franke 2005-08-05 03:55:09 UTC
$> 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
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-08-05 03:59:04 UTC

*** This bug has been marked as a duplicate of 68510 ***
Comment 2 Daniel Franke 2005-08-05 04:11:05 UTC
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 ... 
 
 
 
Comment 3 Harald van Dijk (RETIRED) gentoo-dev 2005-08-05 05:21:42 UTC
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.
Comment 4 Benno Schulenberg 2006-06-14 12:40:59 UTC
  $ 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
Comment 5 Kevin M. Kilbride 2008-07-25 08:15:41 UTC
(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.