Entropy Server now supports repositories defined inside
/etc/entropy/repositories.conf.d/ files, written using the
syntax detailed below. This improves the ability to enable, disable,
add and remove repositories programmatically. Furthermore, it
makes possible to extend the supported parameters without breaking
backward compatibility.
In order to differentiate Entropy Client repository definitions between
Entropy Server ones, each repository section must start with "[server=".
This is an example of the syntax (with a complete listing
of the supported arguments):
[server=sabayon-limbo]
desc = Sabayon Linux Official Testing Repository
repo = ssh://username@full.host:~username/sabayon-limbo
enabled = <true/false>
[server=sabayon-limbo]
desc = This statement will be ignored.
repo-only = ssh://username@repo.host:~username/sabayon-limbo
pkg-only = ssh://username@pkg.host:~username/sabayon-limbo
[server=sabayon-base]
desc = This is the base repository.
repo-only = ssh://username@repo.host:~username/sabayon-base
pkg-only = ssh://username@pkg.host:~username/sabayon-base
base = <true/false>
As you can see, multiple statements for the same repository
are allowed. However, only the first desc = statement will be
considered, while there can be as many {pkg,repo}* = as you want.
The repository order is important, but this is guaranteed by the
fact that configuration files are parsed in lexical order.
Statements description:
- "desc": stands for description, the repository name description.
- "repo": the push & pull URI, for both packages and repository database.
- "repo-only": same as repo, but only for the repository database
push & pull.
- "pkg-only": same as repo, but only for the packages push & pull.
The supported protocols are those supported by entropy.fetchers.
- "enabled": if set, its value can be either "true" or "false". The default
value is "true". It indicates if a repository is configured
but currently disabled or enabled. Please take into account
that config files in /etc/entropy/repositories.conf.d/ starting
with "_" are considered to contain disabled repositories. This
is just provided for convienence.
- "base": if set, its value can be either "true" or "false". The default
value is "false". If no repository has the flag set, the first
listed repository will be the base one. Only the first repository
with "base = true" will be considered. The base repository is the
repository that is considered base for all the others
(the main one).
This is backward compatible with the previous repository
implementation, in the sense that old repository syntax
is just ignored. However, a mix of old and new statements
may result in an undefined behaviour.
This is an example of the new syntax (with a complete listing
of the supported arguments):
[sabayon-limbo]
desc = Sabayon Linux Official Testing Repository
repo = http://pkg.sabayon.org,sabayon.org
pkg = http://pkg.sabayon.org
pkg = http://dl.sabayon.org/entropy
enabled = <true/false>
[sabayon-limbo]
desc = This statement will be ignored.
repo = This url will be ignored.
pkg = http://some.more.mirror.org/entropy
pkg = http://some.more.mirror.net/entropy
As you can see, multiple statements for the same repository
are allowed. However, only the first desc = and repo =
statements will be considered, while there can be as many pkg =
as you want.
Statements description:
- "desc": stands for description, the repository name description.
- "repo": the repository database URL string, plus other parameters
as supported in the previous configuration file syntax:
<db url prefix>[,<remote web services server url][#<compression>].
- "pkg": the repository packages URL string. This must be a valid URL.
The supported protocols are those supported by entropy.fetchers.
- "enabled": if set, its value can be either "true" or "false". The default
value is "true". It indicates if a repository is configured
but currently disabled or enabled. Please take into account
that config files in /etc/entropy/repositories.conf.d/ starting
with "_" are considered to contain disabled repositories. This
is just provided for convienence.
Weak package files is a feature that makes possible to save a lot of
local space if enabled. Basically, all the package files no longer in
the repository are locally removed before their expiration. This reduces
local data redundancy with no real reliability impact.