Pkgcore/Configuration

The pkgcore configuration files support various formats, default is the ini syntax.

Each section has an associated class which defines the scope of the section. We will structure the following by these classes.

Domain
Class: pkgcore.ebuild.domain.domain

This is the fundamental configuration object. A domain provides all configuration options (mostly by reference onto other configuration objects). By providing multiple domains these can be selected at runtime.

Important attributes:
 * default (boolean, e.g. True)
 * root (string, e.g. '/' )
 * fetcher (reference)
 * profile (reference)
 * repositories (references)
 * triggers (references)
 * vdb (reference)

Fetcher
Classes: pkgcore.fetch.base.fetcher and pkgcore.fetch.custom.fetcher

Configure how to obtain distfiles and where to store them.

Profile
Classes: pkgcore.ebuild.profile.ProfileStack and pkgcore.ebuild.profile.OnDiskProfile

Configure location of profiles and which is applicable. These can be combined out multiple sources.

Repositories
Classes: pkgcore.ebuild.repository.tree, pkgcore.ebuild.repository.slavedtree, pkgcore.binpkg.repository.tree

Metaobject for repositories. We have different flavors: ebuild.repository.tree is for the Gentoo tree, slavedtree is for overlays and binpkg.repository.tree is for prebuilt package instances (the last one is pretty much like a raw repo).

Important attributes:
 * cache (references, not binpkg.repository.tree)
 * raw_repo (reference, not binpkg.repository.tree)
 * parent_repo (reference, only for slavedtree)

Repo-Cache
Classes: pkgcore.cache.flat_hash.md5_cache and pkgcore.cache.flat_hash.database

Configure nature and location of caches. These are used for lookup of metadata and similar.

Raw Repository
Class: pkgcore.ebuild.repo_objs.RepoConfig

Configure location. This is the bare repository.

Important attributes:
 * syncer (reference)

Syncer
Class: pkgcore.sync.base.AutodetectSyncer and pkgcore.sync.rsync.rsync_timestamp_syncer

Configure how to sync a repository.

VDB
Class: pkgcore.vdb.ondisk.tree

Configure location of the current system state.