/etc/portage/repos.conf

From Gentoo Wiki
< /etc‎ | portage
Jump to:navigation Jump to:search

/etc/portage/repos.conf specifies the location and settings for the repositories currently configured with Portage. This directory contains .conf files that configure the Gentoo ebuild repository and any additional ebuild repositories.

If /etc/portage/repos.conf/gentoo.conf does not exist, defaults from /usr/share/portage/config/repos.conf will be used, (unless /etc/portage/repos.conf is a file with a valid "[gentoo]" section, as used to be the default). If some necessary settings, such as sync-uri are omitted from /etc/portage/repos.conf/gentoo.conf, values from /usr/share/portage/config/repos.conf will be used. Some values, such as priority, will be automatically added by Portage even if they are not present in any configuration file.

Tip
eselect-repository is a handy tool for configuring repositories without editing /etc/portage/repos.conf by hand.
Note
See the /etc/portage/repos.conf section in man 5 portage for detailed information about the format and parameters of repos.conf.

Manage repositories

Add, disable, or remove ebuild repositories using eselect repository, which also provides other functionality.

It is also possible to add a repository by manually creating files in /etc/portage/repos.conf, see the appropriate section of the Handbook (other reference).

Files in /etc/portage/repos.conf can be edited with a text editor to change the configuration options for an ebuild repository.

List repositories

To show all repositories configured with portage, run portageq:

user $portageq repos_config /
[DEFAULT]
auto-sync = yes
main-repo = gentoo
strict-misc-digests = true
sync-allow-hardlinks = true
sync-rcu = false
 
[brother-overlay]
auto-sync = yes
location = /var/db/repos/brother-overlay
masters = gentoo
strict-misc-digests = true
sync-allow-hardlinks = true
sync-rcu = false
sync-type = git
sync-uri = https://github.com/gentoo-mirror/brother-overlay.git
 
[gentoo]
auto-sync = yes
location = /var/db/repos/gentoo
masters = 
priority = -1000
strict-misc-digests = true
sync-allow-hardlinks = true
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
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
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-keyserver = hkps://keys.gentoo.org
sync-rcu = false
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
sync-rsync-verify-max-age = 24
sync-rsync-extra-opts = 
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
 
[local]
auto-sync = no
location = /var/db/repos/local
masters = gentoo
strict-misc-digests = true
sync-allow-hardlinks = true
sync-rcu = false

Ebuild repository priority

To set the priority of a certain repository, manually edit the relevant repos.conf section and set priority = to the desired value. The higher the set value, the higher the priority. For example:

FILE /etc/portage/repos.conf/eselect-repo.confSet priority of a repository
# created by eselect-repo
  
[guru]
location = /var/db/repos/guru
sync-type = git
sync-uri = https://github.com/gentoo-mirror/guru.git
priority = 100

Repositories that do not have a priority explicitly set, default to 0 - except the Gentoo ebuild repository, which defaults to to a value of -1000.

Alternative sync protocols

See the gentoo.conf article for examples on how to sync the ::gentoo ebuild repository using alternatives to the traditional rsync protocol (such as via git or websync).

See also

External resources