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


Reply via email to