pkgcheck.checks.eclass module¶
- class pkgcheck.checks.eclass.DeprecatedEclass(eclass, replacement, **kwargs)[source]¶
Bases:
VersionResult,WarningPackage uses an eclass that is deprecated/abandoned.
- property desc¶
Result description.
- name = 'DeprecatedEclass'¶
- class pkgcheck.checks.eclass.DeprecatedEclassFunction(function, replacement, **kwargs)[source]¶
Bases:
LineResult,WarningPackage uses a deprecated function from an eclass.
- property desc¶
Result description.
- name = 'DeprecatedEclassFunction'¶
- class pkgcheck.checks.eclass.DeprecatedEclassVariable(variable, replacement, **kwargs)[source]¶
Bases:
LineResult,WarningPackage uses a deprecated variable from an eclass.
- property desc¶
Result description.
- name = 'DeprecatedEclassVariable'¶
- class pkgcheck.checks.eclass.DuplicateEclassInherit(eclass, **kwargs)[source]¶
Bases:
LineResult,StyleAn ebuild directly inherits the same eclass multiple times.
Note that this will flag ebuilds that conditionalize global metadata by package version (or some other fashion) while inheriting the same eclass under both branches, e.g. conditional live ebuilds. In this case, shared eclasses should be loaded in a separate, unconditional inherit call.
- property desc¶
Result description.
- name = 'DuplicateEclassInherit'¶
- class pkgcheck.checks.eclass.EclassBashSyntaxError(lineno, error, **kwargs)[source]¶
Bases:
EclassResult,ErrorBash syntax error in the related eclass.
- property desc¶
Result description.
- name = 'EclassBashSyntaxError'¶
- class pkgcheck.checks.eclass.EclassCheck(*args)[source]¶
Bases:
CheckScan eclasses for various issues.
- known_results = frozenset({<class 'pkgcheck.checks.eclass.EclassBashSyntaxError'>, <class 'pkgcheck.checks.eclass.EclassDocError'>, <class 'pkgcheck.checks.eclass.EclassDocMissingFunc'>, <class 'pkgcheck.checks.eclass.EclassDocMissingVar'>})¶
- scope = <LocationScope desc='eclass' @0x7fb113484e10>¶
- class pkgcheck.checks.eclass.EclassDocError(error, **kwargs)[source]¶
Bases:
EclassResult,WarningError when parsing docs for the related eclass.
Eclass docs are parsed as specified by the devmanual [1].
- property desc¶
Result description.
- name = 'EclassDocError'¶
- class pkgcheck.checks.eclass.EclassDocMissingFunc(functions, **kwargs)[source]¶
Bases:
EclassResult,WarningUndocumented function(s) in the related eclass.
- property desc¶
Result description.
- name = 'EclassDocMissingFunc'¶
- class pkgcheck.checks.eclass.EclassDocMissingVar(variables, **kwargs)[source]¶
Bases:
EclassResult,WarningUndocumented variable(s) in the related eclass.
All exported variables in an eclass should be documented using eclass doc tags. Temporary variables should be unset after use so they aren’t exported.
- property desc¶
Result description.
- name = 'EclassDocMissingVar'¶
- class pkgcheck.checks.eclass.EclassExportFuncsBeforeInherit(export_line, inherit_line, **kwargs)[source]¶
Bases:
EclassResult,ErrorEXPORT_FUNCTIONS called before inherit.
The EXPORT_FUNCTIONS call should occur after all inherits are done in order to guarantee consistent behavior across all package managers.
- property desc¶
Result description.
- name = 'EclassExportFuncsBeforeInherit'¶
- class pkgcheck.checks.eclass.EclassManualDepsCheck(options, **kwargs)[source]¶
Bases:
CheckCheck for missing deps when inheriting eclasses in special mode.
- dependencies = (('cargo', 'CARGO_OPTIONAL', {'dev-lang/rust', 'dev-lang/rust-bin'}, <class 'pkgcheck.checks.eclass.RustMissingDeps'>), ('rust', 'RUST_OPTIONAL', {'dev-lang/rust', 'dev-lang/rust-bin'}, <class 'pkgcheck.checks.eclass.RustMissingDeps'>), ('go-module', 'GO_OPTIONAL', {'dev-lang/go'}, <class 'pkgcheck.checks.eclass.GoMissingDeps'>), ('ruby-ng', 'RUBY_OPTIONAL', {'dev-lang/ruby', 'dev-ruby', 'virtual/rubygems'}, <class 'pkgcheck.checks.eclass.RubyMissingDeps'>), ('tmpfiles', 'TMPFILES_OPTIONAL', {'virtual/tmpfiles'}, <class 'pkgcheck.checks.eclass.TmpfilesMissingDeps'>))¶
- known_results = frozenset({<class 'pkgcheck.checks.eclass.GoMissingDeps'>, <class 'pkgcheck.checks.eclass.RubyMissingDeps'>, <class 'pkgcheck.checks.eclass.RustMissingDeps'>, <class 'pkgcheck.checks.eclass.TmpfilesMissingDeps'>})¶
- scope = <PackageScope desc='version' @0x7fb1134c5220>¶
- class pkgcheck.checks.eclass.EclassParseCheck(*args, eclass_addon)[source]¶
Bases:
CheckScan eclasses variables that are only allowed in certain scopes.
- eclass_phase_vars(eclass, phase)[source]¶
Return set of bad variables for a given eclass and potential phase function.
- known_results = frozenset({<class 'pkgcheck.checks.eclass.EclassExportFuncsBeforeInherit'>, <class 'pkgcheck.checks.eclass.EclassVariableScope'>})¶
- required_addons = (<class 'pkgcheck.addons.eclass.EclassAddon'>,)¶
- scope = <LocationScope desc='eclass' @0x7fb113484e10>¶
- class pkgcheck.checks.eclass.EclassUsageCheck(*args, eclass_addon)[source]¶
Bases:
CheckScan packages for various eclass-related issues.
- check_deprecated_functions(pkg, inherits: list[tuple[list[str], int]])[source]¶
Check for usage of @DEPRECATED functions.
- check_deprecated_variables(pkg, inherits: list[tuple[list[str], int]])[source]¶
Check for usage of @DEPRECATED variables.
- check_pre_inherits(pkg, inherits: list[tuple[list[str], int]])[source]¶
Check for invalid @PRE_INHERIT variable placement.
- check_provided_eclasses(pkg, inherits: list[tuple[list[str], int]])[source]¶
Check for usage of eclasses (i.e. redundant inherits) that are provided by another inherited eclass.
- check_user_variables(pkg: ParseTree, inherits: list[tuple[list[str], int]])[source]¶
Check for usage of @USER_VARIABLE variables.
- known_results = frozenset({<class 'pkgcheck.checks.eclass.DeprecatedEclass'>, <class 'pkgcheck.checks.eclass.DeprecatedEclassFunction'>, <class 'pkgcheck.checks.eclass.DeprecatedEclassVariable'>, <class 'pkgcheck.checks.eclass.DuplicateEclassInherit'>, <class 'pkgcheck.checks.eclass.EclassUserVariableUsage'>, <class 'pkgcheck.checks.eclass.MisplacedEclassVar'>, <class 'pkgcheck.checks.eclass.ProvidedEclassInherit'>})¶
- required_addons = (<class 'pkgcheck.addons.eclass.EclassAddon'>,)¶
- scope = <PackageScope desc='version' @0x7fb1134c5220>¶
- class pkgcheck.checks.eclass.EclassUserVariableUsage(eclass, **kwargs)[source]¶
Bases:
LineResult,WarningPackage uses a user variable from an eclass.
- property desc¶
Result description.
- name = 'EclassUserVariableUsage'¶
- class pkgcheck.checks.eclass.EclassVariableScope(variable, func, **kwargs)[source]¶
Bases:
VariableScope,EclassResultEclass using variable outside its defined scope.
- property desc¶
Result description.
- name = 'VariableScope'¶
- class pkgcheck.checks.eclass.GoMissingDeps(pkg, **kwargs)[source]¶
Bases:
VersionResult,WarningPackage sets
GO_OPTIONALbut does not depend ondev-lang/go.- desc = 'sets GO_OPTIONAL but does not depend on dev-lang/go'¶
- name = 'GoMissingDeps'¶
- class pkgcheck.checks.eclass.MisplacedEclassVar(variable, **kwargs)[source]¶
Bases:
LineResult,ErrorInvalid placement of pre-inherit eclass variable in an ebuild.
All eclass variables tagged with @PRE_INHERIT must be set before the first inherit call in an ebuild.
- property desc¶
Result description.
- name = 'MisplacedEclassVar'¶
- class pkgcheck.checks.eclass.ProvidedEclassInherit(provider, **kwargs)[source]¶
Bases:
LineResult,StyleEbuild inherits an eclass which is already provided by another eclass.
When inheriting an eclass which declares
@PROVIDES, those referenced eclasses are guaranteed to be provided by the eclass. Therefore, inheriting them in ebuilds is redundant and should be removed.- property desc¶
Result description.
- name = 'ProvidedEclassInherit'¶
- class pkgcheck.checks.eclass.RubyMissingDeps(pkg, **kwargs)[source]¶
Bases:
VersionResult,WarningPackage sets
RUBY_OPTIONALbut does not depend ondev-lang/rubyorvirtual/rubygems.- desc = 'sets RUBY_OPTIONAL but does not depend on dev-lang/ruby or virtual/rubygems'¶
- name = 'RubyMissingDeps'¶