/etc/portage/repos.conf

From Gentoo Wiki
< /etc/portage(Redirected from Repos.conf)
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
Deutsch • ‎English • ‎español • ‎hrvatski • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

/etc/portage/repos.conf is a file or directory which specifies the location and settings for the repositories used by the current system. It refers to the Gentoo repository and perhaps ebuild repositories used on a system.

Format

Note
While Portage can handle repos.conf as either a file or a directory of files, the preferred method to be used is a directory. Other tools like layman and mirrorselect require and expect it to be a directory. Layman creates and manages it's own layman.conf file to register its installed ebuild repositories with Portage. mirrorselect looks for the repos.conf/gentoo.conf file in order to modify the sync-uri parameter for the Gentoo repository.
  • File names can be arbitrary strings of characters with or without suffix, except for repos.conf/gentoo.conf expected by mirrorselect.
  • Comments begin with # (no inline comments).
  • Configuration of each repository is specified in a separate file or section starting with [repository_name]. It is recommended that [repository_name] is the same as the name given in the repo_name file.
  • Attributes are specified in attribute = value format.

Attributes supported in the default section

main-repo
Specifies main repository.
eclass-overrides
Makes all repositories inherit eclasses from the specified repositories. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
The egencache, emirrordist and repoman tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting force = eclass-overrides.
force
Specifies names of attributes, which should be forcefully respected by egencache, emirrordist, and repoman. Valid values: aliases, eclass-overrides, and masters.

Attributes supported in sections of repositories

aliases
Specifies aliases of given repository. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
The egencache, emirrordist and repoman tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting force = aliases.
auto-sync
This setting determines if the repo will be synced during emerge --sync or emaint sync --auto runs. This allows for repositories to be synced only when desired via emaint sync --repo foo. Valid values: yes, no, true, false. If unset, the repo will be treated as set yes, true.
eclass-overrides
Makes all repositories inherit eclasses from specified repositories. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
The egencache, emirrordist and repoman tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting force = eclass-overrides.
force
Specifies names of attributes, which should be forcefully respected by egencache, emirrordist, and repoman. Valid values: aliases, eclass-overrides, and masters.
location
Specifies location of given repository.
masters
Specifies master repositories of given repository. Setting this attribute is generally not recommended since resulting changes in eclass inheritance may trigger performance issues due to invalidation of metadata cache.
The egencache, emirrordist and repoman tools ignore this parameter by default as their operations are generally not site-specific (their operations are focused on the global, non-customized aspects of portage and the Gentoo repository). This behavior can be overruled by setting force = masters.
priority
Specifies priority of given repository.
sync-cvs-repo
Specifies CVS repository.
clone-depth
Specifies clone depth to use for DVCS repositories. Defaults to 1 (only the newest commit). If set to 0, the depth is unlimited.
sync-depth
Specifies sync depth to use for DVCS repositories. If set to 0, the depth is unlimited. Defaults to 0.
sync-git-verify-commit-signature
Require the top commit in the repository to contain a good OpenPGP signature. Defaults to false.
sync-type
Specifies type of synchronization performed by emerge --sync. Valid non-empty values: cvs, git, rsync, svn, websync (<=portage-2.2.18), webrsync (>=portage-2.2.19). This attribute can be set to empty value to disable synchronization of given repository. Empty value is default.
sync-umask
Specifies umask used to synchronize the repository. Takes an octal permission mask, e.g. 022.
sync-uri
Specifies URI of repository used for synchronization performed by emerge --sync. This attribute can be set to empty value to disable synchronization of given repository. Empty value is default.
Syntax:
cvs: [cvs://]:access_method:[username@]hostname[:port]:/path
git: (git|git+ssh|http|https)://[username@]hostname[:port]/path
rsync: (rsync|ssh)://[username@]hostname[:port]/(module|path)
sync-user
Specifies the credentials used to perform the synchronization. If only user is provided, the primary group of the user will be used. If only group is provided, the current user will be preserved and only the group id will be changed. This key takes precedence over FEATURES=userpriv. If user or group id is provided, Portage no longer uses owner of the directory.
Syntax: [user][:group]

Examples

Main Gentoo repository

rsync

The example below shows the default set up of the main Gentoo repository. However, there is no need for having this file unless its content deviates from the file found at /usr/share/portage/config/repos.conf.

FILE /etc/portage/repos.conf/gentoo.confRsync example
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

For a setup using sync-type websync (<=portage-2.2.18), webrsync (>=portage-2.2.19), see the webrsync.conf article.

Custom ebuild repository

[NameOfYourEbuildRepository]
location = /usr/local/portage
masters = gentoo
auto-sync = no

For further information see the custom repository article.

External ebuild repository

FILE /etc/portage/repos.conf/brother-overlay.confAdding the brother-overlay ebuild repository
[brother-overlay]
location = /usr/local/overlay/brother-overlay
sync-type = git
sync-uri = https://github.com/stefan-langenmaier/brother-overlay.git
auto-sync = yes

repos.conf as a single file

For an example of repos.conf as a monolithic file, run this command and search for the repos.conf section:

user $man 5 portage

Listing repositories

To see a compact list of repositories, sorted by ascending priority numbers and formatted for easy reading:

user $emerge --info --verbose | sed -n '/^Repo/,/^ABI/p' | head -n -1

To see a detailed list of repositories, without any formatting:

user $portageq repos_config /

See also

External resources