pkgcheck.checks.metadata module¶
- class pkgcheck.checks.metadata.BadDefaultUseFlags(flags, **kwargs)[source]¶
Bases:
_UseFlagsResult
,Error
Package IUSE contains bad default USE flags.
- flag_type = 'bad default'¶
- name = 'BadDefaultUseFlags'¶
- class pkgcheck.checks.metadata.BadDependency(depset, atom, msg, **kwargs)[source]¶
Bases:
VersionResult
,Error
Package dependency is bad for some reason.
- property desc¶
Result description.
- name = 'BadDependency'¶
- class pkgcheck.checks.metadata.BadDescription(msg, pkg_desc=None, **kwargs)[source]¶
Bases:
VersionResult
,Style
Package’s description is bad for some reason.
- property desc¶
Result description.
- name = 'BadDescription'¶
- class pkgcheck.checks.metadata.BadFilename(filenames, **kwargs)[source]¶
Bases:
VersionResult
,Warning
URI uses unspecific or poor filename(s).
Archive filenames should be disambiguated using
->
to rename them.- property desc¶
Result description.
- name = 'BadFilename'¶
- class pkgcheck.checks.metadata.BadHomepage(msg, **kwargs)[source]¶
Bases:
VersionResult
,Warning
A package’s HOMEPAGE is bad for some reason.
See the HOMEPAGE ebuild variable entry in the devmanual [1] for more information.
- property desc¶
Result description.
- name = 'BadHomepage'¶
- class pkgcheck.checks.metadata.BadKeywords(pkg, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Packages using
-*
should use package.mask instead.- desc = 'use package.mask or undefined keywords instead of KEYWORDS="-*"'¶
- name = 'BadKeywords'¶
- class pkgcheck.checks.metadata.BadProtocol(protocol, uris, **kwargs)[source]¶
Bases:
VersionResult
,Error
URI uses an unsupported protocol.
Valid protocols are currently: http, https, and ftp
- property desc¶
Result description.
- name = 'BadProtocol'¶
- class pkgcheck.checks.metadata.BannedEapi(eapi, **kwargs)[source]¶
Bases:
_EapiResult
,Error
Package’s EAPI is banned according to repo metadata.
- name = 'BannedEapi'¶
- class pkgcheck.checks.metadata.DependencyCheck(*args, use_addon)[source]¶
Bases:
Check
Verify dependency attributes (e.g. RDEPEND).
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.BadDependency'>, <class 'pkgcheck.checks.metadata.DeprecatedDep'>, <class 'pkgcheck.checks.metadata.InvalidBdepend'>, <class 'pkgcheck.checks.metadata.InvalidDepend'>, <class 'pkgcheck.checks.metadata.InvalidIdepend'>, <class 'pkgcheck.checks.metadata.InvalidPdepend'>, <class 'pkgcheck.checks.metadata.InvalidRdepend'>, <class 'pkgcheck.checks.metadata.MisplacedWeakBlocker'>, <class 'pkgcheck.checks.metadata.MissingPackageRevision'>, <class 'pkgcheck.checks.metadata.MissingUseDepDefault'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.DeprecatedDep(attr, atoms, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Package dependencies matching deprecated packages flagged in profiles/package.deprecated.
- property desc¶
Result description.
- name = 'DeprecatedDep'¶
- class pkgcheck.checks.metadata.DeprecatedEapi(eapi, **kwargs)[source]¶
Bases:
_EapiResult
,Warning
Package’s EAPI is deprecated according to repo metadata.
- name = 'DeprecatedEapi'¶
- class pkgcheck.checks.metadata.DeprecatedLicense(licenses, **kwargs)[source]¶
Bases:
_LicenseResult
,Warning
Deprecated license usage.
- license_type = 'deprecated'¶
- name = 'DeprecatedLicense'¶
- class pkgcheck.checks.metadata.DescriptionCheck(options, **kwargs)[source]¶
Bases:
Check
DESCRIPTION checks.
Check on length (<=80), too short (<10), or generic (lifted from eclass or just using the package’s name).
- known_results = frozenset({<class 'pkgcheck.checks.metadata.BadDescription'>})¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.DuplicateKeywords(keywords, **kwargs)[source]¶
Bases:
VersionResult
,Style
Packages having duplicate KEYWORDS.
- property desc¶
Result description.
- name = 'DuplicateKeywords'¶
- class pkgcheck.checks.metadata.EapiCheck(*args, eclass_addon)[source]¶
Bases:
Check
Scan for packages with banned or deprecated EAPIs.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.BannedEapi'>, <class 'pkgcheck.checks.metadata.DeprecatedEapi'>, <class 'pkgcheck.checks.metadata.StableKeywordsOnTestingEapi'>, <class 'pkgcheck.checks.metadata.UnsupportedEclassEapi'>})¶
- required_addons = (<class 'pkgcheck.addons.eclass.EclassAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.HomepageCheck(options, **kwargs)[source]¶
Bases:
Check
HOMEPAGE checks.
- generic_sites = frozenset({'https://gentoo.org', 'https://www.gentoo.org'})¶
- known_results = frozenset({<class 'pkgcheck.checks.metadata.BadHomepage'>})¶
- missing_categories = frozenset({'acct-group', 'acct-user', 'virtual'})¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.InvalidBdepend(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package has invalid BDEPEND.
- attr = 'bdepend'¶
- name = 'InvalidBdepend'¶
- class pkgcheck.checks.metadata.InvalidDepend(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package has invalid DEPEND.
- attr = 'depend'¶
- name = 'InvalidDepend'¶
- class pkgcheck.checks.metadata.InvalidEapi(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s EAPI is invalid.
- attr = 'eapi'¶
- name = 'InvalidEapi'¶
- class pkgcheck.checks.metadata.InvalidIdepend(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package has invalid IDEPEND.
- attr = 'idepend'¶
- name = 'InvalidIdepend'¶
- class pkgcheck.checks.metadata.InvalidLicense(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s LICENSE is invalid.
- attr = 'license'¶
- name = 'InvalidLicense'¶
- class pkgcheck.checks.metadata.InvalidPdepend(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package has invalid PDEPEND.
- attr = 'pdepend'¶
- name = 'InvalidPdepend'¶
- class pkgcheck.checks.metadata.InvalidProperties(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s PROPERTIES is invalid.
- attr = 'properties'¶
- name = 'InvalidProperties'¶
- class pkgcheck.checks.metadata.InvalidRdepend(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package has invalid RDEPEND.
- attr = 'rdepend'¶
- name = 'InvalidRdepend'¶
- class pkgcheck.checks.metadata.InvalidRequiredUse(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s REQUIRED_USE is invalid.
- attr = 'required_use'¶
- name = 'InvalidRequiredUse'¶
- class pkgcheck.checks.metadata.InvalidRestrict(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s RESTRICT is invalid.
- attr = 'restrict'¶
- name = 'InvalidRestrict'¶
- class pkgcheck.checks.metadata.InvalidSlot(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s SLOT is invalid.
- attr = 'slot'¶
- name = 'InvalidSlot'¶
- class pkgcheck.checks.metadata.InvalidSrcUri(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Package’s SRC_URI is invalid.
- attr = 'fetchables'¶
- name = 'InvalidSrcUri'¶
- class pkgcheck.checks.metadata.InvalidUseFlags(flags, **kwargs)[source]¶
Bases:
_UseFlagsResult
,Error
Package IUSE contains invalid USE flags.
- flag_type = 'invalid'¶
- name = 'InvalidUseFlags'¶
- class pkgcheck.checks.metadata.IuseCheck(*args, use_addon)[source]¶
Bases:
Check
IUSE validity checks.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.BadDefaultUseFlags'>, <class 'pkgcheck.checks.metadata.InvalidUseFlags'>, <class 'pkgcheck.checks.metadata.UnknownUseFlags'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- use_expand_groups = ('cpu_flags',)¶
- class pkgcheck.checks.metadata.KeywordsCheck(*args, use_addon, keywords_addon)[source]¶
Bases:
Check
Check package keywords for sanity; empty keywords, and -* are flagged.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.BadKeywords'>, <class 'pkgcheck.checks.metadata.DuplicateKeywords'>, <class 'pkgcheck.checks.metadata.OverlappingKeywords'>, <class 'pkgcheck.checks.metadata.UnknownKeywords'>, <class 'pkgcheck.checks.metadata.UnsortedKeywords'>, <class 'pkgcheck.checks.metadata.VirtualKeywordsUpdate'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>, <class 'pkgcheck.addons.KeywordsAddon'>)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.LicenseCheck(*args, use_addon)[source]¶
Bases:
Check
LICENSE validity checks.
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.DeprecatedLicense'>, <class 'pkgcheck.checks.metadata.InvalidLicense'>, <class 'pkgcheck.checks.metadata.MissingLicense'>, <class 'pkgcheck.checks.metadata.MissingLicenseRestricts'>, <class 'pkgcheck.checks.metadata.UnknownLicense'>, <class 'pkgcheck.checks.metadata.UnnecessaryLicense'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- unlicensed_categories = frozenset({'acct-group', 'acct-user', 'virtual'})¶
- class pkgcheck.checks.metadata.LocalUseCheck(*args, use_addon)[source]¶
Bases:
Check
Check local USE flags in metadata.xml for various issues.
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.MatchingGlobalUse'>, <class 'pkgcheck.checks.metadata.MissingLocalUseDesc'>, <class 'pkgcheck.checks.metadata.ProbableGlobalUse'>, <class 'pkgcheck.checks.metadata.ProbableUseExpand'>, <class 'pkgcheck.checks.metadata.UnderscoreInUseFlag'>, <class 'pkgcheck.checks.metadata.UnusedLocalUse'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='package' @0x7f6c6d509a10>¶
- class pkgcheck.checks.metadata.MatchingGlobalUse(flag, **kwargs)[source]¶
Bases:
PackageResult
,Warning
Local USE flag description matches a global USE flag.
- property desc¶
Result description.
- name = 'MatchingGlobalUse'¶
- class pkgcheck.checks.metadata.MisplacedWeakBlocker(attr, atom, **kwargs)[source]¶
Bases:
Warning
,VersionResult
Weak blocker is within a misplaced dependency class.
Weak blockers control whether we ignore file collisions at the point of merge, so being (exclusively) defined in DEPEND or BDEPEND is wrong.
Note that in cases where the weak blocker is also defined in RDEPEND, this warning won’t be triggered, to give leeway given this is a common ebuild pattern.
- property desc¶
Result description.
- name = 'MisplacedWeakBlocker'¶
- class pkgcheck.checks.metadata.MissingLicense(pkg, **kwargs)[source]¶
Bases:
VersionResult
,Error
Package has no LICENSE defined.
- desc = 'no license defined'¶
- name = 'MissingLicense'¶
- class pkgcheck.checks.metadata.MissingLicenseRestricts(license_group, license, restrictions, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Restrictive license used without matching RESTRICT.
- property desc¶
Result description.
- name = 'MissingLicenseRestricts'¶
- class pkgcheck.checks.metadata.MissingLocalUseDesc(flags, **kwargs)[source]¶
Bases:
PackageResult
,Warning
Local USE flag(s) missing descriptions.
- property desc¶
Result description.
- name = 'MissingLocalUseDesc'¶
- class pkgcheck.checks.metadata.MissingPackageRevision(dep, atom, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Missing package revision in =cat/pkg dependencies.
The dependency string uses the
=
operator without specifying a revision. This means that only-r0
of the dependency will be matched, and newer revisions of the same ebuild will not be accepted.If any revision of the package is acceptable, the
~
operator should be used instead of=
. If only the initial revision of the dependency is allowed,-r0
should be appended in order to make the intent explicit.- property desc¶
Result description.
- name = 'MissingPackageRevision'¶
- class pkgcheck.checks.metadata.MissingSlotDep(dep, dep_slots, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Missing slot value in dependencies.
The package dependency does not specify a slot but the target package has multiple slots. The behavior for satisfying this kind of dependency is not strictly defined, and may result in either any or the newest package slot being accepted.
Please verify whether the package works with all the dependency slots. If only one slot is actually acceptable, specify it explicitly. If multiple slots are acceptable, please use either
:=
or explicit:*
slot operator. The operators are described in detail in the devmanual [2].[2] https://devmanual.gentoo.org/general-concepts/dependencies/#slot-dependencies
- property desc¶
Result description.
- name = 'MissingSlotDep'¶
- class pkgcheck.checks.metadata.MissingSlotDepCheck(*args, use_addon)[source]¶
Bases:
Check
Check for missing slot dependencies.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.MissingSlotDep'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.MissingTestRestrict(pkg, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Missing
RESTRICT="!test? ( test )"
.Traditionally, it was assumed that
IUSE=test
is a special flag that is implicitly enabled when runningsrc_test()
is enabled. However, this is not standarized and packages need to explicitly specifyRESTRICT="!test? ( test )"
in order to guarantee that test phase will be skipped when the flag is disabled and therefore test dependencies may not be installed.- property desc¶
Result description.
- name = 'MissingTestRestrict'¶
- class pkgcheck.checks.metadata.MissingUnpackerDep(eapi, filenames, unpackers, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Missing dependency on a required unpacker package.
Package uses an archive format for which an unpacker is not provided by the system set, and lacks an explicit dependency on the unpacker package.
- property desc¶
Result description.
- name = 'MissingUnpackerDep'¶
- class pkgcheck.checks.metadata.MissingUnpackerDepCheck(*args, use_addon)[source]¶
Bases:
Check
Check whether package is missing unpacker dependencies.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.MissingUnpackerDep'>})¶
- non_system_unpackers = {'.zip': frozenset({'app-arch/unzip'}), '.7z': frozenset({'app-arch/p7zip'}), '.rar': frozenset({'app-arch/rar', 'app-arch/unrar'}), '.lha': frozenset({'app-arch/lha'}), '.lzh': frozenset({'app-arch/lha'})}¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.MissingUri(filenames, **kwargs)[source]¶
Bases:
VersionResult
,Warning
RESTRICT=fetch isn’t set, yet no full URI exists.
- property desc¶
Result description.
- name = 'MissingUri'¶
- class pkgcheck.checks.metadata.MissingUseDepDefault(attr, atom, flag, pkgs, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Package dependencies with USE dependencies missing defaults.
- property desc¶
Result description.
- name = 'MissingUseDepDefault'¶
- class pkgcheck.checks.metadata.NonexistentBlocker(attr, atom, **kwargs)[source]¶
Bases:
VersionResult
,Warning
No matches for blocker dependency in repo history.
For the gentoo repo this means it was either removed before the CVS -> git transition (which occurred around 2015-08-08) or it never existed at all.
Note that this ignores slot/subslot deps and USE deps in blocker atoms.
- property desc¶
Result description.
- name = 'NonexistentBlocker'¶
- class pkgcheck.checks.metadata.OutdatedBlocker(attr, atom, age, **kwargs)[source]¶
Bases:
VersionResult
,Info
Blocker dependency removed at least two years ago from the tree.
Note that this ignores slot/subslot deps and USE deps in blocker atoms.
- property desc¶
Result description.
- name = 'OutdatedBlocker'¶
- class pkgcheck.checks.metadata.OutdatedBlockersCheck(*args, git_addon)[source]¶
Bases:
Check
Check for outdated and nonexistent blocker dependencies.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.NonexistentBlocker'>, <class 'pkgcheck.checks.metadata.OutdatedBlocker'>})¶
- required_addons = (<class 'pkgcheck.addons.git.GitAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.OverlappingKeywords(keywords, **kwargs)[source]¶
Bases:
VersionResult
,Style
Packages having overlapping arch and ~arch KEYWORDS.
- property desc¶
Result description.
- name = 'OverlappingKeywords'¶
- class pkgcheck.checks.metadata.ProbableGlobalUse(flag, **kwargs)[source]¶
Bases:
PackageResult
,Style
Local USE flag description closely matches a global USE flag.
- property desc¶
Result description.
- name = 'ProbableGlobalUse'¶
- class pkgcheck.checks.metadata.ProbableUseExpand(flag, group, **kwargs)[source]¶
Bases:
PackageResult
,Warning
Local USE flag that isn’t overridden matches a USE_EXPAND group.
The local USE flag starts with a prefix reserved to USE_EXPAND group, yet it is not a globally defined member of this group. According to the standing policy [3], all possible values for each USE_EXPAND must be defined and documented globally.
This warning can be fixed via moving the local flag description into appropriate profiles/desc file.
[3] - property desc¶
Result description.
- name = 'ProbableUseExpand'¶
- class pkgcheck.checks.metadata.PropertiesCheck(*args, use_addon)[source]¶
Bases:
_RestrictPropertiesCheck
PROPERTIES related checks.
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.InvalidProperties'>, <class 'pkgcheck.checks.metadata.UnknownProperties'>})¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.RedundantUriRename(pkg, message)[source]¶
Bases:
VersionResult
,Style
URI uses a redundant rename that doesn’t change the filename.
- property desc¶
Result description.
- name = 'RedundantUriRename'¶
- class pkgcheck.checks.metadata.RequiredUseCheck(*args, use_addon, profile_addon)[source]¶
Bases:
Check
REQUIRED_USE validity checks.
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.InvalidRequiredUse'>, <class 'pkgcheck.checks.metadata.RequiredUseDefaults'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>, <class 'pkgcheck.addons.profiles.ProfileAddon'>)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.RequiredUseDefaults(required_use, use=(), keyword=None, profile=None, num_profiles=None, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Default USE flag settings don’t satisfy REQUIRED_USE.
The REQUIRED_USE constraints specified in the ebuild are not satisfied by the default USE flags used in one or more profiles. This means that users on those profiles may be unable to install the package out of the box, without having to modify package.use.
This warning is usually fixed via using IUSE defaults to enable one of the needed flags, modifying package.use in the most relevant profiles or modifying REQUIRED_USE.
- property desc¶
Result description.
- name = 'RequiredUseDefaults'¶
- class pkgcheck.checks.metadata.RestrictCheck(*args, use_addon)[source]¶
Bases:
_RestrictPropertiesCheck
RESTRICT related checks.
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.InvalidRestrict'>, <class 'pkgcheck.checks.metadata.UnknownRestrict'>})¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.RestrictTestCheck(*args)[source]¶
Bases:
Check
Check whether packages specify RESTRICT=”!test? ( test )”.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.MissingTestRestrict'>})¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.SourcingCheck(options, **kwargs)[source]¶
Bases:
Check
Scan for packages with sourcing errors or invalid, sourced metadata variables.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.InvalidEapi'>, <class 'pkgcheck.checks.metadata.InvalidSlot'>, <class 'pkgcheck.checks.metadata.SourcingError'>})¶
- priority = -100¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- class pkgcheck.checks.metadata.SourcingError(attr, msg, **kwargs)[source]¶
Bases:
MetadataError
,VersionResult
Failed sourcing ebuild.
- attr = 'data'¶
- name = 'SourcingError'¶
- class pkgcheck.checks.metadata.SrcUriCheck(*args, use_addon)[source]¶
Bases:
Check
SRC_URI related checks.
Verify that URIs are valid, fetchable, using a supported protocol, and don’t use unspecific filenames.
- known_results = frozenset({<class 'pkgcheck.addons.UnstatedIuse'>, <class 'pkgcheck.checks.metadata.BadFilename'>, <class 'pkgcheck.checks.metadata.BadProtocol'>, <class 'pkgcheck.checks.metadata.InvalidSrcUri'>, <class 'pkgcheck.checks.metadata.MissingUri'>, <class 'pkgcheck.checks.metadata.RedundantUriRename'>, <class 'pkgcheck.checks.metadata.SrcUriFilenameDotPrefix'>, <class 'pkgcheck.checks.metadata.TarballAvailable'>, <class 'pkgcheck.checks.metadata.UnknownMirror'>, <class 'pkgcheck.checks.metadata.UnstableSrcUri'>})¶
- required_addons = (<class 'pkgcheck.addons.UseAddon'>,)¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- valid_protos = frozenset({'ftp', 'http', 'https'})¶
- class pkgcheck.checks.metadata.SrcUriFilenameDotPrefix(filename, **kwargs)[source]¶
Bases:
VersionResult
,Error
SRC_URI’s filename starts with a dot.
This is usually a mistake, as referencing empty variable before the dot. Also those files might appear as hidden in many file system viewers. Rename the filename using the
->
operator.- property desc¶
Result description.
- name = 'SrcUriFilenameDotPrefix'¶
- class pkgcheck.checks.metadata.StableKeywordsOnTestingEapi(eapi, keywords, **kwargs)[source]¶
Bases:
VersionResult
,Error
Package has stable keywords on EAPI marked as testing-only.
- property desc¶
Result description.
- name = 'StableKeywordsOnTestingEapi'¶
- class pkgcheck.checks.metadata.StaleLiveCheck(options, **kwargs)[source]¶
Bases:
Check
Check for stale live ebuilds.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.StaleLiveEAPI'>})¶
- scope = <PackageScope desc='package' @0x7f6c6d509a10>¶
- class pkgcheck.checks.metadata.StaleLiveEAPI(old_eapi, new_eapi, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Live ebuild is using older an EAPI then release ebuilds.
Live ebuilds should always use an EAPI version at least as new as the release ebuilds.
- property desc¶
Result description.
- name = 'StaleLiveEAPI'¶
- class pkgcheck.checks.metadata.TarballAvailable(uris, **kwargs)[source]¶
Bases:
VersionResult
,Style
URI uses .zip archive when .tar* is available.
Tarballs should be preferred over zip archives due to better compression and no extra unpack dependencies.
- property desc¶
Result description.
- name = 'TarballAvailable'¶
- class pkgcheck.checks.metadata.UnderscoreInUseFlag(flag, **kwargs)[source]¶
Bases:
PackageResult
,Style
USE flag uses underscore that is reserved for USE_EXPAND.
The USE flag name uses underscore. However, according to PMS underscores are reserved for USE_EXPAND flags [4]. The recommended replacement is hyphen (‘-‘).
[4] - property desc¶
Result description.
- name = 'UnderscoreInUseFlag'¶
- class pkgcheck.checks.metadata.UnknownKeywords(keywords, **kwargs)[source]¶
Bases:
VersionResult
,Error
Packages using unknown KEYWORDS.
- property desc¶
Result description.
- name = 'UnknownKeywords'¶
- class pkgcheck.checks.metadata.UnknownLicense(licenses, **kwargs)[source]¶
Bases:
_LicenseResult
,Error
License usage with no matching license file.
- license_type = 'unknown'¶
- name = 'UnknownLicense'¶
- class pkgcheck.checks.metadata.UnknownMirror(mirror, uri, **kwargs)[source]¶
Bases:
VersionResult
,Error
URI uses an unknown mirror.
- property desc¶
Result description.
- name = 'UnknownMirror'¶
- class pkgcheck.checks.metadata.UnknownProperties(properties, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Package’s PROPERTIES metadata has unknown entries.
- property desc¶
Result description.
- name = 'UnknownProperties'¶
- class pkgcheck.checks.metadata.UnknownRestrict(restricts, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Package’s RESTRICT metadata has unknown entries.
- property desc¶
Result description.
- name = 'UnknownRestrict'¶
- class pkgcheck.checks.metadata.UnknownUseFlags(flags, **kwargs)[source]¶
Bases:
_UseFlagsResult
,Error
Package IUSE contains unknown USE flags.
- flag_type = 'unknown'¶
- name = 'UnknownUseFlags'¶
- class pkgcheck.checks.metadata.UnnecessaryLicense(pkg, **kwargs)[source]¶
Bases:
VersionResult
,Warning
LICENSE defined for package that is license-less.
- property desc¶
Result description.
- name = 'UnnecessaryLicense'¶
- class pkgcheck.checks.metadata.UnsortedKeywords(keywords, sorted_keywords=(), **kwargs)[source]¶
Bases:
VersionResult
,Style
Packages with unsorted KEYWORDS.
KEYWORDS should be sorted in alphabetical order with prefix keywords (those with hyphens in them, e.g. amd64-fbsd) after regular arches and globs (e.g.
-*
) before them.- property desc¶
Result description.
- name = 'UnsortedKeywords'¶
- class pkgcheck.checks.metadata.UnstableSrcUri(uris, **kwargs)[source]¶
Bases:
VersionResult
,Warning
SRC_URI uses unstable URIs.
This is usually a mistake, as those URIs are not guaranteed to be unchanged which might cause checksum mismatch.
- property desc¶
Result description.
- name = 'UnstableSrcUri'¶
- class pkgcheck.checks.metadata.UnsupportedEclassEapi(eapi, eclass, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Ebuild inherits an eclass with outdated @SUPPORTED_EAPIS.
- property desc¶
Result description.
- name = 'UnsupportedEclassEapi'¶
- class pkgcheck.checks.metadata.UnusedLocalUse(flags, **kwargs)[source]¶
Bases:
PackageResult
,Warning
Unused local USE flag(s).
- property desc¶
Result description.
- name = 'UnusedLocalUse'¶
- class pkgcheck.checks.metadata.UseFlagWithoutDeps(flags, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Special USE flag with little utility and without effect on dependencies.
Various USE flags, such as “ipv6”, should be always turned on or off, and their existence is questionable, in cases were it doesn’t introduce new dependencies. Other USE flags, such as “bash-completion”, without any new dependencies, are probable violators of small files QA policy [5].
In cases where this USE flag is appropriate, you can silence this warning by adding a description to this USE flag in
metadata.xml
file and thus making it a local USE flag instead of global one.[5] https://projects.gentoo.org/qa/policy-guide/installed-files.html#pg0301
- property desc¶
Result description.
- name = 'UseFlagWithoutDeps'¶
- class pkgcheck.checks.metadata.UseFlagsWithoutEffectsCheck(*args)[source]¶
Bases:
GentooRepoCheck
Check for USE flags without effects.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.UseFlagWithoutDeps'>})¶
- scope = <PackageScope desc='version' @0x7f6c6d509d90>¶
- warn_use_small_files = frozenset({'bash-completion', 'fish-completion', 'ipv6', 'logrotate', 'unicode', 'vim-syntax', 'zsh-completion'})¶
- class pkgcheck.checks.metadata.VirtualKeywordsUpdate(keywords, **kwargs)[source]¶
Bases:
VersionResult
,Info
Virtual packages with keywords that can be updated to match dependencies.
- property desc¶
Result description.
- name = 'VirtualKeywordsUpdate'¶
- class pkgcheck.checks.metadata.VirtualProvidersCheck(options, **kwargs)[source]¶
Bases:
Check
Check providers of virtual packages.
- known_results = frozenset({<class 'pkgcheck.checks.metadata.VirtualWithBdepend'>, <class 'pkgcheck.checks.metadata.VirtualWithDepend'>, <class 'pkgcheck.checks.metadata.VirtualWithSingleProvider'>})¶
- scope = <PackageScope desc='package' @0x7f6c6d509a10>¶
- useless_depends = (('depend', <class 'pkgcheck.checks.metadata.VirtualWithDepend'>), ('bdepend', <class 'pkgcheck.checks.metadata.VirtualWithBdepend'>))¶
- class pkgcheck.checks.metadata.VirtualWithBdepend(pkg, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Virtual package with a BDEPEND defined.
- desc = 'virtual package with a BDEPEND defined'¶
- name = 'VirtualWithBdepend'¶
- class pkgcheck.checks.metadata.VirtualWithDepend(pkg, **kwargs)[source]¶
Bases:
VersionResult
,Warning
Virtual package with a BDEPEND defined.
- desc = 'virtual package with a DEPEND defined'¶
- name = 'VirtualWithDepend'¶
- class pkgcheck.checks.metadata.VirtualWithSingleProvider(provider, **kwargs)[source]¶
Bases:
PackageResult
,Warning
Virtual package with a single remaining provider.
Virtual packages are used to provide a common interface for multiple implementations of a given functionality. However, if there is only a single implementation, there is no need for a virtual package. In such case, consider adding the package to package.deprecated and removing the virtual package.
- property desc¶
Result description.
- name = 'VirtualWithSingleProvider'¶