From 20c87af26f0ad628befc8feaa9cd196c9d416aef Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 10 Sep 2010 10:32:04 -0700 Subject: Ensure that depgraph._show_unsatisfied_dep() doesn't suggest changes to masked or forced USE flags. --- pym/_emerge/depgraph.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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: -- cgit v1.2.3-1-g7c22