Add a new 'metadata.warning' category and a check which detects local USE
[portage.git] / man / repoman.1
1 .TH "REPOMAN" "1" "Aug 2008" "Portage 2.2" "Portage"
2 .SH NAME
3 repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree
4 .SH SYNOPSIS
5 \fBrepoman\fR [\fIoption\fR] [\fImode\fR]
6 .SH DESCRIPTION
7 .BR "Quality is job zero."
8
9 .BR repoman
10 is meant for Gentoo developers only due to the fact it does not work on a per-ebuild basis.
11 It checks the quality of CVS repositories.
12
13 Note: \fBrepoman commit\fR only works \fIinside local\fR CVS repositories.
14 .SH OPTIONS
15 .TP
16 \fB--force\fR
17 Force commit to proceed, regardless of QA issues. For convenience, this option
18 causes the most time consuming QA checks to be skipped. The commit message will
19 include an indication that this option has been enabled, together with the
20 usual portage version stamp.
21 .TP
22 \fB-q\fR, \fB--quiet\fR
23 Be less verbose about extraneous info
24 .TP
25 \fB-p\fR, \fB--pretend\fR
26 Don't commit or fix anything; just show what would be done
27 .TP
28 \fB-x\fR, \fB--xmlparse\fR
29 Forces the metadata.xml parse check to be carried out
30 .TP
31 \fB-v\fR, \fB--verbose\fR
32 Displays every package name while checking
33 .TP
34 \fB\-i\fR, \fB\-\-ignore\-arches\fR
35 Ignore arch-specific failures (where arch != host)
36 .TP
37 \fB\-I\fR, \fB\-\-ignore\-masked\fR
38 Ignore masked packages (not allowed with commit mode)
39 .TP
40 \fB\-d\fR, \fB\-\-include\-dev\fR
41 Include dev profiles in dependency checks.
42 .TP
43 \fB\-\-without\-mask\fR
44 Behave as if no package.mask entries exist (not allowed with commit mode)
45 .TP
46 \fB-m\fR, \fB--commitmsg\fR
47 Adds a commit message via the command line
48 .TP
49 \fB-M\fR, \fB--commitmsgfile\fR
50 Adds a commit message from the specified file
51 .TP
52 \fB-V\fR, \fB--version\fR
53 Show version info
54 .TP
55 \fB-h\fR, \fB--help\fR
56 Show this screen
57 .SH MODES
58 .TP
59 .B full
60 Scan directory tree for QA issues (full listing)
61 .TP
62 .B help
63 Show this screen
64 .TP
65 .B scan
66 Scan directory tree for QA issues (short listing)
67 .TP
68 .B fix
69 Fix simple QA issues (stray digests, missing digests)
70 .TP
71 .B manifest
72 Generate a Manifest (fetches files if necessary)
73 .TP
74 .B commit
75 Scan directory tree for QA issues; if OK, commit via cvs
76 .SH QA KEYWORDS
77 .TP
78 .B CVS/Entries.IO_error
79 Attempting to commit, and an IO error was encountered access the Entries file
80 .TP
81 .B DEPEND.bad
82 User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds)
83 .TP
84 .B DEPEND.badindev
85 User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds) in developing arch
86 .TP
87 .B DEPEND.badmasked
88 Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds)
89 .TP
90 .B DEPEND.badmaskedindev
91 Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds) in developing arch
92 .TP
93 .B DEPEND.syntax
94 Syntax error in DEPEND (usually an extra/missing space/parenthesis)
95 .TP
96 .B DESCRIPTION.missing
97 Ebuilds that have a missing or empty DESCRIPTION variable
98 .TP
99 .B EAPI.incompatible
100 Ebuilds that use features that are only available with a different EAPI
101 .TP
102 .B EAPI.unsupported
103 Ebuilds that have an unsupported EAPI version (you must upgrade portage)
104 .TP
105 .B HOMEPAGE.missing
106 Ebuilds that have a missing or empty HOMEPAGE variable
107 .TP
108 .B IUSE.invalid
109 This build has a variable in IUSE that is not in the use.desc or use.local.desc file
110 .TP
111 .B IUSE.undefined
112 This ebuild does not define IUSE (style guideline says to define IUSE even when empty)
113 .TP
114 .B KEYWORDS.dropped
115 Ebuilds that appear to have dropped KEYWORDS for some arch
116 .TP
117 .B KEYWORDS.invalid
118 This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found
119 .TP
120 .B KEYWORDS.missing
121 Ebuilds that have a missing or empty KEYWORDS variable
122 .TP
123 .B KEYWORDS.stable
124 Ebuilds that have been added directly with stable KEYWORDS
125 .TP
126 .B KEYWORDS.stupid
127 Ebuilds that use KEYWORDS=-* instead of package.mask
128 .TP
129 .B LICENSE.invalid
130 This ebuild is listing a license that doesnt exist in portages license/ dir.
131 .TP
132 .B LICENSE.missing
133 Ebuilds that have a missing or empty LICENSE variable
134 .TP
135 .B LICENSE.syntax
136 Syntax error in LICENSE (usually an extra/missing space/parenthesis)
137 .TP
138 .B LIVEVCS.stable
139 Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable keywords.
140 .TP
141 .B PDEPEND.bad
142 User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds)
143 .TP
144 .B PDEPEND.badindev
145 User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds) in developing arch
146 .TP
147 .B PDEPEND.badmasked
148 Masked ebuilds with PDEPEND settings (matched against *all* ebuilds)
149 .TP
150 .B PDEPEND.badmaskedindev
151 Masked ebuilds with PDEPEND settings (matched against *all* ebuilds) in developing arch
152 .TP
153 .B PDEPEND.syntax
154 Syntax error in PDEPEND (usually an extra/missing space/parenthesis)
155 .TP
156 .B PROVIDE.syntax
157 Syntax error in PROVIDE (usually an extra/missing space/parenthesis)
158 .TP
159 .B RDEPEND.bad
160 User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds)
161 .TP
162 .B RDEPEND.badindev
163 User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds) in developing arch
164 .TP
165 .B RDEPEND.badmasked
166 Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)
167 .TP
168 .B RDEPEND.badmaskedindev
169 Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch
170 .TP
171 .B RDEPEND.suspect
172 RDEPEND contains a package that usually only belongs in DEPEND
173 .TP
174 .B RDEPEND.syntax
175 Syntax error in RDEPEND (usually an extra/missing space/parenthesis)
176 .TP
177 .B PROPERTIES.syntax
178 Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)
179 .TP
180 .B RESTRICT.syntax
181 Syntax error in RESTRICT (usually an extra/missing space/parenthesis)
182 .TP
183 .B SLOT.missing
184 Ebuilds that have a missing or empty SLOT variable
185 .TP
186 .B SRC_URI.mirror
187 A uri listed in profiles/thirdpartymirrors is found in SRC_URI
188 .TP
189 .B changelog.ebuildadded
190 An ebuild was added but the ChangeLog was not modified
191 .TP
192 .B changelog.missing
193 Missing ChangeLog files
194 .TP
195 .B changelog.notadded
196 ChangeLogs that exist but have not been added to cvs
197 .TP
198 .B digest.assumed
199 Existing digest must be assumed correct (Package level only)
200 .TP
201 .B ebuild.allmasked
202 All ebuilds are masked for this package (Package level only)
203 .TP
204 .B ebuild.badheader
205 This ebuild has a malformed header
206 .TP
207 .B ebuild.invalidname
208 Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions)
209 .TP
210 .B ebuild.majorsyn
211 This ebuild has a major syntax error that may cause the ebuild to fail partially or fully
212 .TP
213 .B ebuild.minorsyn
214 This ebuild has a minor syntax error that contravenes gentoo coding style
215 .TP
216 .B ebuild.namenomatch
217 Ebuild files that do not have the same name as their parent directory
218 .TP
219 .B ebuild.nesteddie
220 Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild.
221 .TP
222 .B ebuild.nostable
223 There are no ebuilds that are marked as stable for your ARCH
224 .TP
225 .B ebuild.notadded
226 Ebuilds that exist but have not been added to cvs
227 .TP
228 .B ebuild.output
229 A simple sourcing of the ebuild produces output; this breaks ebuild policy.
230 .TP
231 .B ebuild.patches
232 PATCHES variable should be a bash array to ensure white space safety
233 .TP
234 .B ebuild.syntax
235 Error generating cache entry for ebuild; typically caused by ebuild syntax error
236 or digest verification failure.
237 .TP
238 .B file.UTF8
239 File is not UTF8 compliant
240 .TP
241 .B file.executable
242 Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit
243 .TP
244 .B file.name
245 File/dir name must be composed of only the following chars: a-zA-Z0-9._-+:
246 .TP
247 .B file.size
248 Files in the files directory must be under 20k
249 .TP
250 .B filedir.missing
251 Package lacks a files directory
252 .TP
253 .B inherit.autotools
254 Ebuild inherits autotools but does not call eautomake, eautoconf or eautoreconf
255 .TP
256 .B java.eclassesnotused
257 With virtual/jdk in DEPEND you must inherit a java eclass. Refer to
258 \fIhttp://www.gentoo.org/proj/en/java/java\-devel.xml\fR for more information.
259 .TP
260 .B metadata.bad
261 Bad metadata.xml files
262 .TP
263 .B metadata.missing
264 Missing metadata.xml files
265 .TP
266 .B metadata.warning
267 Warnings in metadata.xml files
268 .TP
269 .B upstream.workaround
270 The ebuild works around an upstream bug, an upstream bug should be filed and
271 tracked in bugs.gentoo.org
272 .TP
273 .B usage.obsolete
274 The ebuild makes use of an obsolete construct
275 .TP
276 .B variable.invalidchar
277 A variable contains an invalid character that is not part of the ASCII
278 character set.
279 .TP
280 .B variable.readonly
281 Assigning a readonly variable
282 .TP
283 .B virtual.exists
284 PROVIDE contains existing package names
285 .TP
286 .B virtual.unavailable
287 PROVIDE contains a virtual which contains no profile default
288 .TP
289 .B virtual.versioned
290 PROVIDE contains virtuals with versions
291 .SH "REPORTING BUGS"
292 Please report bugs via http://bugs.gentoo.org/
293 .SH AUTHORS
294 .nf
295 Daniel Robbins <drobbins@gentoo.org>
296 Saleem Abdulrasool <compnerd@gentoo.org>
297 .fi
298 .SH "SEE ALSO"
299 .BR emerge (1)