_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”.