commit: 40cdc1c3f467ac94d3a966777eb6a0907c269550 Author: Adam Mills <adam <AT> armills <DOT> info> AuthorDate: Wed May 25 16:12:57 2016 +0000 Commit: Alexander Berntsen <bernalex <AT> gentoo <DOT> org> CommitDate: Fri May 27 08:23:14 2016 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=40cdc1c3
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 Acked-by: Alexander Berntsen <bernalex <AT> gentoo.org> Acked-by: Zac Medico <zmedico <AT> gentoo.org> Signed-off-by: Alexander Berntsen <bernalex <AT> gentoo.org> 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
