diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-08-19 15:10:40 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-19 06:13:29 -0700 |
commit | b4abe4563b25128fc9dad6d50484ed1336f76428 (patch) | |
tree | 1ad08735fda60f01464ddedcb3629052fc13b1a9 | |
parent | 237340c444298a346bf20e0d0ea718da9b708292 (diff) | |
download | portage-b4abe4563b25128fc9dad6d50484ed1336f76428.tar.gz portage-b4abe4563b25128fc9dad6d50484ed1336f76428.tar.bz2 portage-b4abe4563b25128fc9dad6d50484ed1336f76428.zip |
cycle-finder: Don't try to change flags that are in use.{make,focrce}
-rw-r--r-- | pym/_emerge/depgraph.py | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index b68058af7..004534dbe 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -4157,6 +4157,11 @@ class depgraph(object): break affecting_use = portage.dep.extract_affecting_use(dep, parent_atom) + # Make sure we don't want to change a flag that is in use.mask or use.force. + pkgsettings = self._frozen_config.pkgsettings[parent.root] + pkgsettings.setcpv(parent) + affecting_use.difference_update(pkgsettings.usemask, pkgsettings.useforce) + if affecting_use: affecting_use = list(affecting_use) #We iterate over all possible settings of these use flags and gather @@ -4237,22 +4242,6 @@ 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("+"): |