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