Tweak the installed masked code from bug #223447 so that it less noisy
authorZac Medico <zmedico@gentoo.org>
Tue, 3 Jun 2008 09:38:56 +0000 (09:38 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 3 Jun 2008 09:38:56 +0000 (09:38 -0000)
by suppressing masking messages for packages that haven't been pulled
into the current dependency graph.

svn path=/main/trunk/; revision=10553

pym/_emerge/__init__.py

index ae471a9759f7916ea700f75ce659344775d93dd5..73ba3e631bc282b23ef9f211932137f29af59b3e 100644 (file)
@@ -3453,6 +3453,7 @@ class depgraph(object):
                                for pkg in vardb:
                                        cpv = pkg.cpv
                                        stale_cache.discard(cpv)
+                                       pkg_in_graph = self.digraph.contains(pkg)
 
                                        # Check for masked installed packages. For keyword
                                        # mask there are a couple of common cases that are
@@ -3478,18 +3479,18 @@ class depgraph(object):
                                        #    TODO: Share visibility code to fix this inconsistency.
 
                                        if pkg in final_db:
-                                               if not visible(pkgsettings, pkg):
+                                               if pkg_in_graph and not visible(pkgsettings, pkg):
                                                        self._masked_installed.add(pkg)
                                                elif graph_complete_for_root and \
                                                        pkgsettings.getMissingKeywords(
                                                        pkg.cpv, pkg.metadata) and \
                                                        pkg.metadata["KEYWORDS"].split() and \
-                                                       not self.digraph.contains(pkg):
+                                                       not pkg_in_graph:
                                                        self._masked_installed.add(pkg)
 
                                        blocker_atoms = None
                                        blockers = None
-                                       if self.digraph.contains(pkg):
+                                       if pkg_in_graph:
                                                blockers = []
                                                try:
                                                        blockers.extend(