EGENCACHE(1) Portage EGENCACHE(1)NAMEegencache - generate metadata cache for ebuild repositories
SYNOPSISegencache [options] --update [ATOM]...
DESCRIPTION
The egencache program generates metadata cache for ebuild repositories
and stores it in the metadata/md5-cache/ directory within the reposi‐
tory itself, for distribution.
ACTIONS--update [ATOM] ...
Update the metadata/md5-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.
--update-changelogs
Update the ChangeLog files from SCM logs (supported only in git
repos).
--update-use-local-desc
Update the profiles/use.local.desc file from metadata.xml.
--update-manifests
Update manifest files, and sign them if signing is enabled. This
supports parallelization if enabled via the --jobs option. The
--thin-manifests and --sign-manifests options may be used to
manually override layout.conf settings.
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 sec‐
tion for information about why this is necessary.
Defaults to /var/cache/edb/dep.
--config-root=PORTAGE_CONFIGROOT
Location of portage config files.
Defaults to /.
--gpg-dir
Override the PORTAGE_GPG_DIR variable.
--gpg-key
Override the PORTAGE_GPG_KEY variable.
--ignore-default-opts
Causes EGENCACHE_DEFAULT_OPTS to be ignored.
--jobs=JOBS
Specifies the maximum number of ebuild processes to spawn simul‐
taneously. Also see the related --load-average option.
--load-average=LOAD
Specifies that maximum load allowed when spawning multiple jobs.
--portdir=PORTDIR
Override the PORTDIR variable. This option is deprecated in
favor of --repositories-configuration option.
--portdir-overlay=PORTDIR_OVERLAY
Override the PORTDIR_OVERLAY variable. This option is deprecated
in favor of --repositories-configuration option.
--preserve-comments
Preserve the comments found in the output use.local.desc file.
This requires the output file to exist before egencache is
called.
--repo=REPO
Name of the repo to operate on. The name should correspond the
value of a repo_name entry (see portage(5)) from one of the
repositories.
--repositories-configuration=REPOSITORIES_CONFIGURATION
Override configuration of repositories. The argument of this
option has the same format as repos.conf (see portage(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).
--sign-manifests< y | n >
Manually override layout.conf sign-manifests setting.
--strict-manifests< y | n >
Manually override "strict" FEATURES setting.
--thin-manifests< y | n >
Manually override layout.conf thin-manifests setting.
--tolerant
Exit successfully if only minor errors occurred, such as skipped
cache updates due to ebuilds that either fail to source or are
not sourced due to invalid Manifest entries.
--use-local-desc-output=ULD_OUTPUT
output file for use.local.desc data (or '-' for stdout)
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
Prior to portage-2.1.11.32, the 'pms' cache format was enabled by
default. This 'pms' format, which is distributed in the meta‐
data/cache/ directory of the repository, has significant limitations
related to the cache validation mechanism which 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 work‐
around 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, the newer 'md5-dict' format has
been enabled by default since portage-2.1.11.32. This format is dis‐
tributed in the metadata/md5-cache/ directory of the repository, and
includes additional validation data in the form of digests for both the
ebuild and its inherited eclasses. WARNING: Portage versions prior to
portage-2.1.11.14 will NOT recognize the 'md5-dict' format unless it is
explicitly listed in metadata/layout.conf (refer to portage(5) for
example usage).
WARNING: For backward compatibility, the obsolete 'pms' cache format
will still be generated by default if the metadata/cache/ directory
exists in the repository. It can also be explicitly enabled via the
cache-formats setting in metadata/layout.conf (refer to portage(5) for
example usage). If the 'pms' cache format is enabled and the 'md5-dict'
format is not enabled, then 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>
Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
FILES
/etc/portage/make.conf
Contains variables.
SEE ALSOemerge(1), make.conf(5), portage(5)Portage 2.2.8-r1 Jul 2013 EGENCACHE(1)