diff options
author | Brian Dolbec <dolsen@gentoo.org> | 2017-06-27 17:19:43 +0000 |
---|---|---|
committer | Brian Dolbec <dolsen@gentoo.org> | 2017-07-15 02:20:06 +0000 |
commit | dc02968f5d8fd53089cbab583f9b2eed7b895261 (patch) | |
tree | 70728d5a5454b4ac442801e3d261bf06a6eff6ec /metadata | |
parent | metadata.layout.conf: Fix typo (diff) | |
download | gentoo-dc02968f5d8fd53089cbab583f9b2eed7b895261.tar.gz gentoo-dc02968f5d8fd53089cbab583f9b2eed7b895261.tar.bz2 gentoo-dc02968f5d8fd53089cbab583f9b2eed7b895261.zip |
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.
Diffstat (limited to 'metadata')
-rw-r--r-- | metadata/repoman/qa_data.yaml | 282 |
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 |