You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/metadata/repoman/qa_data.yaml

288 lines
12 KiB

---
# This yaml syntax file holds various configuration data for
# the Quality-Assurance checks performed.
# no random drive-by commits please
# Please obtain authorization from the portage team
#
# Overlay maintainers override/add/negate checks at your discression
# but support for third party module will be limited to the plugin API
#
# Repoman API version (do not edit)
version: 1
# minimum
repoman_version: 2.3.3
allowed_filename_chars: "a-zA-Z0-9._-+:"
max_description_length: 80
# missingvars check: Mandatory (non-defaulted) ebuild variables
# list
missingvars:
- KEYWORDS
- LICENSE
- DESCRIPTION
- HOMEPAGE
# file.executable check, non executable files
# list
no_exec_files:
- Manifest
- ChangeLog
- metadata.xml
# qahelp: Primary QA help messages to describe the errors or warnings
# Dictionary
qahelp:
Entries:
IO_error: "Attempting to commit, and an IO error was encountered access the Entries file"
ebuild:
invalidname: "Ebuild files with a non-parseable or syntactically incorrect name (or using 2.1 versioning extensions)"
namenomatch: "Ebuild files that do not have the same name as their parent directory"
notadded: "Ebuilds that exist but have not been added to the vcs"
patches: "PATCHES variable should be a bash array to ensure white space safety"
changelog:
ebuildadded: "An ebuild was added but the ChangeLog was not modified"
missing: "Missing ChangeLog files"
notadded: "ChangeLogs that exist but have not been added to cvs"
dependency:
bad: "User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds)"
badmasked: "Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds)"
badindev: "User-visible ebuilds with unsatisfied dependencies (matched against *visible* ebuilds) in developing arch"
badmaskedindev: Masked ebuilds with unsatisfied dependencies (matched against *all* ebuilds) in developing arch"
badtilde: "Uses the ~ dep operator with a non-zero revision part, which is useless (the revision is ignored)"
missingslot: "RDEPEND matches more than one SLOT but does not specify a slot and/or use the := or :* slot operator"
perlcore: "This ebuild directly depends on a package in perl-core; it should use the corresponding virtual instead."
syntax: "Syntax error in dependency string (usually an extra/missing space/parenthesis)"
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)"
badslotop: "RDEPEND contains ':=' slot operator under '||' dependency."
DESCRIPTION:
missing: "Ebuilds that have a missing or empty DESCRIPTION variable"
toolong: "DESCRIPTION is over %d characters"
digest:
assumed: "Existing digest must be assumed correct (Package level only)"
missing: "Some files listed in SRC_URI aren't referenced in the Manifest"
unused: "Some files listed in the Manifest aren't referenced in SRC_URI"
EAPI:
definition: "EAPI definition does not conform to PMS section 7.3.1 (first non-comment, non-blank line)"
deprecated: "Ebuilds that use features that are deprecated in the current EAPI"
incompatible: "Ebuilds that use features that are only available with a different EAPI"
unsupported: "Ebuilds that have an unsupported EAPI version (you must upgrade portage)"
ebuild:
absdosym: "This ebuild uses absolute target to dosym where relative symlink could be used instead"
badheader: "This ebuild has a malformed header"
majorsyn: "This ebuild has a major syntax error that may cause the ebuild to fail partially or fully"
minorsyn: "This ebuild has a minor syntax error that contravenes gentoo coding style"
nesteddie: "Placing 'die' inside ( ) prints an error, but doesn't stop the ebuild."
output: "A simple sourcing of the ebuild produces output; this breaks ebuild policy."
syntax: "Error generating cache entry for ebuild; typically caused by ebuild syntax error or digest verification failure"
file:
executable: "Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit"
size: "Files in the files directory must be under 20 KiB"
size-fatal: "Files in the files directory must be under 60 KiB"
empty: "Empty file in the files directory"
name: "File/dir name must be composed of only the following chars: %s "
UTF8: "File is not UTF8 compliant"
HOMEPAGE:
missing: "Ebuilds that have a missing or empty HOMEPAGE variable"
virtual: "Virtuals that have a non-empty HOMEPAGE variable"
missingurischeme: "HOMEPAGE is missing an URI scheme"
inherit:
deprecated: "Ebuild inherits a deprecated eclass"
missing: "Ebuild uses functions from an eclass but does not inherit it"
unused: "Ebuild inherits an eclass but does not use it"
IUSE:
invalid: "This ebuild has a variable in IUSE that is not in the use.desc or its metadata.xml file"
missing: "This ebuild has a USE conditional which references a flag that is not listed in IUSE"
rubydeprecated: "The ebuild has set a ruby interpreter in USE_RUBY, that is not available as a ruby target anymore"
java:
eclassesnotused: "With virtual/jdk in DEPEND you must inherit a java eclass"
KEYWORDS:
dropped: "Ebuilds that appear to have dropped KEYWORDS for some arch"
invalid: "This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found"
missing: "Ebuilds that have a missing or empty KEYWORDS variable"
stable: "Ebuilds that have been added directly with stable KEYWORDS"
stupid: "Ebuilds that use KEYWORDS=-* instead of package.mask"
LICENSE:
deprecated: "This ebuild is listing a deprecated license."
invalid: "This ebuild is listing a license that doesnt exist in portages license/ dir."
missing: "Ebuilds that have a missing or empty LICENSE variable"
syntax: "Syntax error in LICENSE (usually an extra/missing space/parenthesis)"
virtual: "Virtuals that have a non-empty LICENSE variable"
LIVEVCS:
stable: "This ebuild is a live checkout from a VCS but has stable keywords."
unmasked: "This ebuild is a live checkout from a VCS but has keywords and is not masked in the global package.mask."
manifest:
bad: "Manifest has missing or incorrect digests"
metadata:
bad: "Bad metadata.xml files"
missing: "Missing metadata.xml files"
warning: "Warnings in metadata.xml files"
PDEPEND:
suspect: "PDEPEND contains a package that usually only belongs in DEPEND."
portage:
internal: "The ebuild uses an internal Portage function or variable"
PROVIDE:
syntax: "Syntax error in PROVIDE (usually an extra/missing space/parenthesis)"
PROPERTIES:
syntax: "Syntax error in PROPERTIES (usually an extra/missing space/parenthesis)"
RDEPEND:
implicit: "RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND assignment (prior to EAPI 4)"
suspect: "RDEPEND contains a package that usually only belongs in DEPEND."
repo:
eapi-banned: "The ebuild uses an EAPI which is banned by the repository's metadata/layout.conf settings"
eapi-deprecated: "The ebuild uses an EAPI which is deprecated by the repository's metadata/layout.conf settings"
RESTRICT:
invalid: "This ebuild contains invalid RESTRICT values."
syntax: "Syntax error in RESTRICT (usually an extra/missing space/parenthesis)"
REQUIRED_USE:
syntax: "Syntax error in REQUIRED_USE (usually an extra/missing space/parenthesis)"
SLOT:
invalid: "Ebuilds that have a missing or invalid SLOT variable value"
SRC_URI:
syntax: "Syntax error in SRC_URI (usually an extra/missing space/parenthesis)"
mirror: "A uri listed in profiles/thirdpartymirrors is found in SRC_URI"
upstream:
workaround: "The ebuild works around an upstream bug, an upstream bug should be filed and tracked in bugs.gentoo.org"
uri:
https: "URI uses http:// but should use https://"
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"
readonly: "Assigning a readonly variable"
usedwithhelpers: "Ebuild uses D, ROOT, ED, EROOT or EPREFIX with helpers"
oldstyle: "The ebuild PROVIDEs an old-style virtual (see GLEP 37)"
virtual:
suspect: "Ebuild contains a package that usually should be pulled via virtual/, not directly."
wxwidgets:
eclassnotused: "Ebuild DEPENDs on x11-libs/wxGTK without inheriting wxwidgets.eclass"
# qawarnings: Non-fatal warnings,
# all values in here MUST have a corresponding qahelp entry
# list
qawarnings:
- changelog.missing
- changelog.notadded
- dependency.unknown
- dependency.badmasked
- dependency.badindev
- dependency.badmaskedindev
- dependency.badtilde
- dependency.missingslot
- dependency.perlcore
- DESCRIPTION.toolong
- digest.assumed
- digest.unused
- EAPI.deprecated
- ebuild.notadded
- ebuild.nesteddie
- ebuild.absdosym
- ebuild.minorsyn
- ebuild.badheader
- ebuild.patches
- file.empty
- file.size
- HOMEPAGE.virtual
- inherit.unused
- inherit.deprecated
- IUSE.rubydeprecated
- java.eclassesnotused
- KEYWORDS.dropped
- KEYWORDS.stupid
- KEYWORDS.missing
- LICENSE.deprecated
- LICENSE.virtual
- metadata.warning
- PDEPEND.suspect
- portage.internal
- RDEPEND.implicit
- RDEPEND.suspect
- repo.eapi-deprecated
- RESTRICT.invalid
- usage.obsolete
- upstream.workaround
- uri.https
- virtual.suspect
- wxwidgets.eclassnotused
# ruby_deprecated: Deprecated ruby targets
# list
ruby_deprecated:
- ruby_targets_ruby18
- ruby_targets_ruby19
- ruby_targets_ruby20
# suspect_rdepend: Common build only Dependencies
# not usually run time dependencies
# list
suspect_rdepend:
- app-arch/cabextract
- app-arch/rpm2targz
- app-doc/doxygen
- dev-lang/nasm
- dev-lang/swig
- dev-lang/yasm
- dev-perl/extutils-pkgconfig
- dev-qt/linguist-tools
- dev-util/byacc
- dev-util/cmake
- dev-util/ftjam
- dev-util/gperf
- dev-util/gtk-doc
- dev-util/gtk-doc-am
- dev-util/intltool
- dev-util/jam
- dev-util/pkg-config-lite
- dev-util/pkgconf
- dev-util/pkgconfig
- dev-util/pkgconfig-openbsd
- dev-util/scons
- dev-util/unifdef
- dev-util/yacc
- media-gfx/ebdftopcf
- sys-apps/help2man
- sys-devel/autoconf
- sys-devel/automake
- sys-devel/bin86
- sys-devel/bison
- sys-devel/dev86
- sys-devel/flex
- sys-devel/m4
- sys-devel/pmake
- virtual/linux-sources
- virtual/linuxtv-dvb-headers
- virtual/os-headers
- virtual/pkgconfig
- x11-misc/bdftopcf
- x11-misc/imake
# suspect_virtual: Dependencies that should usually be made to the virtual
# Not to the final target library
# dictionary
suspect_virtual:
dev-libs/libusb: virtual/libusb
dev-libs/libusb-compat: virtual/libusb
dev-libs/libusbx: virtual/libusb
dev-util/pkg-config-lite: virtual/pkgconfig
dev-util/pkgconf: virtual/pkgconfig
dev-util/pkgconfig: virtual/pkgconfig
dev-util/pkgconfig-openbsd: virtual/pkgconfig
# valid_restrict: ???
# list
valid_restrict:
- binchecks
- bindist
- fetch
- installsources
- mirror
- preserve-libs
- primaryuri
- splitdebug
- strip
- test
- userpriv