summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-10 10:32:04 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-10 10:32:04 -0700
commit20c87af26f0ad628befc8feaa9cd196c9d416aef (patch)
tree43f40c2f88ff4d83066b84c0a4398e6069831449
parent3d29e091cdf2d640d2680133dc360ed7f2abd7b1 (diff)
downloadportage-20c87af26f0ad628befc8feaa9cd196c9d416aef.tar.gz
portage-20c87af26f0ad628befc8feaa9cd196c9d416aef.tar.bz2
portage-20c87af26f0ad628befc8feaa9cd196c9d416aef.zip
Ensure that depgraph._show_unsatisfied_dep() doesn't suggest changes
to masked or forced USE flags.
-rw-r--r--pym/_emerge/depgraph.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 33fed5082..dce1041e9 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2151,6 +2151,14 @@ class depgraph(object):
need_enable = sorted(atom.use.enabled.difference(use).intersection(pkg.iuse.all))
need_disable = sorted(atom.use.disabled.intersection(use).intersection(pkg.iuse.all))
+ pkgsettings = self._frozen_config.pkgsettings[pkg.root]
+ pkgsettings.setcpv(pkg)
+ untouchable_flags = \
+ frozenset(chain(pkgsettings.usemask, pkgsettings.useforce))
+ if untouchable_flags.intersection(
+ chain(need_enable, need_disable)):
+ continue
+
required_use = pkg.metadata["REQUIRED_USE"]
required_use_warning = ""
if required_use:
@@ -2194,6 +2202,13 @@ class depgraph(object):
involved_flags = set(chain(conditional.equal, conditional.not_equal, \
conditional.enabled, conditional.disabled))
+ pkgsettings = self._frozen_config.pkgsettings[myparent.root]
+ pkgsettings.setcpv(myparent)
+ untouchable_flags = \
+ frozenset(chain(pkgsettings.usemask, pkgsettings.useforce))
+ if untouchable_flags.intersection(involved_flags):
+ continue
+
required_use = myparent.metadata["REQUIRED_USE"]
required_use_warning = ""
if required_use: