[gentoo-portage-dev] [PATCH v2 2/2] Colorize packages in world_sets (bug 583164)
Packages belonging to a set listed in world_sets will now be colorized as a world package. X-Gentoo-bug: 583164 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=583164 --- pym/_emerge/resolver/output.py | 2 +- pym/_emerge/resolver/output_helpers.py | 11 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 400617d..ac979f6 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -707,7 +707,7 @@ class Display(object): """ root_config = self.conf.roots[pkg.root] system_set = root_config.sets["system"] - world_set = root_config.sets["selected"] + world_set = self.conf.selected_sets[pkg.root] system = False world = False try: diff --git a/pym/_emerge/resolver/output_helpers.py b/pym/_emerge/resolver/output_helpers.py index 70f7bc0..b83717e 100644 --- a/pym/_emerge/resolver/output_helpers.py +++ b/pym/_emerge/resolver/output_helpers.py @@ -17,6 +17,7 @@ import sys from portage import os from portage import _encodings, _unicode_encode from portage._sets.base import InternalPackageSet +from portage.exception import PackageSetNotFound from portage.localization import localized_size from portage.output import (blue, bold, colorize, create_color_func, green, red, teal, turquoise, yellow) @@ -213,6 +214,16 @@ class _DisplayConfig(object): self.running_root = frozen_config._running_root self.roots = frozen_config.roots + # Create a set of selected packages for each root + self.selected_sets = {} + for root_name, root in self.roots.items(): + try: + self.selected_sets[root_name] = InternalPackageSet( + initial_atoms=root.setconfig.getSetAtoms("selected")) + except PackageSetNotFound: + # A nested set could not be resolved, so ignore nested sets. + self.selected_sets[root_name] = root.sets["selected"] + self.blocker_parents = dynamic_config._blocker_parents self.reinstall_nodes = dynamic_config._reinstall_nodes self.digraph = dynamic_config.digraph -- 2.7.3
[gentoo-portage-dev] [PATCH v2 1/2] Revert "Colorize packages in user sets (bug 577720)"
This reverts commit 739845a6eab95fbc44eab1b7b938c860563631d7. The feature implemented in this commit for bug 577720 was determined to be an overcomplicated method of colorizing user sets. Instead, this feature will be implemented as in bug 583164. The configuration options implemented in this reverted commit will be removed. Per bug 583164, packages that belong to a set listed in world_sets will be colorized as world packages. This eliminates the extra configuration and associated complications. See bug 583164 for more details. --- cnf/sets/portage.conf | 1 - doc/config/sets.docbook| 4 +--- man/color.map.5| 11 -- man/portage.5 | 1 - pym/_emerge/resolver/output.py | 25 +++--- pym/_emerge/resolver/output_helpers.py | 17 +++ pym/portage/_sets/__init__.py | 8 --- pym/portage/_sets/base.py | 1 - pym/portage/output.py | 39 -- 9 files changed, 30 insertions(+), 77 deletions(-) diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf index e990620..ac282d9 100644 --- a/cnf/sets/portage.conf +++ b/cnf/sets/portage.conf @@ -49,7 +49,6 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True -user-set = True # Set to rebuild all packages that need a preserved lib that only remains due # to FEATURES=preserve-libs diff --git a/doc/config/sets.docbook b/doc/config/sets.docbook index 02135d6..749b775 100644 --- a/doc/config/sets.docbook +++ b/doc/config/sets.docbook @@ -57,8 +57,6 @@ is missing) world-candidate, which determines if given package should be added to the world set - user-set, which determines if - given package should be colorized as a user set Some handler classes might require additional options for their configuration, @@ -95,7 +93,7 @@ but to indicate that the section should generate multiple sets it's also necessary to set the multiset option to true. The world-candidate - and user-set options are also supported like with + option also supported like with single sets (they'll apply to all sets generated by the section). diff --git a/man/color.map.5 b/man/color.map.5 index 39f23f7..5543628 100644 --- a/man/color.map.5 +++ b/man/color.map.5 @@ -46,9 +46,6 @@ Defines color used for satisfied blockers. \fBPKG_MERGE\fR = \fI"darkgreen"\fR Defines color used for packages planned to be merged. .TP -\fBPKG_MERGE_USER_SET\fR = \fI"darkgreen"\fR -Defines color used for packages planned to be merged from a user defined set. -.TP \fBPKG_MERGE_SYSTEM\fR = \fI"darkgreen"\fR Defines color used for system packages planned to be merged. .TP @@ -58,10 +55,6 @@ Defines color used for world packages planned to be merged. \fBPKG_BINARY_MERGE\fR = \fI"purple"\fR Defines color used for packages planned to be merged using a binary package. .TP -\fBPKG_BINARY_MERGE_USER_SET\fR = \fI"purple"\fR -Defines color used for packages planned to be merged using a binary package -from a user defined set. -.TP \fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR Defines color used for system packages planned to be merged using a binary package. @@ -73,10 +66,6 @@ package. \fBPKG_NOMERGE\fR = \fI"darkblue"\fR Defines color used for packages not planned to be merged. .TP -\fBPKG_NOMERGE_USER_SET\fR = \fI"darkblue"\fR -Defines color used for packages not planned to be merged from a user defined -set. -.TP \fBPKG_NOMERGE_SYSTEM\fR = \fI"darkblue"\fR Defines color used for system packages not planned to be merged. .TP diff --git a/man/portage.5 b/man/portage.5 index 3cc1f07..7c2a8f7 100644 --- a/man/portage.5 +++ b/man/portage.5 @@ -1114,7 +1114,6 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True -user-set = True [module-rebuild] class = portage.sets.dbapi.OwnerSet diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 7c70a3e..400617d 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -271,8 +271,6 @@ class Display(object): return colorize("PKG_BINARY_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_BINARY_MERGE_WORLD", pkg_str) - elif pkg_info.user_set: - return
[gentoo-portage-dev] [PATCH 2/2] Colorize packages in world_sets (bug 583164)
Packages belonging to a set in world_sets will now be colorized using as a world package. X-Gentoo-bug: 583164 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=583164 --- pym/_emerge/resolver/output.py | 2 +- pym/_emerge/resolver/output_helpers.py | 11 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 400617d..ac979f6 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -707,7 +707,7 @@ class Display(object): """ root_config = self.conf.roots[pkg.root] system_set = root_config.sets["system"] - world_set = root_config.sets["selected"] + world_set = self.conf.selected_sets[pkg.root] system = False world = False try: diff --git a/pym/_emerge/resolver/output_helpers.py b/pym/_emerge/resolver/output_helpers.py index 70f7bc0..c18832a 100644 --- a/pym/_emerge/resolver/output_helpers.py +++ b/pym/_emerge/resolver/output_helpers.py @@ -17,6 +17,7 @@ import sys from portage import os from portage import _encodings, _unicode_encode from portage._sets.base import InternalPackageSet +from portage.exception import PackageSetNotFound from portage.localization import localized_size from portage.output import (blue, bold, colorize, create_color_func, green, red, teal, turquoise, yellow) @@ -213,6 +214,16 @@ class _DisplayConfig(object): self.running_root = frozen_config._running_root self.roots = frozen_config.roots + # Create a set of selected packages for each root + self.selected_sets = {} + for root_name, root in self.roots.items(): + try: + self.selected_sets[root_name] = InternalPackageSet( \ + initial_atoms=root.setconfig.getSetAtoms("selected")) + except PackageSetNotFound: + # A nested set could not be resolved, so ignore nested sets. + self.selected_sets[root_name] = root.sets["selected"] + self.blocker_parents = dynamic_config._blocker_parents self.reinstall_nodes = dynamic_config._reinstall_nodes self.digraph = dynamic_config.digraph -- 2.7.3
[gentoo-portage-dev] [PATCH 1/2] Revert "Colorize packages in user sets (bug 577720)"
This reverts commit 739845a6eab95fbc44eab1b7b938c860563631d7. --- cnf/sets/portage.conf | 1 - doc/config/sets.docbook| 4 +--- man/color.map.5| 11 -- man/portage.5 | 1 - pym/_emerge/resolver/output.py | 25 +++--- pym/_emerge/resolver/output_helpers.py | 17 +++ pym/portage/_sets/__init__.py | 8 --- pym/portage/_sets/base.py | 1 - pym/portage/output.py | 39 -- 9 files changed, 30 insertions(+), 77 deletions(-) diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf index e990620..ac282d9 100644 --- a/cnf/sets/portage.conf +++ b/cnf/sets/portage.conf @@ -49,7 +49,6 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True -user-set = True # Set to rebuild all packages that need a preserved lib that only remains due # to FEATURES=preserve-libs diff --git a/doc/config/sets.docbook b/doc/config/sets.docbook index 02135d6..749b775 100644 --- a/doc/config/sets.docbook +++ b/doc/config/sets.docbook @@ -57,8 +57,6 @@ is missing) world-candidate, which determines if given package should be added to the world set - user-set, which determines if - given package should be colorized as a user set Some handler classes might require additional options for their configuration, @@ -95,7 +93,7 @@ but to indicate that the section should generate multiple sets it's also necessary to set the multiset option to true. The world-candidate - and user-set options are also supported like with + option also supported like with single sets (they'll apply to all sets generated by the section). diff --git a/man/color.map.5 b/man/color.map.5 index 39f23f7..5543628 100644 --- a/man/color.map.5 +++ b/man/color.map.5 @@ -46,9 +46,6 @@ Defines color used for satisfied blockers. \fBPKG_MERGE\fR = \fI"darkgreen"\fR Defines color used for packages planned to be merged. .TP -\fBPKG_MERGE_USER_SET\fR = \fI"darkgreen"\fR -Defines color used for packages planned to be merged from a user defined set. -.TP \fBPKG_MERGE_SYSTEM\fR = \fI"darkgreen"\fR Defines color used for system packages planned to be merged. .TP @@ -58,10 +55,6 @@ Defines color used for world packages planned to be merged. \fBPKG_BINARY_MERGE\fR = \fI"purple"\fR Defines color used for packages planned to be merged using a binary package. .TP -\fBPKG_BINARY_MERGE_USER_SET\fR = \fI"purple"\fR -Defines color used for packages planned to be merged using a binary package -from a user defined set. -.TP \fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR Defines color used for system packages planned to be merged using a binary package. @@ -73,10 +66,6 @@ package. \fBPKG_NOMERGE\fR = \fI"darkblue"\fR Defines color used for packages not planned to be merged. .TP -\fBPKG_NOMERGE_USER_SET\fR = \fI"darkblue"\fR -Defines color used for packages not planned to be merged from a user defined -set. -.TP \fBPKG_NOMERGE_SYSTEM\fR = \fI"darkblue"\fR Defines color used for system packages not planned to be merged. .TP diff --git a/man/portage.5 b/man/portage.5 index 3cc1f07..7c2a8f7 100644 --- a/man/portage.5 +++ b/man/portage.5 @@ -1114,7 +1114,6 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True -user-set = True [module-rebuild] class = portage.sets.dbapi.OwnerSet diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 7c70a3e..400617d 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -271,8 +271,6 @@ class Display(object): return colorize("PKG_BINARY_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_BINARY_MERGE_WORLD", pkg_str) - elif pkg_info.user_set: - return colorize("PKG_BINARY_MERGE_USER_SET", pkg_str) else: return colorize("PKG_BINARY_MERGE", pkg_str) else: @@ -280,8 +278,6 @@ class Display(object): return colorize("PKG_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_MERGE_WORLD", pkg_str) - elif
[gentoo-portage-dev] [PATCH v4] Colorize packages in user sets (bug 577720)
Three new settings were added to /etc/portage/color.map: PKG_MERGE_USER_SET, PKG_BINARY_MERGE_USER_SET, and PKG_NOMERGE_USER_SET. These colors are applied when the package is selected from a set in /etc/portage/sets/ X-Gentoo-bug: 577720 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=577720 --- [PATCH v4] Created one InternalPackageSet for each root [PATCH v3] Updates based on feedback from IRC meeting [PATCH v2] Simplification of check_sets ref Alexander Berntsen's feedback_ cnf/sets/portage.conf | 1 + doc/config/sets.docbook| 4 +++- man/color.map.5| 11 ++ man/portage.5 | 1 + pym/_emerge/resolver/output.py | 25 +++--- pym/_emerge/resolver/output_helpers.py | 17 --- pym/portage/_sets/__init__.py | 8 +++ pym/portage/_sets/base.py | 1 + pym/portage/output.py | 39 ++ 9 files changed, 77 insertions(+), 30 deletions(-) diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf index ac282d9..e990620 100644 --- a/cnf/sets/portage.conf +++ b/cnf/sets/portage.conf @@ -49,6 +49,7 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True +user-set = True # Set to rebuild all packages that need a preserved lib that only remains due # to FEATURES=preserve-libs diff --git a/doc/config/sets.docbook b/doc/config/sets.docbook index 749b775..02135d6 100644 --- a/doc/config/sets.docbook +++ b/doc/config/sets.docbook @@ -57,6 +57,8 @@ is missing) world-candidate, which determines if given package should be added to the world set + user-set, which determines if + given package should be colorized as a user set Some handler classes might require additional options for their configuration, @@ -93,7 +95,7 @@ but to indicate that the section should generate multiple sets it's also necessary to set the multiset option to true. The world-candidate - option also supported like with + and user-set options are also supported like with single sets (they'll apply to all sets generated by the section). diff --git a/man/color.map.5 b/man/color.map.5 index 5543628..39f23f7 100644 --- a/man/color.map.5 +++ b/man/color.map.5 @@ -46,6 +46,9 @@ Defines color used for satisfied blockers. \fBPKG_MERGE\fR = \fI"darkgreen"\fR Defines color used for packages planned to be merged. .TP +\fBPKG_MERGE_USER_SET\fR = \fI"darkgreen"\fR +Defines color used for packages planned to be merged from a user defined set. +.TP \fBPKG_MERGE_SYSTEM\fR = \fI"darkgreen"\fR Defines color used for system packages planned to be merged. .TP @@ -55,6 +58,10 @@ Defines color used for world packages planned to be merged. \fBPKG_BINARY_MERGE\fR = \fI"purple"\fR Defines color used for packages planned to be merged using a binary package. .TP +\fBPKG_BINARY_MERGE_USER_SET\fR = \fI"purple"\fR +Defines color used for packages planned to be merged using a binary package +from a user defined set. +.TP \fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR Defines color used for system packages planned to be merged using a binary package. @@ -66,6 +73,10 @@ package. \fBPKG_NOMERGE\fR = \fI"darkblue"\fR Defines color used for packages not planned to be merged. .TP +\fBPKG_NOMERGE_USER_SET\fR = \fI"darkblue"\fR +Defines color used for packages not planned to be merged from a user defined +set. +.TP \fBPKG_NOMERGE_SYSTEM\fR = \fI"darkblue"\fR Defines color used for system packages not planned to be merged. .TP diff --git a/man/portage.5 b/man/portage.5 index 7c2a8f7..3cc1f07 100644 --- a/man/portage.5 +++ b/man/portage.5 @@ -1114,6 +1114,7 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True +user-set = True [module-rebuild] class = portage.sets.dbapi.OwnerSet diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 400617d..7c70a3e 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -271,6 +271,8 @@ class Display(object): return colorize("PKG_BINARY_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_BINARY_MERGE_WORLD", pkg_str) + elif pkg_info.user_set: + return colorize("PKG_BINARY_MERGE_USER_SET", pkg_str)
Re: [gentoo-portage-dev] [PATCH] Colorize packages in user sets (bug 577720)
Thanks for all the feedback so far. I probably should have just filed the bug and left it at that, but I'm committed now. I've done my best to incorporate all of the suggestions here, and submitted a new patch rev 3. I have a few questions about details I'm pretty sure still need improvement: 1) In order to build the InternalPackageSet only once, I used the _DisplayConfig target_root, instead of using pkg.root in the check_sets method. I'm not sure of the pkg.root purpose, but if there can be different roots, the InternalPackageSet would have to be created for each package. If that's the case, it could be moved to the check_sets method, and created for each package. 2) I added the new InternalPackageSet as a new member of the _DisplayConfig class. Let me know if there's somewhere more appropriate, especially after the feedback from #1. 3) Is there a better method available for merging PackageSets? Thanks, Adam
[gentoo-portage-dev] [PATCH v3] Colorize packages in user sets (bug 577720)
Three new settings were added to /etc/portage/color.map: PKG_MERGE_USER_SET, PKG_BINARY_MERGE_USER_SET, and PKG_NOMERGE_USER_SET. These colors are applied when the package is selected from a set in /etc/portage/sets/ X-Gentoo-bug: 577720 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=577720 --- [PATCH v3] Updates based on feedback from IRC meeting [PATCH v2] Simplification of check_sets ref Alexander Berntsen's feedback cnf/sets/portage.conf | 1 + doc/config/sets.docbook| 4 +++- man/color.map.5| 11 ++ man/portage.5 | 1 + pym/_emerge/resolver/output.py | 25 +++--- pym/_emerge/resolver/output_helpers.py | 15 ++--- pym/portage/_sets/__init__.py | 8 +++ pym/portage/_sets/base.py | 1 + pym/portage/output.py | 39 ++ 9 files changed, 75 insertions(+), 30 deletions(-) diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf index ac282d9..e990620 100644 --- a/cnf/sets/portage.conf +++ b/cnf/sets/portage.conf @@ -49,6 +49,7 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True +user-set = True # Set to rebuild all packages that need a preserved lib that only remains due # to FEATURES=preserve-libs diff --git a/doc/config/sets.docbook b/doc/config/sets.docbook index 749b775..02135d6 100644 --- a/doc/config/sets.docbook +++ b/doc/config/sets.docbook @@ -57,6 +57,8 @@ is missing) world-candidate, which determines if given package should be added to the world set + user-set, which determines if + given package should be colorized as a user set Some handler classes might require additional options for their configuration, @@ -93,7 +95,7 @@ but to indicate that the section should generate multiple sets it's also necessary to set the multiset option to true. The world-candidate - option also supported like with + and user-set options are also supported like with single sets (they'll apply to all sets generated by the section). diff --git a/man/color.map.5 b/man/color.map.5 index 5543628..39f23f7 100644 --- a/man/color.map.5 +++ b/man/color.map.5 @@ -46,6 +46,9 @@ Defines color used for satisfied blockers. \fBPKG_MERGE\fR = \fI"darkgreen"\fR Defines color used for packages planned to be merged. .TP +\fBPKG_MERGE_USER_SET\fR = \fI"darkgreen"\fR +Defines color used for packages planned to be merged from a user defined set. +.TP \fBPKG_MERGE_SYSTEM\fR = \fI"darkgreen"\fR Defines color used for system packages planned to be merged. .TP @@ -55,6 +58,10 @@ Defines color used for world packages planned to be merged. \fBPKG_BINARY_MERGE\fR = \fI"purple"\fR Defines color used for packages planned to be merged using a binary package. .TP +\fBPKG_BINARY_MERGE_USER_SET\fR = \fI"purple"\fR +Defines color used for packages planned to be merged using a binary package +from a user defined set. +.TP \fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR Defines color used for system packages planned to be merged using a binary package. @@ -66,6 +73,10 @@ package. \fBPKG_NOMERGE\fR = \fI"darkblue"\fR Defines color used for packages not planned to be merged. .TP +\fBPKG_NOMERGE_USER_SET\fR = \fI"darkblue"\fR +Defines color used for packages not planned to be merged from a user defined +set. +.TP \fBPKG_NOMERGE_SYSTEM\fR = \fI"darkblue"\fR Defines color used for system packages not planned to be merged. .TP diff --git a/man/portage.5 b/man/portage.5 index 7c2a8f7..3cc1f07 100644 --- a/man/portage.5 +++ b/man/portage.5 @@ -1114,6 +1114,7 @@ class = portage.sets.files.StaticFileSet multiset = true directory = %(PORTAGE_CONFIGROOT)setc/portage/sets world-candidate = True +user-set = True [module-rebuild] class = portage.sets.dbapi.OwnerSet diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 400617d..89670d3 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -271,6 +271,8 @@ class Display(object): return colorize("PKG_BINARY_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_BINARY_MERGE_WORLD", pkg_str) + elif pkg_info.user_set: + return colorize("PKG_BINARY_MERGE_USER_SET", pkg_str) else: return
[gentoo-portage-dev] [PATCH] Colorize packages in user sets (bug 577720)
Three new settings were added to /etc/portage/color.map: PKG_MERGE_USER_SET, PKG_BINARY_MERGE_USER_SET, and PKG_NOMERGE_USER_SET. These colors are applied when the package is selected from a set in /etc/portage/sets/ X-Gentoo-bug: 577720 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=577720 --- man/color.map.5| 11 ++ pym/_emerge/resolver/output.py | 39 ++ pym/_emerge/resolver/output_helpers.py | 8 --- pym/portage/_sets/base.py | 3 +++ pym/portage/_sets/files.py | 3 +++ pym/portage/output.py | 39 ++ 6 files changed, 68 insertions(+), 35 deletions(-) diff --git a/man/color.map.5 b/man/color.map.5 index 5543628..39f23f7 100644 --- a/man/color.map.5 +++ b/man/color.map.5 @@ -46,6 +46,9 @@ Defines color used for satisfied blockers. \fBPKG_MERGE\fR = \fI"darkgreen"\fR Defines color used for packages planned to be merged. .TP +\fBPKG_MERGE_USER_SET\fR = \fI"darkgreen"\fR +Defines color used for packages planned to be merged from a user defined set. +.TP \fBPKG_MERGE_SYSTEM\fR = \fI"darkgreen"\fR Defines color used for system packages planned to be merged. .TP @@ -55,6 +58,10 @@ Defines color used for world packages planned to be merged. \fBPKG_BINARY_MERGE\fR = \fI"purple"\fR Defines color used for packages planned to be merged using a binary package. .TP +\fBPKG_BINARY_MERGE_USER_SET\fR = \fI"purple"\fR +Defines color used for packages planned to be merged using a binary package +from a user defined set. +.TP \fBPKG_BINARY_MERGE_SYSTEM\fR = \fI"purple"\fR Defines color used for system packages planned to be merged using a binary package. @@ -66,6 +73,10 @@ package. \fBPKG_NOMERGE\fR = \fI"darkblue"\fR Defines color used for packages not planned to be merged. .TP +\fBPKG_NOMERGE_USER_SET\fR = \fI"darkblue"\fR +Defines color used for packages not planned to be merged from a user defined +set. +.TP \fBPKG_NOMERGE_SYSTEM\fR = \fI"darkblue"\fR Defines color used for system packages not planned to be merged. .TP diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py index 400617d..4cb8393 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -271,6 +271,8 @@ class Display(object): return colorize("PKG_BINARY_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_BINARY_MERGE_WORLD", pkg_str) + elif pkg_info.user_set: + return colorize("PKG_BINARY_MERGE_USER_SET", pkg_str) else: return colorize("PKG_BINARY_MERGE", pkg_str) else: @@ -278,6 +280,8 @@ class Display(object): return colorize("PKG_MERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_MERGE_WORLD", pkg_str) + elif pkg_info.user_set: + return colorize("PKG_MERGE_USER_SET", pkg_str) else: return colorize("PKG_MERGE", pkg_str) elif pkg_info.operation == "uninstall": @@ -287,6 +291,8 @@ class Display(object): return colorize("PKG_NOMERGE_SYSTEM", pkg_str) elif pkg_info.world: return colorize("PKG_NOMERGE_WORLD", pkg_str) + elif pkg_info.user_set: + return colorize("PKG_NOMERGE_USER_SET", pkg_str) else: return colorize("PKG_NOMERGE", pkg_str) @@ -699,22 +705,27 @@ class Display(object): return - def check_system_world(self, pkg): - """Checks for any occurances of the package in the system or world sets + def check_sets(self, pkg): + """Checks for any occurances of the package in the portage sets @param pkg: _emerge.Package.Package instance - @rtype system and world booleans + @rtype user_set, system, and world booleans """ root_config = self.conf.roots[pkg.root] - system_set = root_config.sets["system"] - world_set = root_config.sets["selected"] - system = False - world = False + user_set = None + system = None + world = None try: - system = system_set.findAtomForPackage( - pkg, modified_use=self.conf.pkg_use_enabled(pkg)) - world =