summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'metadata/repoman/qa_data.yaml')
-rw-r--r--metadata/repoman/qa_data.yaml282
1 files changed, 282 insertions, 0 deletions
diff --git a/metadata/repoman/qa_data.yaml b/metadata/repoman/qa_data.yaml
new file mode 100644
index 000000000000..a5176cf8036c
--- /dev/null
+++ b/metadata/repoman/qa_data.yaml
@@ -0,0 +1,282 @@
+---
+# 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
+#
+
+
+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