diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-09-10 10:32:04 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-09-10 10:32:04 -0700 |
commit | 20c87af26f0ad628befc8feaa9cd196c9d416aef (patch) | |
tree | 43f40c2f88ff4d83066b84c0a4398e6069831449 | |
parent | 3d29e091cdf2d640d2680133dc360ed7f2abd7b1 (diff) | |
download | portage-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.py | 15 |
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: |