ebuild: fetch: Flatten conditionals in _get_fetch_resume_size
[portage.git] / man / repoman.1
1 .TH "REPOMAN" "1" "Aug 2013" "Portage VERSION" "Portage"
2 .SH NAME
3 repoman \- Gentoo's program to enforce a minimal level of quality assurance in
4 packages added to the portage tree
5 .SH SYNOPSIS
6 \fBrepoman\fR [\fIoption\fR] [\fImode\fR]
7 .SH DESCRIPTION
8 .BR "Quality is job zero."
9
10 .BR repoman
11 checks the quality of ebuild repositories.
12
13 Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or
14 subversion repositories.
15 .SH OPTIONS
16 .TP
17 \fB-a\fR, \fB--ask\fR
18 Request a confirmation before commiting
19 .TP
20 \fB\-\-digest=<y|n>\fR
21 Automatically update Manifest digests for modified files. This
22 option triggers a behavior that is very similar to that enabled
23 by FEATURES="digest" in \fBmake.conf\fR(5). In order to enable
24 this behavior by default for repoman alone, add
25 \fB\-\-digest=y\fR to the \fIREPOMAN_DEFAULT_OPTS\fR variable in
26 \fBmake.conf\fR(5). The \fBmanifest\-check\fR mode will
27 automatically ignore the \-\-digest option.
28
29 \fBNOTE:\fR
30 This option does not trigger update of digests for Manifest DIST
31 entries that already exist. Replacement of existing Manifest
32 DIST entries can be forced by using the \fBmanifest\fR mode
33 together with the \fB\-\-force\fR option.
34 .TP
35 \fB--force\fR
36 Force commit to proceed, regardless of QA issues. For convenience, this option
37 causes the most time consuming QA checks to be skipped. The commit message will
38 include an indication that this option has been enabled, together with the
39 usual portage version stamp.
40
41 When used together with \fBmanifest\fR mode, \fB--force\fR causes existing
42 digests to be replaced for any files that exist in ${DISTDIR}.
43 Existing digests are assumed to be correct for files that would otherwise
44 have to be downloaded in order to recompute digests. \fBWARNING:\fR When
45 replacing existing digests, it is the user's responsibility to ensure that
46 files contained in ${DISTDIR} have the correct identities. Especially beware
47 of partially downloaded files.
48 .TP
49 \fB-q\fR, \fB--quiet\fR
50 Be less verbose about extraneous info
51 .TP
52 \fB-p\fR, \fB--pretend\fR
53 Don't commit or fix anything; just show what would be done
54 .TP
55 \fB-x\fR, \fB--xmlparse\fR
56 Forces the metadata.xml parse check to be carried out
57 .TP
58 \fB-v\fR, \fB--verbose\fR
59 Displays every package name while checking
60 .TP
61 \fB\-\-echangelog=<y|n|force>\fR
62 For commit mode, call echangelog if ChangeLog is unmodified (or
63 regardless of modification if 'force' is specified). This option
64 can be enabled by default for a particular repository by setting
65 "update\-changelog = true" in metadata/layout.conf (see
66 \fBportage(5)\fR).
67 .TP
68 \fB\-\-experimental\-inherit=<y|n>\fR
69 Enable experimental inherit.missing checks which may misbehave when the
70 internal eclass database becomes outdated.
71 .TP
72 \fB\-\-if\-modified=<y|n>\fR
73 Only check packages that have uncommitted modifications
74 .TP
75 \fB\-i\fR, \fB\-\-ignore\-arches\fR
76 Ignore arch-specific failures (where arch != host)
77 .TP
78 \fB\-\-ignore\-default\-opts\fR
79 Do not use the \fIREPOMAN_DEFAULT_OPTS\fR environment variable.
80 .TP
81 \fB\-I\fR, \fB\-\-ignore\-masked\fR
82 Ignore masked packages (not allowed with commit mode)
83 .TP
84 .BR "\-\-include\-arches " ARCHES
85 A space separated list of arches used to filter the selection of
86 profiles for dependency checks.
87 .TP
88 \fB\-d\fR, \fB\-\-include\-dev\fR
89 Include dev profiles in dependency checks.
90 .TP
91 \fB\-e <y|n>\fR, \fB\-\-include\-exp\-profiles=<y|n>\fR
92 Include exp profiles in dependency checks.
93 .TP
94 \fB\-\-unmatched\-removal\fR
95 Enable strict checking of package.mask and package.unmask files for
96 unmatched removal atoms.
97 .TP
98 \fB\-\-without\-mask\fR
99 Behave as if no package.mask entries exist (not allowed with commit mode)
100 .TP
101 \fB-m\fR, \fB--commitmsg\fR
102 Adds a commit message via the command line
103 .TP
104 \fB-M\fR, \fB--commitmsgfile\fR
105 Adds a commit message from the specified file
106 .TP
107 \fB-V\fR, \fB--version\fR
108 Show version info
109 .TP
110 \fB-h\fR, \fB--help\fR
111 Show this screen
112 .SH MODES
113 .TP
114 .B full
115 Scan directory tree for QA issues (full listing)
116 .TP
117 .B help
118 Show this screen
119 .TP
120 .B scan
121 Scan directory tree for QA issues (short listing)
122 .TP
123 .B fix
124 Fix simple QA issues (stray digests, missing digests)
125 .TP
126 .B manifest
127 Generate a Manifest (fetches distfiles if necessary). See the \fB\-\-force\fR
128 option if you would like to replace existing distfiles digests.
129 .TP
130 .B manifest-check
131 Check Manifests for missing or incorrect digests
132 .TP
133 .B commit
134 Scan directory tree for QA issues; if OK, commit via cvs
135 .SH QA KEYWORDS
136 .TP
137 .B CVS/Entries.IO_error
138 Attempting to commit, and an IO error was encountered access the Entries file
139 .TP
140 .B DESCRIPTION.missing
141 Ebuilds that have a missing or empty DESCRIPTION variable
142 .TP
143 .B EAPI.definition
144 EAPI definition does not conform to PMS section 7.3.1 (first
145 non\-comment, non\-blank line). See bug #402167.
146 .TP
147 .B EAPI.deprecated
148 Ebuilds that use features that are deprecated in the current EAPI
149 .TP
150 .B EAPI.incompatible
151 Ebuilds that use features that are only available with a different EAPI
152 .TP
153 .B EAPI.unsupported
154 Ebuilds that have an unsupported EAPI version (you must upgrade portage)
155 .TP
156 .B HOMEPAGE.missing
157 Ebuilds that have a missing or empty HOMEPAGE variable
158 .TP
159 .B HOMEPAGE.virtual
160 Virtuals that have a non-empty HOMEPAGE variable
161 .TP
162 .B IUSE.invalid
163 This ebuild has a variable in IUSE that is not in the use.desc or its
164 metadata.xml file
165 .TP
166 .B IUSE.missing
167 This ebuild has a USE conditional which references a flag that is not listed in
168 IUSE
169 .TP
170 .B KEYWORDS.dropped
171 Ebuilds that appear to have dropped KEYWORDS for some arch
172 .TP
173 .B KEYWORDS.invalid
174 This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for
175 which no valid profile was found
176 .TP
177 .B KEYWORDS.missing
178 Ebuilds that have a missing or empty KEYWORDS variable
179 .TP
180 .B KEYWORDS.stable
181 Ebuilds that have been added directly with stable KEYWORDS
182 .TP
183 .B KEYWORDS.stupid
184 Ebuilds that use KEYWORDS=-* instead of package.mask
185 .TP
186 .B LICENSE.deprecated
187 This ebuild is listing a deprecated license.
188 .TP
189 .B LICENSE.invalid
190 This ebuild is listing a license that doesnt exist in portages license/ dir.
191 .TP
192 .B LICENSE.missing
193 Ebuilds that have a missing or empty LICENSE variable
194 .TP
195 .B LICENSE.syntax
196 Syntax error in LICENSE (usually an extra/missing space/parenthesis)
197 .TP
198 .B LICENSE.virtual
199 Virtuals that have a non-empty LICENSE variable
200 .TP
201 .B LIVEVCS.stable
202 Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable
203 keywords.
204 .TP
205 .B LIVEVCS.unmasked
206 Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout but has keywords
207 and is not masked in the global package.mask.
208 .TP
209 .B PDEPEND.suspect
210 PDEPEND contains a package that usually only belongs in DEPEND
211 .TP
212 .B PROVIDE.syntax
213 Syntax error in PROVIDE (usually an extra/missing space/parenthesis)
214 .TP
215 .B RDEPEND.implicit
216 RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND
217 assignment (prior to EAPI 4)
218 .TP
219 .B RDEPEND.suspect
220 RDEPEND contains a package that usually only belongs in DEPEND
221 .TP
222 .B PROPERTIES.syntax
223 Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)
224 .TP
225 .B RESTRICT.syntax
226 Syntax error in RESTRICT (usually an extra/missing space/parenthesis)
227 .B SLOT.invalid
228 Ebuilds that have a missing or invalid SLOT variable value
229 .TP
230 .B SRC_URI.mirror
231 A uri listed in profiles/thirdpartymirrors is found in SRC_URI
232 .TP
233 .B changelog.ebuildadded
234 An ebuild was added but the ChangeLog was not modified
235 .TP
236 .B changelog.missing
237 Missing ChangeLog files
238 .TP
239 .B changelog.notadded
240 ChangeLogs that exist but have not been added to cvs
241 .TP
242 .B dependency.bad
243 User-visible ebuilds with unsatisfied dependencies (matched against *visible*
244 ebuilds)
245 .TP
246 .B dependency.badindev
247 User-visible ebuilds with unsatisfied dependencies (matched against *visible*
248 ebuilds) in developing arch
249 .TP
250 .B dependency.badmasked
251 Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds)
252 .TP
253 .B dependency.badmaskedindev
254 Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds) in
255 developing arch
256 .TP
257 .B dependency.badtilde
258 Uses the ~ dep operator with a non-zero revision part, which is useless (the
259 revision is ignored)
260 .TP
261 .B dependency.syntax
262 Syntax error in dependency string (usually an extra/missing space/parenthesis)
263 .TP
264 .B dependency.unknown
265 Ebuild has a dependency that refers to an unknown package (which may be
266 valid if it is a blocker for a renamed/removed package, or is an
267 alternative choice provided by an overlay)
268 .TP
269 .B digest.assumed
270 Existing digest must be assumed correct (Package level only)
271 .TP
272 .B digest.missing
273 Some files listed in SRC_URI aren't referenced in the Manifest
274 .TP
275 .B digest.unused
276 Some files listed in the Manifest aren't referenced in SRC_URI
277 .TP
278 .B ebuild.badheader
279 This ebuild has a malformed header
280 .TP
281 .B ebuild.invalidname
282 Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1
283 versioning extensions)
284 .TP
285 .B ebuild.majorsyn
286 This ebuild has a major syntax error that may cause the ebuild to fail
287 partially or fully
288 .TP
289 .B ebuild.minorsyn
290 This ebuild has a minor syntax error that contravenes gentoo coding style
291 .TP
292 .B ebuild.namenomatch
293 Ebuild files that do not have the same name as their parent directory
294 .TP
295 .B ebuild.nesteddie
296 Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild.
297 .TP
298 .B ebuild.notadded
299 Ebuilds that exist but have not been added to cvs
300 .TP
301 .B ebuild.output
302 A simple sourcing of the ebuild produces output; this breaks ebuild policy.
303 .TP
304 .B ebuild.patches
305 PATCHES variable should be a bash array to ensure white space safety
306 .TP
307 .B ebuild.syntax
308 Error generating cache entry for ebuild; typically caused by ebuild syntax
309 error or digest verification failure.
310 .TP
311 .B file.UTF8
312 File is not UTF8 compliant
313 .TP
314 .B file.executable
315 Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the
316 executable bit
317 .TP
318 .B file.name
319 File/dir name must be composed of only the following chars: a-zA-Z0-9._-+:
320 .TP
321 .B file.size
322 Files in the files directory must be under 20k
323 .TP
324 .B inherit.missing
325 Ebuild uses functions from an eclass but does not inherit it
326 .TP
327 .B inherit.unused
328 Ebuild inherits an eclass but does not use it
329 .TP
330 .B inherit.deprecated
331 Ebuild inherits a deprecated eclass
332 .TP
333 .B java.eclassesnotused
334 With virtual/jdk in DEPEND you must inherit a java eclass. Refer to
335 \fIhttp://www.gentoo.org/proj/en/java/java\-devel.xml\fR for more information.
336 .TP
337 .B manifest.bad
338 Manifest has missing or incorrect digests
339 .TP
340 .B metadata.bad
341 Bad metadata.xml files
342 .TP
343 .B metadata.missing
344 Missing metadata.xml files
345 .TP
346 .B metadata.warning
347 Warnings in metadata.xml files
348 .TP
349 .B repo.eapi.banned
350 The ebuild uses an EAPI which is banned by the repository's
351 metadata/layout.conf settings.
352 .TP
353 .B repo.eapi.deprecated
354 The ebuild uses an EAPI which is deprecated by the repository's
355 metadata/layout.conf settings.
356 .TP
357 .B IUSE.rubydeprecated
358 The ebuild has set a ruby interpreter in USE_RUBY, that is not available as a ruby target anymore
359 .TP
360 .B portage.internal
361 The ebuild uses an internal Portage function or variable
362 .TP
363 .B upstream.workaround
364 The ebuild works around an upstream bug, an upstream bug should be filed and
365 tracked in bugs.gentoo.org
366 .TP
367 .B usage.obsolete
368 The ebuild makes use of an obsolete construct
369 .TP
370 .B variable.invalidchar
371 A variable contains an invalid character that is not part of the ASCII
372 character set.
373 .TP
374 .B variable.readonly
375 Assigning a readonly variable
376 .TP
377 .B variable.usedwithhelpers
378 Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers
379 .TP
380 .B virtual.oldstyle
381 The ebuild PROVIDEs an old-style virtual (see GLEP 37). This is an error
382 unless "allow\-provide\-virtuals = true" is set in metadata/layout.conf.
383 .TP
384 .B virtual.suspect
385 Ebuild contains a package that usually should be pulled via virtual/,
386 not directly.
387 .TP
388 .B wxwidgets.eclassnotused
389 Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass. Refer to
390 bug #305469 for more information.
391 .SH "REPORTING BUGS"
392 Please report bugs via http://bugs.gentoo.org/
393 .SH AUTHORS
394 .nf
395 Daniel Robbins <drobbins@gentoo.org>
396 Saleem Abdulrasool <compnerd@gentoo.org>
397 .fi
398 .SH "SEE ALSO"
399 .BR emerge (1)