| .TH "REPOMAN" "1" "Feb 2011" "Portage VERSION" "Portage" |
| .SH NAME |
| repoman \- Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree |
| .SH SYNOPSIS |
| \fBrepoman\fR [\fIoption\fR] [\fImode\fR] |
| .SH DESCRIPTION |
| .BR "Quality is job zero." |
| |
| .BR repoman |
| checks the quality of ebuild repositories. |
| |
| Note: \fBrepoman commit\fR only works \fIinside local\fR cvs, git, or subversion repositories. |
| .SH OPTIONS |
| .TP |
| \fB-a\fR, \fB--ask\fR |
| Request a confirmation before commiting |
| .TP |
| \fB--force\fR |
| Force commit to proceed, regardless of QA issues. For convenience, this option |
| causes the most time consuming QA checks to be skipped. The commit message will |
| include an indication that this option has been enabled, together with the |
| usual portage version stamp. |
| |
| When used together with \fBmanifest\fR mode, \fB--force\fR causes existing |
| digests to be replaced for any files that exist in ${DISTDIR}. |
| Existing digests are assumed to be correct for files that would otherwise |
| have to be downloaded in order to recompute digests. \fBWARNING:\fR When |
| replacing existing digests, it is the user's responsibility to ensure that |
| files contained in ${DISTDIR} have the correct identities. Especially beware |
| of partially downloaded files. |
| .TP |
| \fB-q\fR, \fB--quiet\fR |
| Be less verbose about extraneous info |
| .TP |
| \fB-p\fR, \fB--pretend\fR |
| Don't commit or fix anything; just show what would be done |
| .TP |
| \fB-x\fR, \fB--xmlparse\fR |
| Forces the metadata.xml parse check to be carried out |
| .TP |
| \fB-v\fR, \fB--verbose\fR |
| Displays every package name while checking |
| .TP |
| \fB\-i\fR, \fB\-\-ignore\-arches\fR |
| Ignore arch-specific failures (where arch != host) |
| .TP |
| \fB\-I\fR, \fB\-\-ignore\-masked\fR |
| Ignore masked packages (not allowed with commit mode) |
| .TP |
| \fB\-d\fR, \fB\-\-include\-dev\fR |
| Include dev profiles in dependency checks. |
| .TP |
| \fB\-\-unmatched\-removal\fR |
| Enable strict checking of package.mask and package.unmask files for |
| unmatched removal atoms. |
| .TP |
| \fB\-\-without\-mask\fR |
| Behave as if no package.mask entries exist (not allowed with commit mode) |
| .TP |
| \fB-m\fR, \fB--commitmsg\fR |
| Adds a commit message via the command line |
| .TP |
| \fB-M\fR, \fB--commitmsgfile\fR |
| Adds a commit message from the specified file |
| .TP |
| \fB-V\fR, \fB--version\fR |
| Show version info |
| .TP |
| \fB-h\fR, \fB--help\fR |
| Show this screen |
| .SH MODES |
| .TP |
| .B full |
| Scan directory tree for QA issues (full listing) |
| .TP |
| .B help |
| Show this screen |
| .TP |
| .B scan |
| Scan directory tree for QA issues (short listing) |
| .TP |
| .B fix |
| Fix simple QA issues (stray digests, missing digests) |
| .TP |
| .B manifest |
| Generate a Manifest (fetches distfiles if necessary). See the \fB\-\-force\fR |
| option if you would like to replace existing distfiles digests. |
| .TP |
| .B manifest-check |
| Check Manifests for missing or incorrect digests |
| .TP |
| .B commit |
| Scan directory tree for QA issues; if OK, commit via cvs |
| .SH QA KEYWORDS |
| .TP |
| .B CVS/Entries.IO_error |
| Attempting to commit, and an IO error was encountered access the Entries file |
| .TP |
| .B DEPEND.bad |
| User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds) |
| .TP |
| .B DEPEND.badindev |
| User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds) in developing arch |
| .TP |
| .B DEPEND.badmasked |
| Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds) |
| .TP |
| .B DEPEND.badmaskedindev |
| Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds) in developing arch |
| .TP |
| .B DEPEND.badtilde |
| DEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored) |
| .TP |
| .B DEPEND.syntax |
| Syntax error in DEPEND (usually an extra/missing space/parenthesis) |
| .TP |
| .B DESCRIPTION.missing |
| Ebuilds that have a missing or empty DESCRIPTION variable |
| .TP |
| .B EAPI.definition |
| EAPI is defined after an inherit call (must be defined before) |
| .TP |
| .B EAPI.deprecated |
| Ebuilds that use features that are deprecated in the current EAPI |
| .TP |
| .B EAPI.incompatible |
| Ebuilds that use features that are only available with a different EAPI |
| .TP |
| .B EAPI.unsupported |
| Ebuilds that have an unsupported EAPI version (you must upgrade portage) |
| .TP |
| .B HOMEPAGE.missing |
| Ebuilds that have a missing or empty HOMEPAGE variable |
| .TP |
| .B HOMEPAGE.virtual |
| Virtuals that have a non-empty HOMEPAGE variable |
| .TP |
| .B IUSE.invalid |
| This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file |
| .TP |
| .B IUSE.missing |
| This ebuild has a USE conditional which references a flag that is not listed in IUSE |
| .TP |
| .B IUSE.undefined |
| This ebuild does not define IUSE (style guideline says to define IUSE even when empty) |
| .TP |
| .B KEYWORDS.dropped |
| Ebuilds that appear to have dropped KEYWORDS for some arch |
| .TP |
| .B KEYWORDS.invalid |
| This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found |
| .TP |
| .B KEYWORDS.missing |
| Ebuilds that have a missing or empty KEYWORDS variable |
| .TP |
| .B KEYWORDS.stable |
| Ebuilds that have been added directly with stable KEYWORDS |
| .TP |
| .B KEYWORDS.stupid |
| Ebuilds that use KEYWORDS=-* instead of package.mask |
| .TP |
| .B LICENSE.invalid |
| This ebuild is listing a license that doesnt exist in portages license/ dir. |
| .TP |
| .B LICENSE.missing |
| Ebuilds that have a missing or empty LICENSE variable |
| .TP |
| .B LICENSE.syntax |
| Syntax error in LICENSE (usually an extra/missing space/parenthesis) |
| .TP |
| .B LICENSE.virtual |
| Virtuals that have a non-empty LICENSE variable |
| .TP |
| .B LIVEVCS.stable |
| Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable keywords. |
| .TP |
| .B LIVEVCS.unmasked |
| Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout but has keywords |
| and is not masked in the global package.mask. |
| .TP |
| .B PDEPEND.bad |
| User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds) |
| .TP |
| .B PDEPEND.badindev |
| User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds) in developing arch |
| .TP |
| .B PDEPEND.badmasked |
| Masked ebuilds with PDEPEND settings (matched against *all* ebuilds) |
| .TP |
| .B PDEPEND.badmaskedindev |
| Masked ebuilds with PDEPEND settings (matched against *all* ebuilds) in developing arch |
| .TP |
| .B PDEPEND.badtilde |
| PDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored) |
| .TP |
| .B PDEPEND.suspect |
| PDEPEND contains a package that usually only belongs in DEPEND |
| .TP |
| .B PDEPEND.syntax |
| Syntax error in PDEPEND (usually an extra/missing space/parenthesis) |
| .TP |
| .B PROVIDE.syntax |
| Syntax error in PROVIDE (usually an extra/missing space/parenthesis) |
| .TP |
| .B RDEPEND.bad |
| User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds) |
| .TP |
| .B RDEPEND.badindev |
| User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds) in developing arch |
| .TP |
| .B RDEPEND.badmasked |
| Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) |
| .TP |
| .B RDEPEND.badmaskedindev |
| Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch |
| .TP |
| .B RDEPEND.badtilde |
| RDEPEND uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored) |
| .TP |
| .B RDEPEND.implicit |
| RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND |
| assignment (prior to EAPI 4) |
| .TP |
| .B RDEPEND.suspect |
| RDEPEND contains a package that usually only belongs in DEPEND |
| .TP |
| .B RDEPEND.syntax |
| Syntax error in RDEPEND (usually an extra/missing space/parenthesis) |
| .TP |
| .B PROPERTIES.syntax |
| Syntax error in PROPERTIES (usually an extra/missing space/parenthesis) |
| .TP |
| .B RESTRICT.syntax |
| Syntax error in RESTRICT (usually an extra/missing space/parenthesis) |
| .B SLOT.invalid |
| Ebuilds that have a missing or invalid SLOT variable value |
| .TP |
| .B SRC_URI.mirror |
| A uri listed in profiles/thirdpartymirrors is found in SRC_URI |
| .TP |
| .B changelog.ebuildadded |
| An ebuild was added but the ChangeLog was not modified |
| .TP |
| .B changelog.missing |
| Missing ChangeLog files |
| .TP |
| .B changelog.notadded |
| ChangeLogs that exist but have not been added to cvs |
| .TP |
| .B digest.assumed |
| Existing digest must be assumed correct (Package level only) |
| .TP |
| .B digest.missing |
| Some files listed in SRC_URI aren't referenced in the Manifest |
| .TP |
| .B digest.unused |
| Some files listed in the Manifest aren't referenced in SRC_URI |
| .TP |
| .B ebuild.allmasked |
| All ebuilds are masked for this package (Package level only) |
| .TP |
| .B ebuild.badheader |
| This ebuild has a malformed header |
| .TP |
| .B ebuild.invalidname |
| Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions) |
| .TP |
| .B ebuild.majorsyn |
| This ebuild has a major syntax error that may cause the ebuild to fail partially or fully |
| .TP |
| .B ebuild.minorsyn |
| This ebuild has a minor syntax error that contravenes gentoo coding style |
| .TP |
| .B ebuild.namenomatch |
| Ebuild files that do not have the same name as their parent directory |
| .TP |
| .B ebuild.nesteddie |
| Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild. |
| .TP |
| .B ebuild.nostable |
| There are no ebuilds that are marked as stable for your ARCH |
| .TP |
| .B ebuild.notadded |
| Ebuilds that exist but have not been added to cvs |
| .TP |
| .B ebuild.output |
| A simple sourcing of the ebuild produces output; this breaks ebuild policy. |
| .TP |
| .B ebuild.patches |
| PATCHES variable should be a bash array to ensure white space safety |
| .TP |
| .B ebuild.syntax |
| Error generating cache entry for ebuild; typically caused by ebuild syntax error |
| or digest verification failure. |
| .TP |
| .B eprefixify.defined |
| The ebuild uses eprefixify, but does not inherit the prefix eclass |
| .TP |
| .B file.UTF8 |
| File is not UTF8 compliant |
| .TP |
| .B file.executable |
| Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit |
| .TP |
| .B file.name |
| File/dir name must be composed of only the following chars: a-zA-Z0-9._-+: |
| .TP |
| .B file.size |
| Files in the files directory must be under 20k |
| .TP |
| .B inherit.autotools |
| Ebuild inherits autotools but does not call eautomake, eautoconf or eautoreconf |
| .TP |
| .B inherit.deprecated |
| Ebuild inherits a deprecated eclass |
| .TP |
| .B java.eclassesnotused |
| With virtual/jdk in DEPEND you must inherit a java eclass. Refer to |
| \fIhttp://www.gentoo.org/proj/en/java/java\-devel.xml\fR for more information. |
| .TP |
| .B manifest.bad |
| Manifest has missing or incorrect digests |
| .TP |
| .B metadata.bad |
| Bad metadata.xml files |
| .TP |
| .B metadata.missing |
| Missing metadata.xml files |
| .TP |
| .B metadata.warning |
| Warnings in metadata.xml files |
| .TP |
| .B upstream.workaround |
| The ebuild works around an upstream bug, an upstream bug should be filed and |
| tracked in bugs.gentoo.org |
| .TP |
| .B usage.obsolete |
| The ebuild makes use of an obsolete construct |
| .TP |
| .B variable.invalidchar |
| A variable contains an invalid character that is not part of the ASCII |
| character set. |
| .TP |
| .B variable.readonly |
| Assigning a readonly variable |
| .TP |
| .B variable.usedwithhelpers |
| Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers |
| .TP |
| .B virtual.exists |
| PROVIDE contains existing package names |
| .TP |
| .B virtual.unavailable |
| PROVIDE contains a virtual which contains no profile default |
| .TP |
| .B virtual.versioned |
| PROVIDE contains virtuals with versions |
| .TP |
| .B wxwidgets.eclassnotused |
| Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass. Refer to |
| bug #305469 for more information. |
| .SH "REPORTING BUGS" |
| Please report bugs via http://bugs.gentoo.org/ |
| .SH AUTHORS |
| .nf |
| Daniel Robbins <drobbins@gentoo.org> |
| Saleem Abdulrasool <compnerd@gentoo.org> |
| .fi |
| .SH "SEE ALSO" |
| .BR emerge (1) |