pkgcheck.checks.git module¶
Various git-related checks.
- class pkgcheck.checks.git.BadCommitSummary(error, summary, **kwargs)[source]¶
Bases:
CommitResult,StyleLocal package commit with poorly formatted or unmatching commit summary.
Git commit messages for packages should be formatted in the standardized fashion described in the devmanual [1]. Specifically, a
${CATEGORY}/${PN}:or${CATEGORY}/${P}:prefix should be used in the summary relating to the modified package.- property desc¶
Result description.
- name = 'BadCommitSummary'¶
- class pkgcheck.checks.git.DirectNoMaintainer(pkg, **kwargs)[source]¶
Bases:
PackageResult,ErrorDirectly added, new package with no specified maintainer.
- property desc¶
Result description.
- name = 'DirectNoMaintainer'¶
- class pkgcheck.checks.git.DirectStableKeywords(keywords, **kwargs)[source]¶
Bases:
VersionResult,ErrorNewly committed ebuild with stable keywords.
- property desc¶
Result description.
- name = 'DirectStableKeywords'¶
- class pkgcheck.checks.git.DroppedStableKeywords(keywords, commit, **kwargs)[source]¶
Bases:
_DroppedKeywords,ErrorStable keywords dropped from package.
- name = 'DroppedStableKeywords'¶
- class pkgcheck.checks.git.DroppedUnstableKeywords(keywords, commit, **kwargs)[source]¶
Bases:
_DroppedKeywords,ErrorUnstable keywords dropped from package.
- name = 'DroppedUnstableKeywords'¶
- class pkgcheck.checks.git.EAPIChangeWithoutRevbump(pkg, **kwargs)[source]¶
Bases:
PackageResult,WarningPackage has changed EAPI without revbump.
The package has changed EAPI without a new revision. An EAPI bump might affect the installed files (EAPI changes, eclass functions may change behavior, new portage features might be used, etc.). The change should also be reflected in the vdb’s EAPI file.
- desc = 'changed EAPI without new revision'¶
- name = 'EAPIChangeWithoutRevbump'¶
- class pkgcheck.checks.git.EbuildIncorrectCopyright(year, line, **kwargs)[source]¶
Bases:
IncorrectCopyright,VersionResultChanged ebuild with incorrect copyright date.
- name = 'IncorrectCopyright'¶
- class pkgcheck.checks.git.EclassIncorrectCopyright(year, line, **kwargs)[source]¶
Bases:
IncorrectCopyright,EclassResultChanged eclass with incorrect copyright date.
- property desc¶
Result description.
- name = 'IncorrectCopyright'¶
- class pkgcheck.checks.git.GitCommitMessageCheck(*args)[source]¶
Bases:
GentooRepoCheck,GitCommitsCheckCheck unpushed git commit messages for various issues.
- git_cat_file¶
Start a git cat-file process to verify git repo hashes.
- known_results = frozenset({<class 'pkgcheck.checks.git.BadCommitSummary'>, <class 'pkgcheck.checks.git.InvalidCommitMessage'>, <class 'pkgcheck.checks.git.InvalidCommitTag'>, <class 'pkgcheck.checks.git.MissingSignOff'>})¶
- known_tags = {'Bug': (<function GitCommitMessageCheck._bug_tag>, False), 'Closes': (<function GitCommitMessageCheck._bug_tag>, False), 'Fixes': (<function GitCommitMessageCheck._commit_tag>, False), 'Gentoo-Bug': (<function GitCommitMessageCheck._deprecated_tag>, False), 'Reverts': (<function GitCommitMessageCheck._commit_tag>, False), 'Signed-off-by': (<function GitCommitMessageCheck._signed_off_by_tag>, True)}¶
- scope = <ConditionalScope desc='commit' @0x7fb113521e80>¶
- skipped_categories = frozenset({'acct-group', 'acct-user', 'virtual'})¶
- class pkgcheck.checks.git.GitCommitsRepoSource(options, git_addon: GitAddon)[source]¶
Bases:
RepoSourceRepository source for locally changed packages in git history.
Parses git log history to determine packages with changes that haven’t been pushed upstream yet.
- required_addons = (<class 'pkgcheck.addons.git.GitAddon'>,)¶
- class pkgcheck.checks.git.GitCommitsSource(*args, git_addon: GitAddon)[source]¶
Bases:
SourceSource for local commits in git history.
Parses git log history to determine commits that haven’t been pushed upstream yet.
- required_addons = (<class 'pkgcheck.addons.git.GitAddon'>,)¶
- scope = <ConditionalScope desc='commit' @0x7fb113521e80>¶
- class pkgcheck.checks.git.GitEclassCommitsCheck(*args)[source]¶
Bases:
GentooRepoCheck,GitCommitsCheckCheck unpushed git eclass commits for various issues.
- known_results = frozenset({<class 'pkgcheck.checks.git.EclassIncorrectCopyright'>})¶
- scope = <LocationScope desc='eclass' @0x7fb113484e10>¶
- class pkgcheck.checks.git.GitPkgCommitsCheck(*args, git_addon: GitAddon, eclass_addon: EclassAddon)[source]¶
Bases:
GentooRepoCheck,GitCommitsCheckCheck unpushed git package commits for various issues.
- added_repo¶
Create/load cached repo of packages added to git.
- allowed_direct_stable = frozenset({'acct-group', 'acct-user', 'sec-keys', 'virtual'})¶
- env_array_elem_regex = re.compile('\\[\\d+\\]="(?P<val>.+?)"')¶
- feed(pkgset: list[GitPkgChange])[source]¶
Handle functionality against the passed in item.
- known_results = frozenset({<class 'pkgcheck.checks.git.DirectNoMaintainer'>, <class 'pkgcheck.checks.git.DirectStableKeywords'>, <class 'pkgcheck.checks.git.DroppedStableKeywords'>, <class 'pkgcheck.checks.git.DroppedUnstableKeywords'>, <class 'pkgcheck.checks.git.EAPIChangeWithoutRevbump'>, <class 'pkgcheck.checks.git.EbuildIncorrectCopyright'>, <class 'pkgcheck.checks.git.MissingMove'>, <class 'pkgcheck.checks.git.MissingSlotmove'>, <class 'pkgcheck.checks.git.NewerEAPIAvailable'>, <class 'pkgcheck.checks.git.OldPythonCompat'>, <class 'pkgcheck.checks.git.PythonPEP517WithoutRevbump'>, <class 'pkgcheck.checks.git.RdependChange'>, <class 'pkgcheck.checks.git.SrcUriChecksumChange'>, <class 'pkgcheck.checks.git.SuspiciousSrcUriChange'>})¶
- modified_repo¶
Create a repository of old packages newly modified in git.
- python_compat_declare_regex = re.compile('^declare -a PYTHON_COMPAT=(?P<value>.+)$')¶
- python_pep517_regex = re.compile('^DISTUTILS_USE_PEP517=')¶
- removal_repo¶
Create a repository of packages removed from git.
- required_addons = (<class 'pkgcheck.addons.git.GitAddon'>, <class 'pkgcheck.addons.eclass.EclassAddon'>)¶
- scope = <PackageScope desc='package' @0x7fb113484b90>¶
- class pkgcheck.checks.git.IncorrectCopyright(year, line, **kwargs)[source]¶
Bases:
AliasResult,WarningChanged file with incorrect copyright date.
- property desc¶
Result description.
- name = 'IncorrectCopyright'¶
- class pkgcheck.checks.git.InvalidCommitMessage(error, **kwargs)[source]¶
Bases:
CommitResult,StyleLocal commit has issues with its commit message.
- property desc¶
Result description.
- name = 'InvalidCommitMessage'¶
- class pkgcheck.checks.git.InvalidCommitTag(tag: str, value: str, error: str, **kwargs)[source]¶
Bases:
CommitResult,StyleLocal commit has a tag that is incompliant.
Commit tags have restrictions as to the allowed format and data used per GLEP 66 [2].
[2] - property desc¶
Result description.
- name = 'InvalidCommitTag'¶
- class pkgcheck.checks.git.MissingMove(old, new, **kwargs)[source]¶
Bases:
PackageResult,ErrorPackage was renamed without adding a move package update.
When moving/renaming a package, a new entry must be created in profiles/updates. See the devmanual [3] for more info.
[3] https://devmanual.gentoo.org/ebuild-maintenance/package-moves/
- property desc¶
Result description.
- name = 'MissingMove'¶
- class pkgcheck.checks.git.MissingSignOff(missing_sign_offs, **kwargs)[source]¶
Bases:
CommitResult,ErrorLocal commit with missing sign offs.
Sign offs are required for commits as specified by GLEP 76 [4]. Note that sign off tags will be flagged if the name or email address doesn’t match the values used by the commit author.
[4] https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin
- property desc¶
Result description.
- name = 'MissingSignOff'¶
- class pkgcheck.checks.git.MissingSlotmove(old, new, **kwargs)[source]¶
Bases:
VersionResult,ErrorPackage SLOT was changed without adding a slotmove package update.
When changing an existing ebuild’s SLOT, a new entry must be created in profiles/updates. See the devmanual [5] for more info.
[5] https://devmanual.gentoo.org/ebuild-maintenance/package-moves/
- property desc¶
Result description.
- name = 'MissingSlotmove'¶
- class pkgcheck.checks.git.NewerEAPIAvailable(eapi: int, **kwargs)[source]¶
Bases:
VersionResult,WarningPackage is eligible for a newer EAPI.
A new package version was added, using an older EAPI, than all supported by inherited eclasses. You should consider bumping the EAPI to the suggested value.
- property desc¶
Result description.
- name = 'NewerEAPIAvailable'¶
- class pkgcheck.checks.git.OldPythonCompat(old_targets, **kwargs)[source]¶
Bases:
VersionResult,WarningPackage still lists old targets in
PYTHON_COMPAT.- property desc¶
Result description.
- name = 'OldPythonCompat'¶
- class pkgcheck.checks.git.PythonPEP517WithoutRevbump(pkg, **kwargs)[source]¶
Bases:
PackageResult,WarningPackage has started/stopped using DISTUTILS_USE_PEP517 without revbump.
The package has started or stopped using DISTUTILS_USE_PEP517 without a new revision. PEP517 affects the files installed by a package and might lead to some files missing.
- desc = 'changed DISTUTILS_USE_PEP517 without new revision'¶
- name = 'PythonPEP517WithoutRevbump'¶
- class pkgcheck.checks.git.RdependChange(pkg, **kwargs)[source]¶
Bases:
VersionResult,WarningPackage RDEPEND was modified without adding a new ebuild revision.
- property desc¶
Result description.
- name = 'RdependChange'¶
- class pkgcheck.checks.git.SrcUriChecksumChange(filename, **kwargs)[source]¶
Bases:
PackageResult,ErrorSRC_URI changing checksum without distfile rename.
- property desc¶
Result description.
- name = 'SrcUriChecksumChange'¶