From: Sebastian Luther Date: Thu, 19 Aug 2010 13:10:40 +0000 (+0200) Subject: cycle-finder: Don't try to change flags that are in use.{make,focrce} X-Git-Tag: v2.2_rc68~77 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b4abe4563b25128fc9dad6d50484ed1336f76428;p=portage.git cycle-finder: Don't try to change flags that are in use.{make,focrce} --- 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("+"):