/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.
eselect-repository is a handy tool for configuring repositories without editing /etc/portage/repos.conf by hand.
See appropriate section in "man portage" man page for detailed information about the format and parameters of repos.conf.
Add, disable, or remove ebuild repositories using eselect repository, which also provides other functionality.
Files in /etc/portage/repos.conf can be edited with a text editor to change the configuration options for an ebuild repository.
To show all repositories configured with portage, run portageq:
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 repositories, manually edit the relevant repos.conf section and set priority = to the desired value. For example:
# 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 -1000.
- Project:Portage/Repository_Verification — describes different methods used to ensure authenticity of the Gentoo ebuild repository.
- Overview of the Portage sync system
- Layman - Using 'repos.conf' method in the Layman article
- Overlays user guide
- Repository format — A quick reference to Gentoo ebuild repository (overlay) format.
- Repository mirror and Continuous Integration
- Query repository information in the Portageq article
- Using the gentoo git checkout as your local tree
- Masking installed but unsafe ebuild repositories
- eselect repository — an eselect module for configuring ebuild repositories for Portage.
- Portage Security — aims to answer the question "How can I dispel doubts regarding the security of the Gentoo ebuild repository on a system?"