From b4abe4563b25128fc9dad6d50484ed1336f76428 Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Thu, 19 Aug 2010 15:10:40 +0200 Subject: cycle-finder: Don't try to change flags that are in use.{make,focrce} --- pym/_emerge/depgraph.py | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'pym') 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("+"): -- cgit v1.2.3-1-g7c22