pkgcore.resolver.plan module¶
- class pkgcore.resolver.plan.merge_plan(dbs, per_repo_strategy, global_strategy=None, depset_reorder_strategy=None, process_built_depends=False, drop_cycles=False, debug=False, debug_handle=None, pdb_intercept=None)[source]¶
Bases:
object
- add_atom(atom)[source]¶
add an atom, recalculating as necessary.
- Returns:
the last unresolvable atom stack if a solution can’t be found, else returns None if the atom was successfully added.
- check_for_cycles(stack, cur_frame)[source]¶
Check the current stack for cyclical issues.
- Parameters:
stack – current stack, a
resolver_stack
instancecur_frame – current frame, a
resolver_frame
instance
- Returns:
True if no issues and resolution should continue, else the value to return after collapsing the calling frame
- property forced_restrictions¶
- generate_mangled_blocker(choices, blocker)[source]¶
converts a blocker into a “cannot block ourself” block
- classmethod prefer_livefs_dbs(dbs, just_vdb=None)[source]¶
- Parameters:
dbs – db list to walk
just_vdb – if None, no filtering; if True, just vdb, if False, non-vdb only
- Returns:
yields repos in requested ordering
- classmethod prefer_nonlivefs_dbs(dbs, just_vdb=None)[source]¶
- Parameters:
dbs – db list to walk
just_vdb – if None, no filtering; if True, just vdb, if False, non-vdb only
- Returns:
yields repos in requested ordering
- vdb_restrict = <PackageRestriction attr='repo.livefs' restriction=<EqualityMatch True negate=False @0x7f857c70dfc0> @0x7f857c854ae0>¶
- class pkgcore.resolver.plan.resolver_frame(parent, mode, atom, choices, dbs, start_point, depth, drop_cycles, ignored=False, vdb_limited=False)[source]¶
Bases:
object
- atom¶
- choices¶
- property current_pkg¶
Return the package related to the resolver frame.
- dbs¶
- depth¶
- drop_cycles¶
- events¶
- ignored¶
- mode¶
- parent¶
- start_point¶
- succeeded¶
- vdb_limited¶
- class pkgcore.resolver.plan.resolver_stack[source]¶
Bases:
deque
- property current_frame¶
itemgetter(item, …) –> itemgetter object
Return a callable object that fetches the given item(s) from its operand. After f = itemgetter(2), the call f(r) returns r[2]. After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3])
- property depth¶
Return the number of items in a container.
- frame_klass¶
alias of
resolver_frame
- index(frame, start=0, stop=None)[source]¶
D.index(value, [start, [stop]]) – return first index of value. Raises ValueError if the value is not present.
- property parent¶