pkgcore.ebuild.repository module

Ebuild repository, specific to gentoo ebuild trees.

class pkgcore.ebuild.repository.ConfiguredTree(raw_repo, domain, domain_settings)[source]

Bases: tree

Wrapper around a UnconfiguredTree binding build/configuration data (USE).

config_wrappables = {'bdepend': <function alias_method.<locals>._asecond_level_call>, 'depend': <function alias_method.<locals>._asecond_level_call>, 'distfiles': '_distfiles', 'fetchables': <function alias_method.<locals>._asecond_level_call>, 'idepend': <function alias_method.<locals>._asecond_level_call>, 'iuse_effective': '_iuse_effective', 'license': <function alias_method.<locals>._asecond_level_call>, 'pdepend': <function alias_method.<locals>._asecond_level_call>, 'rdepend': <function alias_method.<locals>._asecond_level_call>, 'required_use': <function alias_method.<locals>._asecond_level_call>, 'restrict': <function alias_method.<locals>._asecond_level_call>, 'src_uri': <function alias_method.<locals>._asecond_level_call>, 'user_patches': '_user_patches'}
configurable = 'use'
class pkgcore.ebuild.repository.ProvidesRepo(pkgs, arches, repo_id='package.provided')[source]

Bases: SimpleTree

Fake, installed repo populated with entries from package.provided.

class PkgProvided(*args, arches=(), **kwargs)[source]

Bases: base

arches
property keywords
package_is_real = False
use
class PkgProvidedParent(**kwds)[source]

Bases: object

class pkgcore.ebuild.repository.UnconfiguredTree(location, eclass_cache=None, masters=(), cache=(), default_mirrors=None, allow_missing_manifests=False, package_cache=True, repo_config=None)[source]

Bases: tree

Raw implementation supporting standard ebuild tree.

Return packages don’t have USE configuration bound to them.

property aliases

alias to config.aliases

category_dirs
configurables = ('domain', 'settings')
configure(*args)[source]

Return a configured form of the repository.

configured = False
deprecated

Base deprecated packages restriction from profiles/package.deprecated.

property eapi

alias to config.eapi

enable_gpg = False
extension = '.ebuild'
property external

alias to config.external

false_categories = frozenset({'eclass', 'licenses', 'metadata', 'profiles'})
property is_supported

alias to config.eapi.is_supported

itermatch(*args, **kwargs)[source]

Generator that yields packages match a restriction.

Parameters:
  • restrict (pkgcore.restrictions.packages.PackageRestriction instance.) – restriction to search via

  • sorter – callable to do sorting during searching- if sorting the results, use this instead of sorting externally.

  • pkg_filter – callable to do package filtering

  • versioned – boolean controlling returning versioned or unversioned pkgs

  • raw_pkg_cls – custom package class to use for generating raw pkg instances

  • pkg_cls – custom package class to override raw pkg instances with

  • yield_none – if True then itermatch will yield None for every non-matching package. This is meant for use in combination with C{twisted.task.cooperate} or other async uses where itermatch should not wait many (wallclock) seconds between yielding packages. If you override this method you should yield None in long-running loops, strictly calling it for every package is not necessary.

known_arches

Return all known arches for a repo (including masters).

operations_kls

alias of repo_operations

class package_factory(parent, cachedb, eclass_cache, mirrors, default_mirrors, *args, **kwargs)

Bases: factory

child_class

alias of package

get_ebuild_src(pkg)
new_package(*args)

generate a new package instance

priority = 5
path_restrict(path)[source]

Return a restriction from a given path in a repo.

Parameters:

path – full or partial path to an ebuild

Returns:

a package restriction matching the given path if possible

Raises:

ValueError – if the repo doesn’t contain the given path, the path relates to a file that isn’t an ebuild, or the ebuild isn’t in the proper directory layout

property pkg_masks

alias to config.pkg_masks

pkgcore_config_type = <pkgcore.config.hint.ConfigHint object>
rebind(**kwds)[source]

Generate a new tree instance with the same location using new keywords.

Parameters:

kwds – see __init__ for valid values

property repo_id

alias to config.repo_id

property repo_name

alias to config.repo_name

stabilization_groups

Return a mapping of stabilization groups to packages.

thirdpartymirrors
use_expand_desc

Inherited USE_EXPAND settings for the repo.

use_expand_sort

Inherited mapping of USE_EXPAND sorting keys for the repo.

use_expand_sorter(group)[source]

Sorting function for a given USE_EXPAND group.

pkgcore.ebuild.repository.tree(config, repo_config, cache=(), eclass_cache=None, default_mirrors=None, allow_missing_manifests=False, tree_cls=<class 'pkgcore.ebuild.repository.UnconfiguredTree'>)[source]

Initialize an unconfigured ebuild repository.