From: Zac Medico Date: Sat, 23 Jun 2012 06:28:10 +0000 (-0700) Subject: Slot conflict "abi" backtrack nodes non-terminal. X-Git-Tag: v2.2.0_alpha111~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=22b8c653bbb09570b428f7f744a267feb30bf4f1;p=portage.git Slot conflict "abi" backtrack nodes non-terminal. --- diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 75e3500de..07d30e64e 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -881,8 +881,12 @@ class depgraph(object): not self._accept_blocker_conflicts(): remaining = [] for pkg in conflict_pkgs: - if not self._slot_conflict_backtrack_abi(pkg, + if self._slot_conflict_backtrack_abi(pkg, slot_nodes, conflict_atoms): + backtrack_infos = self._dynamic_config._backtrack_infos + config = backtrack_infos.setdefault("config", {}) + config.setdefault("slot_conflict_abi", set()).add(pkg) + else: remaining.append(pkg) if remaining: self._slot_confict_backtrack(root, slot_atom, diff --git a/pym/_emerge/resolver/backtracking.py b/pym/_emerge/resolver/backtracking.py index f39bad413..00a07bcb6 100644 --- a/pym/_emerge/resolver/backtracking.py +++ b/pym/_emerge/resolver/backtracking.py @@ -186,6 +186,8 @@ class Backtracker(object): elif change == "needed_use_config_changes": for pkg, (new_use, new_changes) in data: para.needed_use_config_changes[pkg] = (new_use, new_changes) + elif change == "slot_conflict_abi": + new_node.terminal = False elif change == "slot_abi_mask_built": for pkg, mask_reasons in data.items(): para.runtime_pkg_mask.setdefault(pkg,