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.