1 .TH "REPOMAN" "1" "May 2013" "Portage VERSION" "Portage"
3 repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
5 \fBrepoman\fR [\fIoption\fR] [\fImode\fR]
7 .BR "Quality is job zero."
10 checks the quality of ebuild repositories.
12 Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or subversion repositories.
16 Request a confirmation before commiting
18 \fB\-\-digest=<y|n>\fR
19 Automatically update Manifest digests for modified files. This
20 option triggers a behavior that is very similar to that enabled
21 by FEATURES="digest" in \fBmake.conf\fR(5). In order to enable
22 this behavior by default for repoman alone, add
23 \fB\-\-digest=y\fR to the \fIREPOMAN_DEFAULT_OPTS\fR variable in
24 \fBmake.conf\fR(5). The \fBmanifest\-check\fR mode will
25 automatically ignore the \-\-digest option.
28 This option does not trigger update of digests for Manifest DIST
29 entries that already exist. Replacement of existing Manifest
30 DIST entries can be forced by using the \fBmanifest\fR mode
31 together with the \fB\-\-force\fR option.
34 Force commit to proceed, regardless of QA issues. For convenience, this option
35 causes the most time consuming QA checks to be skipped. The commit message will
36 include an indication that this option has been enabled, together with the
37 usual portage version stamp.
39 When used together with \fBmanifest\fR mode, \fB--force\fR causes existing
40 digests to be replaced for any files that exist in ${DISTDIR}.
41 Existing digests are assumed to be correct for files that would otherwise
42 have to be downloaded in order to recompute digests. \fBWARNING:\fR When
43 replacing existing digests, it is the user's responsibility to ensure that
44 files contained in ${DISTDIR} have the correct identities. Especially beware
45 of partially downloaded files.
47 \fB-q\fR, \fB--quiet\fR
48 Be less verbose about extraneous info
50 \fB-p\fR, \fB--pretend\fR
51 Don't commit or fix anything; just show what would be done
53 \fB-x\fR, \fB--xmlparse\fR
54 Forces the metadata.xml parse check to be carried out
56 \fB-v\fR, \fB--verbose\fR
57 Displays every package name while checking
59 \fB\-\-echangelog=<y|n|force>\fR
60 For commit mode, call echangelog if ChangeLog is unmodified (or
61 regardless of modification if 'force' is specified). This option
62 can be enabled by default for a particular repository by setting
63 "update\-changelog = true" in metadata/layout.conf (see
66 \fB\-\-if\-modified=<y|n>\fR
67 Only check packages that have uncommitted modifications
69 \fB\-i\fR, \fB\-\-ignore\-arches\fR
70 Ignore arch-specific failures (where arch != host)
72 \fB\-\-ignore\-default\-opts\fR
73 Do not use the \fIREPOMAN_DEFAULT_OPTS\fR environment variable.
75 \fB\-I\fR, \fB\-\-ignore\-masked\fR
76 Ignore masked packages (not allowed with commit mode)
78 .BR "\-\-include\-arches " ARCHES
79 A space separated list of arches used to filter the selection of
80 profiles for dependency checks.
82 \fB\-d\fR, \fB\-\-include\-dev\fR
83 Include dev profiles in dependency checks.
85 \fB\-\-unmatched\-removal\fR
86 Enable strict checking of package.mask and package.unmask files for
87 unmatched removal atoms.
89 \fB\-\-without\-mask\fR
90 Behave as if no package.mask entries exist (not allowed with commit mode)
92 \fB-m\fR, \fB--commitmsg\fR
93 Adds a commit message via the command line
95 \fB-M\fR, \fB--commitmsgfile\fR
96 Adds a commit message from the specified file
98 \fB-V\fR, \fB--version\fR
101 \fB-h\fR, \fB--help\fR
106 Scan directory tree for QA issues (full listing)
112 Scan directory tree for QA issues (short listing)
115 Fix simple QA issues (stray digests, missing digests)
118 Generate a Manifest (fetches distfiles if necessary). See the \fB\-\-force\fR
119 option if you would like to replace existing distfiles digests.
122 Check Manifests for missing or incorrect digests
125 Scan directory tree for QA issues; if OK, commit via cvs
128 .B CVS/Entries.IO_error
129 Attempting to commit, and an IO error was encountered access the Entries file
131 .B DESCRIPTION.missing
132 Ebuilds that have a missing or empty DESCRIPTION variable
135 EAPI definition does not conform to PMS section 7.3.1 (first
136 non\-comment, non\-blank line). See bug #402167.
139 Ebuilds that use features that are deprecated in the current EAPI
142 Ebuilds that use features that are only available with a different EAPI
145 Ebuilds that have an unsupported EAPI version (you must upgrade portage)
148 Ebuilds that have a missing or empty HOMEPAGE variable
151 Virtuals that have a non-empty HOMEPAGE variable
154 This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file
157 This ebuild has a USE conditional which references a flag that is not listed in IUSE
160 Ebuilds that appear to have dropped KEYWORDS for some arch
163 This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found
166 Ebuilds that have a missing or empty KEYWORDS variable
169 Ebuilds that have been added directly with stable KEYWORDS
172 Ebuilds that use KEYWORDS=-* instead of package.mask
174 .B LICENSE.deprecated
175 This ebuild is listing a deprecated license.
178 This ebuild is listing a license that doesnt exist in portages license/ dir.
181 Ebuilds that have a missing or empty LICENSE variable
184 Syntax error in LICENSE (usually an extra/missing space/parenthesis)
187 Virtuals that have a non-empty LICENSE variable
190 Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable keywords.
193 Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout but has keywords
194 and is not masked in the global package.mask.
197 PDEPEND contains a package that usually only belongs in DEPEND
200 Syntax error in PROVIDE (usually an extra/missing space/parenthesis)
203 RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND
204 assignment (prior to EAPI 4)
207 RDEPEND contains a package that usually only belongs in DEPEND
210 Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)
213 Syntax error in RESTRICT (usually an extra/missing space/parenthesis)
215 Ebuilds that have a missing or invalid SLOT variable value
218 A uri listed in profiles/thirdpartymirrors is found in SRC_URI
220 .B changelog.ebuildadded
221 An ebuild was added but the ChangeLog was not modified
224 Missing ChangeLog files
226 .B changelog.notadded
227 ChangeLogs that exist but have not been added to cvs
230 User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds)
232 .B dependency.badindev
233 User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds) in developing arch
235 .B dependency.badmasked
236 Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds)
238 .B dependency.badmaskedindev
239 Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds) in developing arch
241 .B dependency.badtilde
242 Uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)
245 Syntax error in dependency string (usually an extra/missing space/parenthesis)
247 .B dependency.unknown
248 Ebuild has a dependency that refers to an unknown package (which may be
249 valid if it is a blocker for a renamed/removed package, or is an
250 alternative choice provided by an overlay)
253 Existing digest must be assumed correct (Package level only)
256 Some files listed in SRC_URI aren't referenced in the Manifest
259 Some files listed in the Manifest aren't referenced in SRC_URI
262 This ebuild has a malformed header
264 .B ebuild.invalidname
265 Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions)
268 This ebuild has a major syntax error that may cause the ebuild to fail partially or fully
271 This ebuild has a minor syntax error that contravenes gentoo coding style
273 .B ebuild.namenomatch
274 Ebuild files that do not have the same name as their parent directory
277 Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild.
280 Ebuilds that exist but have not been added to cvs
283 A simple sourcing of the ebuild produces output; this breaks ebuild policy.
286 PATCHES variable should be a bash array to ensure white space safety
289 Error generating cache entry for ebuild; typically caused by ebuild syntax error
290 or digest verification failure.
293 File is not UTF8 compliant
296 Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit
299 File/dir name must be composed of only the following chars: a-zA-Z0-9._-+:
302 Files in the files directory must be under 20k
305 Ebuild uses functions from an eclass but does not inherit it
308 Ebuild inherits an eclass but does not use it
310 .B inherit.deprecated
311 Ebuild inherits a deprecated eclass
313 .B java.eclassesnotused
314 With virtual/jdk in DEPEND you must inherit a java eclass. Refer to
315 \fIhttp://www.gentoo.org/proj/en/java/java\-devel.xml\fR for more information.
318 Manifest has missing or incorrect digests
321 Bad metadata.xml files
324 Missing metadata.xml files
327 Warnings in metadata.xml files
330 The ebuild uses an EAPI which is banned by the repository's
331 metadata/layout.conf settings.
333 .B repo.eapi.deprecated
334 The ebuild uses an EAPI which is deprecated by the repository's
335 metadata/layout.conf settings.
338 The ebuild uses an internal Portage function or variable
340 .B upstream.workaround
341 The ebuild works around an upstream bug, an upstream bug should be filed and
342 tracked in bugs.gentoo.org
345 The ebuild makes use of an obsolete construct
347 .B variable.invalidchar
348 A variable contains an invalid character that is not part of the ASCII
352 Assigning a readonly variable
354 .B variable.usedwithhelpers
355 Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers
358 The ebuild PROVIDEs an old-style virtual (see GLEP 37). This is an error
359 unless "allow\-provide\-virtuals = true" is set in metadata/layout.conf.
362 Ebuild contains a package that usually should be pulled via virtual/,
365 .B wxwidgets.eclassnotused
366 Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass. Refer to
367 bug #305469 for more information.
369 Please report bugs via http://bugs.gentoo.org/
372 Daniel Robbins <drobbins@gentoo.org>
373 Saleem Abdulrasool <compnerd@gentoo.org>