EGENCACHE
Section: Portage (1)
Updated: March 2009
NAME
egencache - generate metadata cache for ebuild repositories
SYNOPSIS
egencache
[options] --update [ATOM]...
DESCRIPTION
The egencache program generates metadata cache for ebuild repositories and
stores it in the metadata/cache/ directory within the repository itself,
for distribution.
ACTIONS
- --update [ATOM] ...
-
Update the metadata/cache/ directory (generate metadata as necessary).
If no package atoms are specified then all will be updated. See ebuild(5)
for the details on package atom syntax.
OPTIONS
- --cache-dir=CACHE_DIR
-
Location of the intermediate metadata cache which is stored in a different
format that includes eclass state. See the BUGS section for
information about why this is necessary.
Defaults to /var/cache/edb/dep.
- --config-root=CONFIG_ROOT
-
Location of portage config files.
Defaults to /.
- --ignore-default-opts
-
Causes EGENCACHE_DEFAULT_OPTS to be ignored.
- --jobs=JOBS
-
Specifies the maximum number of ebuild processes to spawn simultaneously.
Also see the related --load-average option.
- --load-average=LOAD
-
Specifies that maximum load allowed when spawning multiple jobs.
- --repo=REPO
-
Name of the repo to operate on (default repo is located at PORTDIR).
The name should correspond the value of a repo_name entry (see
portage(5)) from one of the repositories that is configured via the
PORTDIR or PORTDIR_OVERLAY variables (see make.conf(5)).
- --rsync
-
When used together with the --update action, this enables a workaround
for cases in which the content of a cache entry changes and neither the file
mtime nor size changes, preventing rsync from detecting changes. Such cases are
handled by bumping the mtime on the ebuild (and the corresponding cache entry).
This option should only be needed for distribution via something like
rsync(1), which relies on timestamps and file sizes to detect changes
(see bug 139134). It's not needed with git(1) since that uses a
more thorough mechanism which allows it to detect changed inode numbers
(described in racy-git.txt in the git technical docs).
ENVIRONMENT OPTIONS
- EGENCACHE_DEFAULT_OPTS
-
If this variable is set in make.conf(5) then any options that it
contains will be added to the beginning of the command line on every
invocation. These options will not be added if the
--ignore-default-opts option is specified.
BUGS
There are significant limitations associated with the metadata
cache format that is distributed in the metadata/cache/ directory
of the repository. These limitations are related to the cache validation
mechanism. Currently, the validation mechanism involves comparison of
a cache entry mtime to the mtime of the corresponding ebuild(5). This
mechanism is unreliable in cases when eclass changes result in metadata
changes, since no information about eclass state is available in the cache.
Also, since the mtime of the cache entry must correspond to that of the
ebuild, the cache format is only suitable for distribution via protocols
that preserve timestamps (such as rsync(1)). For cache that is
distributed via git(1) repositories, there is currently a workaround
implemented in emerge(1) --sync which updates ebuild mtimes
to match their corresponding cache entries (except for ebuilds that are
modified relative to HEAD).
In order to solve the above problems, a future extension
to the cache format will include additional
validation data in the form of digests for both the ebuild
and its inherited eclasses. Until the
cache format has been extended in this way, it is necessary to enable
metadata-transfer in FEATURES (see make.conf(5)).
This causes intermediate cache (in a different format that includes
eclass state) to be generated inside the directory which is configurable
via the --cache-dir option.
REPORTING BUGS
Please report bugs via http://bugs.gentoo.org/
AUTHORS
Zac Medico <zmedico@gentoo.org>
FILES
- /etc/make.conf
-
Contains variables.
SEE ALSO
emerge(1),
make.conf(5),
portage(5)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- ACTIONS
-
- OPTIONS
-
- ENVIRONMENT OPTIONS
-
- BUGS
-
- REPORTING BUGS
-
- AUTHORS
-
- FILES
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 21:14:26 GMT, April 20, 2009