diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-08-18 14:53:44 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-18 14:53:44 -0700 |
commit | 11a8128ab1b2f2efc95b7a9ef72843f165fd94ae (patch) | |
tree | 1cc74474d56c12983203831b74e6b6391d4ffe9a | |
parent | 5cfe98ee7e1e01f1634a29deb01fcefc9d551797 (diff) | |
download | portage-11a8128ab1b2f2efc95b7a9ef72843f165fd94ae.tar.gz portage-11a8128ab1b2f2efc95b7a9ef72843f165fd94ae.tar.bz2 portage-11a8128ab1b2f2efc95b7a9ef72843f165fd94ae.zip |
When suggesting solutions inside _show_circular_deps(), ignore solutions
that involve changes to use.mask or use.force settings.
-rw-r--r-- | pym/_emerge/depgraph.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index dc4c70742..b68058af7 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -4237,6 +4237,22 @@ class depgraph(object): if ignore_solution: continue + # Check for conflicts with use.mask and use.force. + pkgsettings = self._frozen_config.pkgsettings[parent.root] + pkgsettings.setcpv(parent) + for flag in solution: + if flag.startswith("+"): + if flag[1:] in pkgsettings.usemask: + ignore_solution = True + break + else: + if flag[1:] in pkgsettings.useforce: + ignore_solution = True + break + + if ignore_solution: + continue + changes = [] for flag in solution: if flag.startswith("+"): |