Summary: | sys-apps/portage or app-portage/gentoolkit - Feature request: Show dependencies in detail; clarifying whether they are DEPEND, RDEPEND or PDEPEND as well as whether they are optional. | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Alberto Ornaghi <alor> |
Component: | Tools | Assignee: | Portage Tools Team <tools-portage> |
Status: | CONFIRMED --- | ||
Severity: | enhancement | CC: | bugs.gentoo.org, centic, esigra, h3y, hans_meine, hkbst, kentnl, michael, tomwij |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 472746 | ||
Attachments: | Alpha apk |
I think 'emerge -op gimp' will do this. I'm not sure when this feature was implemented. I'm resolving this bug as FIXED. Reopen if you don't agree. emerge -op will print only the list of dependencies not yet installed. I've already installed gimp, and the command `emerge -op gimp` does not give any interesting output... I know I can edit the ebuild manually to view the dependencies, but IMHO it will be useful to have the list from command line. bye This is more something for equery app-portage/udept has this functionality. does equery depgraph not fulfill this need? "equery depgraph" recursively lists a full dependency graph. I think the requested option is to be able to only list the direct deps. equery depgraph --depth=1 will only show the direct dependencies. However, it doesn't split them into the build and runtime categories as requested. *** Bug 197748 has been marked as a duplicate of this bug. *** Meanwhile you could do:
> . $(equery which gimp) ; echo -e "DEPEND\n$DEPEND\nRDEPEND\n$RDEPEND\nPDEPEND\n$PDEPEND"
It is also reasonable to rewrite this output with a simple shell script to be in the style of yours. This isn't a native implementation, but would do what is requested here if you need it often; I don't think it would be hard for someone to adapt this in equery itself, maybe by someone who will end up being bored by how long this bug has been open.
For contrast, paludis has something like this and I've found it incredibly useful for developing making sure that inherited and otherwise composed dependencies do what I think they do. And also useful for unconfusing users when they see an ebuild with no/not much content. For instance. This reasonably brief ebuild could confuse you if you didn't understand all of the mechanics: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-python/gconf-python/gconf-python-2.28.1-r1.ebuild?revision=1.8&view=markup And you get a much more "complete" picture with `cave show` https://gist.github.com/kentfredric/9f3b2ffbd1367ab895b5 And it can do this equally easily for both installed, and yet-to-be installed packages. In portage, the closest thing I see to it is the md5 cache emitted by egencache, and that's not exactly ideal for checking your work as a developer, nor is it ideal for end users. The closest command I can find to paludis'es `cave show` is `equery meta`, which really delivers substantially less utility. I suppose I never thought of this type of functionality because I already had nearly the same (and more) in porthole's ebuild and dependency views. Your cave example it essentially the ebuild minus the build code. Porthole's ebuild view is gentoo syntax highlighted, you can select which ebuild in the pkg, etc... the dependency view shows you which dependencies are installed, which are needed, they are dble-clickable to open another view window of the dependency, and it's dependencies... I use porthole for nearly all my pkg search queries... Yes, I know it's a gui, not a cli app ;) Created attachment 460644 [details]
Alpha apk
(In reply to Brian Dolbec from comment #11) > I use porthole for nearly all my pkg search queries... Yes, I know it's a > gui, not a cli app ;) Yeah, we need a cli tool. (In reply to Chris Butler from comment #12) > Created attachment 460644 [details] > Alpha apk That file doesn't seem relevant to the bug. I hope you're not abusing our bugzilla for file hosting. The content of attachment 460644 [details] has been deleted for the following reason:
likely malware
|
it would be very useful to have a --showdep that shows the dependencies mandatory or optional for an ebuild disregarding the already installed packages. this will show only the dependencies listed in the .ebuild file, not all the recursive deps as for "emerge --pretend --emptytree". an example for gimp-1.2.3-r3: > emerge --showdeps gimp These are the dependencies for the packet gimp-1.2.3-r3: Compile time dependencies: Mandatory: sys-devel/autoconf sys-devel/automake =x11-libs/gtk+-1.2* >=media-libs/mpeg-lib-1.3.1 Optional (obey to the USE variable): nls : sys-devel/gettext aalib : >=media-libs/aalib-1.2 perl : >=dev-perl/PDL-2.2.1 >=dev-perl/Parse-RecDescent-1.80 >=dev-perl/gtk-perl-0.7004 python: >=dev-lang/python-2.0 gnome : >=gnome-base/gnome-libs-1.4.1.2-r1 Run time dependencies: Mandatory: =x11-libs/gtk+-1.2* Optional: aalib : >=media-libs/aalib-1.2 ) perl : >=dev-perl/PDL-2.2.1 >=dev-perl/Parse-RecDescent-1.80 >=dev-perl/gtk-perl-0.7004 python: >=dev-lang/python-2.0 gnome : >=gnome-base/gnome-libs-1.4.1.2-r1 --- end of output --- this can be easily achived by parsing the .ebuild file. no queries on the database are needed, so it will be very fast and easy to implemet. bye