pkgcore.ebuild.atom module

gentoo ebuild atom, should be generalized into an agnostic base

class pkgcore.ebuild.atom.atom(*a, **kw)[source]

Bases: AndRestriction

Currently implements gentoo ebuild atom parsing.

Should be converted into an agnostic dependency base.

blocks
blocks_strongly
property blocks_temp_ignorable
cnf_solutions(full_solution_expansion=False)[source]

returns solutions in CNF (conjunctive normalized form) of this instance

Parameters:

full_solution_expansion – controls whether to expand everything (break apart atoms for example); this isn’t likely what you want

cpvstr
evaluate_conditionals(parent_cls, parent_seq, enabled, tristate=None)[source]
evaluate_depset = None
property get_atom_without_use_deps

Return atom object stripped of USE dependencies.

intersects(other)[source]

Check if a passed in atom “intersects” this restriction’s atom.

Two atoms “intersect” if a package can be constructed that matches both:

  • if you query for just “dev-lang/python” it “intersects” both “dev-lang/python” and “>=dev-lang/python-2.4”

  • if you query for “=dev-lang/python-2.4” it “intersects” “>=dev-lang/python-2.4” and “dev-lang/python” but not “<dev-lang/python-2.3”

USE and slot deps are also taken into account.

The block/nonblock state of the atom is ignored.

property is_simple
iter_cnf_solutions(full_solution_expansion=False)[source]

returns solutions in CNF (conjunctive normalized form) of this instance

Parameters:

full_solution_expansion – controls whether to expand everything (break apart atoms for example); this isn’t likely what you want

iter_dnf_solutions(full_solution_expansion=False)[source]

generater yielding DNF (disjunctive normalized form) of this instance.

Parameters:

full_solution_expansion – controls whether to expand everything (break apart atoms for example); this isn’t likely what you want

negate = False
negate_vers
property no_usedeps

alias to get_atom_without_use_deps

op
repo_id
restrictions
slot
slot_operator
subslot
type = 'package'
use
property weak_blocker

alias to blocks_temp_ignorable

class pkgcore.ebuild.atom.transitive_use_atom(*a, **kw)[source]

Bases: atom

cnf_solutions(full_solution_expansion=False)

returns solutions in CNF (conjunctive normalized form) of this instance

Parameters:

full_solution_expansion – controls whether to expand everything (break apart atoms for example); this isn’t likely what you want

convert_to_conditionals()[source]
evaluate_conditionals(parent_cls, parent_seq, enabled, tristate_filter=None)[source]
is_simple = False
iter_dnf_solutions(full_solution_expansion=False)

generater yielding DNF (disjunctive normalized form) of this instance.

Parameters:

full_solution_expansion – controls whether to expand everything (break apart atoms for example); this isn’t likely what you want

restrictions