REPOMAN(1) Portage REPOMAN(1)NAME
repoman - Gentoo's program to enforce a minimal level of quality assur‐
ance in packages added to the portage tree
SYNOPSIS
repoman [option] [mode]
DESCRIPTION
Quality is job zero.
repoman checks the quality of ebuild repositories.
Note: repoman commit only works inside local cvs, git, or subversion
repositories.
OPTIONS-a, --ask
Request a confirmation before commiting
--digest=<y|n>
Automatically update Manifest digests for modified files. This
option triggers a behavior that is very similar to that enabled
by FEATURES="digest" in make.conf(5). In order to enable this
behavior by default for repoman alone, add --digest=y to the
REPOMAN_DEFAULT_OPTS variable in make.conf(5). The mani‐
fest-check mode will automatically ignore the --digest option.
NOTE: This option does not trigger update of digests for Mani‐
fest DIST entries that already exist. Replacement of existing
Manifest DIST entries can be forced by using the manifest mode
together with the --force option.
--force
Force commit to proceed, regardless of QA issues. For conve‐
nience, 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 manifest mode, --force 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.
WARNING: 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 down‐
loaded files.
-q, --quiet
Be less verbose about extraneous info
-p, --pretend
Don't commit or fix anything; just show what would be done
-x, --xmlparse
Forces the metadata.xml parse check to be carried out
-v, --verbose
Displays every package name while checking
--echangelog=<y|n|force>
For commit mode, call echangelog if ChangeLog is unmodified (or
regardless of modification if 'force' is specified). This option
can be enabled by default for a particular repository by setting
"update-changelog = true" in metadata/layout.conf (see
portage(5)).
--experimental-inherit=<y|n>
Enable experimental inherit.missing checks which may misbehave
when the internal eclass database becomes outdated.
--if-modified=<y|n>
Only check packages that have uncommitted modifications
-i, --ignore-arches
Ignore arch-specific failures (where arch != host)
--ignore-default-opts
Do not use the REPOMAN_DEFAULT_OPTS environment variable.
-I, --ignore-masked
Ignore masked packages (not allowed with commit mode)
--include-arches ARCHES
A space separated list of arches used to filter the selection of
profiles for dependency checks.
-d, --include-dev
Include dev profiles in dependency checks.
-e <y|n>, --include-exp-profiles=<y|n>
Include exp profiles in dependency checks.
--unmatched-removal
Enable strict checking of package.mask and package.unmask files
for unmatched removal atoms.
--without-mask
Behave as if no package.mask entries exist (not allowed with
commit mode)
-m, --commitmsg
Adds a commit message via the command line
-M, --commitmsgfile
Adds a commit message from the specified file
-V, --version
Show version info
-h, --help
Show this screen
MODES
full Scan directory tree for QA issues (full listing)
help Show this screen
scan Scan directory tree for QA issues (short listing)
fix Fix simple QA issues (stray digests, missing digests)
manifest
Generate a Manifest (fetches distfiles if necessary). See the
--force option if you would like to replace existing distfiles
digests.
manifest-check
Check Manifests for missing or incorrect digests
commit Scan directory tree for QA issues; if OK, commit via cvs
QA KEYWORDS
CVS/Entries.IO_error
Attempting to commit, and an IO error was encountered access the
Entries file
DESCRIPTION.missing
Ebuilds that have a missing or empty DESCRIPTION variable
EAPI.definition
EAPI definition does not conform to PMS section 7.3.1 (first
non-comment, non-blank line). See bug #402167.
EAPI.deprecated
Ebuilds that use features that are deprecated in the current
EAPI
EAPI.incompatible
Ebuilds that use features that are only available with a differ‐
ent EAPI
EAPI.unsupported
Ebuilds that have an unsupported EAPI version (you must upgrade
portage)
HOMEPAGE.missing
Ebuilds that have a missing or empty HOMEPAGE variable
HOMEPAGE.virtual
Virtuals that have a non-empty HOMEPAGE variable
IUSE.invalid
This ebuild has a variable in IUSE that is not in the use.desc
or its metadata.xml file
IUSE.missing
This ebuild has a USE conditional which references a flag that
is not listed in IUSE
KEYWORDS.dropped
Ebuilds that appear to have dropped KEYWORDS for some arch
KEYWORDS.invalid
This ebuild contains KEYWORDS that are not listed in pro‐
files/arch.list or for which no valid profile was found
KEYWORDS.missing
Ebuilds that have a missing or empty KEYWORDS variable
KEYWORDS.stable
Ebuilds that have been added directly with stable KEYWORDS
KEYWORDS.stupid
Ebuilds that use KEYWORDS=-* instead of package.mask
LICENSE.deprecated
This ebuild is listing a deprecated license.
LICENSE.invalid
This ebuild is listing a license that doesnt exist in portages
license/ dir.
LICENSE.missing
Ebuilds that have a missing or empty LICENSE variable
LICENSE.syntax
Syntax error in LICENSE (usually an extra/missing space/paren‐
thesis)
LICENSE.virtual
Virtuals that have a non-empty LICENSE variable
LIVEVCS.stable
Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout
with stable keywords.
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.
PDEPEND.suspect
PDEPEND contains a package that usually only belongs in DEPEND
PROVIDE.syntax
Syntax error in PROVIDE (usually an extra/missing space/paren‐
thesis)
RDEPEND.implicit
RDEPEND is unset in the ebuild which triggers implicit RDE‐
PEND=$DEPEND assignment (prior to EAPI 4)
RDEPEND.suspect
RDEPEND contains a package that usually only belongs in DEPEND
PROPERTIES.syntax
Syntax error in PROPERTIES (usually an extra/missing
space/parenthesis)
RESTRICT.syntax
Syntax error in RESTRICT (usually an extra/missing space/paren‐
thesis) SLOT.invalid Ebuilds that have a missing or invalid SLOT
variable value
SRC_URI.mirror
A uri listed in profiles/thirdpartymirrors is found in SRC_URI
changelog.ebuildadded
An ebuild was added but the ChangeLog was not modified
changelog.missing
Missing ChangeLog files
changelog.notadded
ChangeLogs that exist but have not been added to cvs
dependency.bad
User-visible ebuilds with unsatisfied dependencies (matched
against *visible* ebuilds)
dependency.badindev
User-visible ebuilds with unsatisfied dependencies (matched
against *visible* ebuilds) in developing arch
dependency.badmasked
Masked ebuilds with unsatisfied dependencies (matched against
*all* ebuilds)
dependency.badmaskedindev
Masked ebuilds with unsatisfied dependencies (matched against
*all* ebuilds) in developing arch
dependency.badtilde
Uses the ~ dep operator with a non-zero revision part, which is
useless (the revision is ignored)
dependency.syntax
Syntax error in dependency string (usually an extra/missing
space/parenthesis)
dependency.unknown
Ebuild has a dependency that refers to an unknown package (which
may be valid if it is a blocker for a renamed/removed package,
or is an alternative choice provided by an overlay)
digest.assumed
Existing digest must be assumed correct (Package level only)
digest.missing
Some files listed in SRC_URI aren't referenced in the Manifest
digest.unused
Some files listed in the Manifest aren't referenced in SRC_URI
ebuild.badheader
This ebuild has a malformed header
ebuild.invalidname
Ebuild files with a non-parseable or syntactically incorrect
name (or using 2.1 versioning extensions)
ebuild.majorsyn
This ebuild has a major syntax error that may cause the ebuild
to fail partially or fully
ebuild.minorsyn
This ebuild has a minor syntax error that contravenes gentoo
coding style
ebuild.namenomatch
Ebuild files that do not have the same name as their parent
directory
ebuild.nesteddie
Placing 'die' inside ( ) prints an error, but doesn't stop the
ebuild.
ebuild.notadded
Ebuilds that exist but have not been added to cvs
ebuild.output
A simple sourcing of the ebuild produces output; this breaks
ebuild policy.
ebuild.patches
PATCHES variable should be a bash array to ensure white space
safety
ebuild.syntax
Error generating cache entry for ebuild; typically caused by
ebuild syntax error or digest verification failure.
file.UTF8
File is not UTF8 compliant
file.executable
Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not
need the executable bit
file.name
File/dir name must be composed of only the following chars: a-
zA-Z0-9._-+:
file.size
Files in the files directory must be under 20k
inherit.missing
Ebuild uses functions from an eclass but does not inherit it
inherit.unused
Ebuild inherits an eclass but does not use it
inherit.deprecated
Ebuild inherits a deprecated eclass
java.eclassesnotused
With virtual/jdk in DEPEND you must inherit a java eclass. Refer
to http://www.gentoo.org/proj/en/java/java-devel.xml for more
information.
manifest.bad
Manifest has missing or incorrect digests
metadata.bad
Bad metadata.xml files
metadata.missing
Missing metadata.xml files
metadata.warning
Warnings in metadata.xml files
repo.eapi.banned
The ebuild uses an EAPI which is banned by the repository's
metadata/layout.conf settings.
repo.eapi.deprecated
The ebuild uses an EAPI which is deprecated by the repository's
metadata/layout.conf settings.
IUSE.rubydeprecated
The ebuild has set a ruby interpreter in USE_RUBY, that is not
available as a ruby target anymore
portage.internal
The ebuild uses an internal Portage function or variable
upstream.workaround
The ebuild works around an upstream bug, an upstream bug should
be filed and tracked in bugs.gentoo.org
usage.obsolete
The ebuild makes use of an obsolete construct
variable.invalidchar
A variable contains an invalid character that is not part of the
ASCII character set.
variable.readonly
Assigning a readonly variable
variable.usedwithhelpers
Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers
virtual.oldstyle
The ebuild PROVIDEs an old-style virtual (see GLEP 37). This is
an error unless "allow-provide-virtuals = true" is set in meta‐
data/layout.conf.
virtual.suspect
Ebuild contains a package that usually should be pulled via vir‐
tual/, not directly.
wxwidgets.eclassnotused
Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwid‐
gets.eclass. Refer to bug #305469 for more information.
REPORTING BUGS
Please report bugs via http://bugs.gentoo.org/
AUTHORS
Daniel Robbins <drobbins@gentoo.org>
Saleem Abdulrasool <compnerd@gentoo.org>
SEE ALSOemerge(1)Portage 2.2.8-r1 Aug 2013 REPOMAN(1)