REPOMAN(1)

NAME
repoman - Gentoo's program to enforce a minimal level of quality assurance in packages added to the portage tree

SYNOPSIS
repoman [option] [mode]

DESCRIPTION
Quality is job zero. repoman is meant for Gentoo developers only due to the fact it does not work on a per-ebuild basis. It checks the quality of CVS repositories. Note: repoman commit only works inside local CVS repositories.

OPTIONS

-q, --quiet
    Be less verbose about extraneous info

-p, --pretend
    Don't commit or fix anything; just show what would be done

-i, --include-masked
    Include masked packages in scans at category or tree level

-x, --xmlparse
    Forces the metadata.xml parse check to be carried out

-v, --verbose
    Displays every package name while checking

-I, --ignore-arches
    Ignore arch-specific failures (where arch != host)

-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)

last
    Remember report from last run

help
    Show this screen

scan
    Scan directory tree for QA issues (default)

fix Fix simple QA issues (stray digests, missing digests)

lfull
    Remember report from last run (full listing)

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

DEPEND.bad
    User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds)

DEPEND.badindev
    User-visible ebuilds with bad DEPEND settings (matched against *visible* ebuilds) in developing arch

DEPEND.badmasked
    Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds)

DEPEND.badmaskedindev
    Masked ebuilds with bad DEPEND settings (matched against *all* ebuilds) in developing arch

DEPEND.syntax
    Syntax error in DEPEND (usually an extra/missing space/parenthesis)

DESCRIPTION.missing
    Ebuilds that have a missing or empty DESCRIPTION variable

HOMEPAGE.missing
    Ebuilds that have a missing or empty HOMEPAGE variable

IUSE.invalid
    This build has a variable in IUSE that is not in the use.desc or use.local.desc file

KEYWORDS.invalid
    This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found

KEYWORDS.missing
    Ebuilds that have a missing or empty KEYWORDS variable

KEYWORDS.stupid
    Ebuilds that use KEYWORDS=-* instead of package.mask

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/parenthesis)

LIVEVCS.stable
    Ebuild is a live ebuild (cvs, git, darcs, svn, etc) checkout with stable keywords.

PDEPEND.bad
    User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds)

PDEPEND.badindev
    User-visible ebuilds with bad PDEPEND settings (matched against *visible* ebuilds) in developing arch

PDEPEND.badmasked
    Masked ebuilds with PDEPEND settings (matched against *all* ebuilds)

PDEPEND.badmaskedindev
    Masked ebuilds with PDEPEND settings (matched against *all* ebuilds) in developing arch

PDEPEND.syntax
    Syntax error in PDEPEND (usually an extra/missing space/parenthesis)

PROVIDE.syntax
    Syntax error in PROVIDE (usually an extra/missing space/parenthesis)

RDEPEND.bad
    User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds)

RDEPEND.badindev
    User-visible ebuilds with bad RDEPEND settings (matched against *visible* ebuilds) in developing arch

RDEPEND.badmasked
    Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)

RDEPEND.badmaskedindev
    Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch

RDEPEND.syntax
    Syntax error in RDEPEND (usually an extra/missing space/parenthesis)

SLOT.missing
    Ebuilds that have a missing or empty SLOT variable

changelog.missing
    Missing ChangeLog files

changelog.notadded
    ChangeLogs that exist but have not been added to cvs

digest.assumed
    Existing digest must be assumed correct (Package level only)

digest.disjointed
    Digests not added to cvs when the matching ebuild has been added

digest.fail
    Digest does not match the specified local file

digest.missing
    Digest files that are missing (ebuild exists, digest doesn't)

digest.notadded
    Digests that exist but have not been added to cvs

digest.partial
    Digest files do not contain all corresponding URI elements

digest.stray
    Digest files that do not have a corresponding ebuild

digest.unmatch
    Digests which are incomplete (please check if your USE/ARCH includes all files)

digest.unused
    Digest/Manifest entry has no matching SRC_URI entry

ebuild.allmasked
    All ebuilds are masked for this package (Package level only)

ebuild.badheader
    This ebuild has a malformed header

ebuild.disjointed
    Ebuilds not added to cvs when the matching digest has been added

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.nostable
    There are no ebuilds that are marked as stable for your ARCH

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.syntax
    Error generating cache entry for ebuild; typically caused by ebuild syntax error

file.UTF8
    File is not UTF8 compliant

file.executable
    Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do note 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

filedir.missing
    Package lacks a files directory

metadata.bad
    Bad metadata.xml files

metadata.missing
    Missing metadata.xml files

usage.obsolete
    The ebuild makes use of an obsolete construct

variable.readonly
    Assigning a readonly variable

virtual.exists
    PROVIDE contains existing package names

virtual.unavailable
    PROVIDE contains a virtual which contains no profile default

virtual.versioned
    PROVIDE contains virtuals with versions

REPORTING BUGS
Please report bugs via http://bugs.gentoo.org/

AUTHORS
Daniel Robbins <drobbins@gentoo.org>
Saleem Abdulrasool <compnerd@gentoo.org>

SEE ALSO
emerge(1)