ebuild: fetch: Flatten conditionals in _get_fetch_resume_size
[portage.git] / man / egencache.1
1 .TH "EGENCACHE" "1" "Jul 2013" "Portage VERSION" "Portage"
2 .SH "NAME"
3 egencache \- generate metadata cache for ebuild repositories
4 .SH "SYNOPSIS"
5 .B egencache
6 .I [options] --update [ATOM]\fR...
7 .SH "DESCRIPTION"
8 The egencache program generates metadata cache for ebuild repositories and
9 stores it in the \fImetadata/md5\-cache/\fR directory within the repository
10 itself, for distribution.
11 .SH ACTIONS
12 .TP
13 .BR "\-\-update [ATOM] ... "
14 Update the \fImetadata/md5\-cache/\fR directory (generate metadata as
15 necessary).
16 If no package atoms are specified then all will be updated. See ebuild(5)
17 for the details on package atom syntax.
18 .TP
19 .BR "\-\-update\-changelogs"
20 Update the ChangeLog files from SCM logs (supported only in git repos).
21 .TP
22 .BR "\-\-update\-use\-local\-desc"
23 Update the \fIprofiles/use.local.desc\fR file from metadata.xml.
24 .TP
25 .BR "\-\-update\-manifests"
26 Update manifest files, and sign them if signing is enabled. This supports
27 parallelization if enabled via the \-\-jobs option. The \-\-thin\-manifests
28 and \-\-sign\-manifests options may be used to manually override layout.conf
29 settings.
30 .SH OPTIONS
31 .TP
32 .BR "\-\-cache\-dir=CACHE_DIR"
33 Location of the intermediate metadata cache which is stored in a different
34 format that includes eclass state. See the \fBBUGS\fR section for
35 information about why this is necessary.
36 .br
37 Defaults to /var/cache/edb/dep.
38 .TP
39 .BR "\-\-config\-root=PORTAGE_CONFIGROOT"
40 Location of portage config files.
41 .br
42 Defaults to /.
43 .TP
44 .BR "\-\-gpg\-dir"
45 Override the PORTAGE_GPG_DIR variable.
46 .TP
47 .BR "\-\-gpg\-key"
48 Override the PORTAGE_GPG_KEY variable.
49 .TP
50 .BR "\-\-ignore-default-opts"
51 Causes \fIEGENCACHE_DEFAULT_OPTS\fR to be ignored.
52 .TP
53 .BR "\-\-jobs=JOBS"
54 Specifies the maximum number of ebuild processes to spawn simultaneously.
55 Also see the related \fB\-\-load\-average\fR option.
56 .TP
57 .BR \-\-load\-average=LOAD
58 Specifies that maximum load allowed when spawning multiple jobs.
59 .TP
60 .BR "\-\-portdir=PORTDIR"
61 Override the PORTDIR variable. This option is deprecated in favor of
62 \-\-repositories\-configuration option.
63 .TP
64 .BR "\-\-portdir\-overlay=PORTDIR_OVERLAY"
65 Override the PORTDIR_OVERLAY variable. This option is deprecated in favor of
66 \-\-repositories\-configuration option.
67 .TP
68 .BR "\-\-preserve\-comments"
69 Preserve the comments found in the output use.local.desc file. This requires
70 the output file to exist before egencache is called.
71 .TP
72 .BR "\-\-repo=REPO"
73 Name of the repo to operate on. The name should correspond the value of
74 a \fBrepo_name\fR entry (see \fBportage\fR(5)) from one of the repositories.
75 .TP
76 .BR "\-\-repositories\-configuration=REPOSITORIES_CONFIGURATION"
77 Override configuration of repositories. The argument of this option has
78 the same format as repos.conf (see \fBportage\fR(5)).
79 .TP
80 .BR "\-\-rsync"
81 When used together with the \fB\-\-update\fR action, this enables a workaround
82 for cases in which the content of a cache entry changes and neither the file
83 mtime nor size changes, preventing rsync from detecting changes. Such cases are
84 handled by bumping the mtime on the ebuild (and the corresponding cache entry).
85 This option should only be needed for distribution via something like
86 \fBrsync\fR(1), which relies on timestamps and file sizes to detect changes
87 (see \fBbug 139134\fR). It's not needed with \fBgit\fR(1) since that uses a
88 more thorough mechanism which allows it to detect changed inode numbers
89 (described in \fIracy-git.txt\fR in the git technical docs).
90 .TP
91 .BR "\-\-sign\-manifests< y | n >"
92 Manually override layout.conf sign-manifests setting.
93 .TP
94 .BR "\-\-strict\-manifests< y | n >"
95 Manually override "strict" FEATURES setting.
96 .TP
97 .BR "\-\-thin\-manifests< y | n >"
98 Manually override layout.conf thin-manifests setting.
99 .TP
100 .BR "\-\-tolerant"
101 Exit successfully if only minor errors occurred, such as skipped cache
102 updates due to ebuilds that either fail to source or are not sourced
103 due to invalid Manifest entries.
104 .TP
105 .BR "\-\-use\-local\-desc\-output=ULD_OUTPUT"
106 output file for use.local.desc data (or '-' for stdout)
107 .SH "ENVIRONMENT OPTIONS"
108 .TP
109 \fBEGENCACHE_DEFAULT_OPTS\fR
110 If this variable is set in \fBmake.conf\fR(5) then any options that it
111 contains will be added to the beginning of the command line on every
112 invocation. These options will not be added if the
113 \fB\-\-ignore-default\-opts\fR option is specified.
114 .SH "BUGS"
115 Prior to portage-2.1.11.32, the 'pms' cache format was enabled by default.
116 This 'pms' format, which is distributed in the \fImetadata/cache/\fR
117 directory of the repository, has significant limitations related to the
118 cache validation mechanism which involves comparison of
119 a cache entry mtime to the mtime of the corresponding \fBebuild(5)\fR. This
120 mechanism is unreliable in cases when eclass changes result in metadata
121 changes, since no information about eclass state is available in the cache.
122 Also, since the mtime of the cache entry must correspond to that of the
123 ebuild, the cache format is only suitable for distribution via protocols
124 that preserve timestamps (such as \fBrsync(1))\fR. For cache that is
125 distributed via \fBgit(1)\fR repositories, there is currently a workaround
126 implemented in \fBemerge\fR(1) \fB\-\-sync\fR which updates ebuild mtimes
127 to match their corresponding cache entries (except for ebuilds that are
128 modified relative to HEAD).
129
130 In order to solve the above problems, the newer 'md5-dict' format has been
131 enabled by default since portage-2.1.11.32. This format is distributed in
132 the \fImetadata/md5-cache/\fR directory of the repository, and includes
133 additional validation data in the form of digests for both the ebuild
134 and its inherited eclasses. \fBWARNING:\fR Portage versions prior to
135 portage-2.1.11.14 will \fBNOT\fR recognize the 'md5-dict' format unless it is
136 explicitly listed in \fImetadata/layout.conf\fR (refer to \fBportage\fR(5)
137 for example usage).
138
139 \fBWARNING:\fR For backward compatibility, the obsolete 'pms' cache format
140 will still be generated by default if the \fImetadata/cache/\fR directory
141 exists in the repository. It can also be explicitly enabled via the
142 cache\-formats setting in \fImetadata/layout.conf\fR (refer to \fBportage\fR(5)
143 for example usage). If the 'pms' cache format is enabled and the 'md5-dict'
144 format is not enabled, then it is necessary to enable
145 \fBmetadata-transfer\fR in \fBFEATURES\fR (see \fBmake.conf(5)\fR).
146 This causes intermediate cache (in a different format that includes
147 eclass state) to be generated inside the directory which is configurable
148 via the \fB\-\-cache\-dir\fR option.
149 .SH "REPORTING BUGS"
150 Please report bugs via http://bugs.gentoo.org/
151 .SH "AUTHORS"
152 .nf
153 Zac Medico <zmedico@gentoo.org>
154 Arfrever Frehtes Taifersar Arahesis <arfrever@apache.org>
155 .fi
156 .SH "FILES"
157 .TP
158 .B /etc/portage/make.conf
159 Contains variables.
160 .SH "SEE ALSO"
161 .BR emerge (1),
162 .BR make.conf (5),
163 .BR portage (5)