This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
eselect/repository
eselect-repository is an eselect module for manipulating /etc/portage/repos.conf entries to third party repositories (also known as overlays). This supersedes the need for app-admin/layman to list, configure, and handle synchronizations of alternate repositories except for those which the package manager does not (eg. mercurial, bazaar and g-sorcery in portage).
Installation
Emerge
root #
emerge --ask app-eselect/eselect-repository
Configuration
Initial setup
The REPOS_CONF
directory, as configured in files below, must exist before the module will function properly.
To ensure this exists run (using the defaults as an example):
root #
mkdir -p /etc/portage/repos.conf
Files
/etc/eselect/repository.conf
# configuration for eselect-repo # (sourced by bash, so keep the values bash-compatible) # The following variables can be used below to reference paths # configured at build time: # CACHEDIR -- system cache directory (e.g. /var/cache) # SYSCONFDIR -- system configuration directory (e.g. /etc) # SHAREDSTATEDIR -- system shared state directory (e.g. /var) # Location of the repository configuration file or directory. If it is # a directory, Portage rules for subfiles are used. REPOS_CONF=${SYSCONFDIR}/portage/repos.conf # File to use for newly added repositories when REPOS_CONF is # a directory. REPOS_CONF_SUBFILE=${REPOS_CONF}/eselect-repo.conf # Top directory to keep newly added repositores in. New repositories # will be added with subdirectories following repository names. REPOS_BASE=${SHAREDSTATEDIR}/db/repos # Location of the remote repository list. The default is to use # the gentoo-mirror list that contains pregenerated metadata cache. REMOTE_LIST_URI=https://qa-reports.gentoo.org/output/repos/repositories.xml # Alternative: original Gentoo list. #REMOTE_LIST_URI=https://api.gentoo.org/overlays/repositories.xml # Directory to store repositories.xml cache. The file will always # be called "repositories.xml" due to technical limitations of wget. REMOTE_LIST_CACHEDIR=~/.cache/eselect-repo # Interval (in seconds) to check the remote repository list for changes. # The default is 2 hours. REMOTE_LIST_REFRESH=$(( 2 * 3600 ))
Usage
Gentoo allows users and developers to register their repositories for public consumption. eselect repository will fetch and read the known list.
Listing registered repositories
root #
eselect repository list
Available repositories: [1] foo [2] bar [3] baz [4] cross # [5] good * [6] my_overlay @
- Installed, enabled repositories are suffixed with a * character.
- Repositories suffixed with #, need their sync information updated (via disable/enable) or were customized by the user.
- Repositories suffixed with @ are not listed by name in the official, published list.
- Adding the
-i
optional parameter will only list installed repositories
Add registered repositories
Syntax: enable (<name>|<index>)...
root #
eselect repository enable foo bar baz
Add unregistered repositories
Syntax: add <name> <sync-type> <sync-uri>
root #
eselect repository add test git https://github.com/test/test.git
Disable repositories without removing contents
Syntax: disable [-f] (<name>|<index>)...
root #
eselect repository disable foo bar
The -f
option is required for unregistered repositories and those without sync attributes
Disable repositories and remove contents
Syntax: remove [-f] (<name>|<index>)...
root #
eselect repository remove bar baz
The -f
option is required for unregistered repositories and those without sync attributes
See also
- eselect — a tool for administration and configuration on Gentoo systems.