_emerge.resolver.backtracking module¶
- class _emerge.resolver.backtracking.BacktrackParameter¶
Bases:
object
- circular_dependency¶
- needed_license_changes¶
- needed_p_mask_changes¶
- needed_unstable_keywords¶
- needed_use_config_changes¶
- prune_rebuilds¶
- rebuild_list¶
- reinstall_list¶
- runtime_pkg_mask¶
- slot_operator_mask_built¶
- slot_operator_replace_installed¶
- class _emerge.resolver.backtracking.Backtracker(max_depth)¶
Bases:
object
- _add(node, explore=True)¶
Adds a newly computed backtrack parameter. Makes sure that it doesn’t already exist and that we don’t backtrack deeper than we are allowed by –backtrack.
- _check_runtime_pkg_mask(runtime_pkg_mask)¶
If a package gets masked that caused other packages to be masked before, we revert the mask for other packages (bug 375573).
- _current_node¶
- _feedback_config(changes, explore=True)¶
Handle config changes. Don’t count config changes for the maximum backtrack depth.
- _feedback_missing_dep(dep)¶
- _feedback_slot_conflict(conflict_data)¶
- _feedback_slot_conflicts(conflicts_data)¶
- _max_depth¶
- _nodes¶
- _root¶
- _unexplored_nodes¶
- backtracked()¶
If we didn’t backtrack, there is only the root.
- feedback(infos)¶
Takes information from the depgraph and computes new backtrack parameters to try.
- get()¶
Returns a backtrack parameter. The backtrack graph is explored with depth first.
- get_best_run()¶
Like, get() but returns the backtrack parameter that has as many config changes as possible, but has no masks. This makes –autounmask effective, but prevents confusing error messages with “masked by backtracking”.