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

From Gentoo Wiki (test)
Jump to:navigation Jump to:search

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

FILE /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.