Summary: | sys-apps/portage - emerge doesn't show output if USE flag dep fails | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Iain Buchanan <iaindb> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 210077 | ||
Attachments: | display parent nodes and the argument that pulled them in |
Description
Iain Buchanan
2008-11-03 04:54:30 UTC
Created attachment 170599 [details, diff]
display parent nodes and the argument that pulled them in
If this is saved as /tmp/parents.patch, then it can be applied as follows:
patch /usr/lib/portage/pym/_emerge/__init__.py /tmp/parents.patch
whoa, thanks for the fast one! Hm, the output is slightly different, but not what I would expect. Without the patch: These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds built with USE flags to satisfy ">=media-libs/win32codecs-20071007-r4[real]". !!! One of the following packages is required to complete your request: - media-libs/win32codecs-20071007-r4 (Change USE: +real) (dependency required by "media-libs/realcodecs-11.0.1.1056" [ebuild]) With the patch: These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds built with USE flags to satisfy ">=media-libs/win32codecs-20071007-r4[real]". !!! One of the following packages is required to complete your request: - media-libs/win32codecs-20071007-r4 (Change USE: +real) (dependency required by "media-libs/realcodecs-11.0.1.1056" [ebuild]) (dependency required by "media-video/realplayer-11.0.1.1056-r2" [ebuild]) (dependency required by "media-video/mplayer-1.0_rc2_p27725-r1" [installed]) (dependency required by "@world" [argument]) There's a bit more info in there, but I still can't see the good 'ole package list. eg, this is for openoffice: $ sudo emerge -va openoffice Password: These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] perl-core/File-Spec-3.29 128 kB [ebuild N ] dev-libs/icu-3.8.1-r1 USE="-debug -doc -examples" 10,742 kB [ebuild N ] media-libs/vigra-1.6.0 USE="jpeg zlib -doc -fftw -png -tiff" 16,139 kB [ebuild N ] app-text/libwpd-0.8.14 USE="-doc" 415 kB [ebuild N ] virtual/perl-File-Spec-3.29 0 kB [ebuild N ] dev-perl/Archive-Zip-1.26 190 kB [ebuild N ] app-office/openoffice-3.0.0 USE="cups dbus gnome gtk opengl pam -debug -eds -gstreamer -java -kde -ldap -mono -nsplugin -odk -templates" LINGUAS="<snip>" 338,400 kB [blocks B ] app-office/openoffice-bin ("app-office/openoffice-bin" is blocking app-office/openoffice-3.0.0) Total: 7 packages (7 new), Size of downloads: 366,010 kB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. For more information about Blocked Packages, please refer to the following section of the Gentoo Linux x86 Handbook (architecture is irrelevant): http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked IMHO it would make sense to show the list of packages to install, with some sort of blocker-like message against (in this case) "media-libs/realcodecs-11.0.1.1056" as realcodecs is blocked by a USE flag dependancy. thoughts? thanks. (In reply to comment #2) > > IMHO it would make sense to show the list of packages to install, with some > sort of blocker-like message against (in this case) > "media-libs/realcodecs-11.0.1.1056" as realcodecs is blocked by a USE flag > dependancy. > actually, the blocker would probably be media-libs/win32codecs-20071007-r4 as this version (without USE:real) is blocking realcodecs-11.0.1.1056. But you guys know that... Now I see what you want. We can do that by pruning off the part of the graph with unsatisfied dependencies, and continuing to build the rest of the graph. For example, due to the unsatisfied ">=media-libs/win32codecs-20071007-r4[real]" dependency, the final graph would exclude realcodecs, realplayer, and mplayer since they would all have unsatisfied dependencies. (In reply to comment #4) > Now I see what you want. We can do that by pruning off the part of the graph > with unsatisfied dependencies, and continuing to build the rest of the graph. > For example, due to the unsatisfied > ">=media-libs/win32codecs-20071007-r4[real]" dependency, the final graph would > exclude realcodecs, realplayer, and mplayer since they would all have > unsatisfied dependencies. It would be nice to see part of the graph, but I guess the point of showing the graph was so that one could see the whole dependency pull for win32codecs[real]. I guess though that your original patch from comment 1 does this, so perhaps I'm only being fussy with wanting to see the graph :) At least your current patch seems to look the same as when version dependencies aren't met (ie. I'm too aggressive in package.mask) - in which case the graph isn't shown either. So the patch works, some graph would be a bonus, but not necessary! This is fixed in 2.2_rc14. (In reply to comment #5) > So the patch works, some graph would be a bonus, but not necessary! Ok, marking as fixed. You can file a separate feature enhancement but for the other thing if you want. |