commit:     dc02968f5d8fd53089cbab583f9b2eed7b895261
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 27 17:19:43 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 02:20:06 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc02968f

metadata/repoman: Add new qa_data.yaml file

This file holds the main qa_data, defining the scope and help text
of the variuos errors and warnings.
This is the initial port of the data from qa_data.py.

 metadata/repoman/qa_data.yaml | 282 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 282 insertions(+)

diff --git a/metadata/repoman/qa_data.yaml b/metadata/repoman/qa_data.yaml
new file mode 100644
index 00000000000..a5176cf8036
--- /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

Reply via email to