diff options
author | 2024-01-16 20:42:59 +0200 | |
---|---|---|
committer | 2024-01-17 08:37:35 +0200 | |
commit | c3407ae2317199c301863b5ac25c456845bdcb18 (patch) | |
tree | 5224787bbbeaa727b2cbbe6df66baf7763550d24 | |
parent | Dockerfile: purge some more caches (diff) | |
download | pkgcheck-c3407ae2317199c301863b5ac25c456845bdcb18.tar.gz pkgcheck-c3407ae2317199c301863b5ac25c456845bdcb18.tar.bz2 pkgcheck-c3407ae2317199c301863b5ac25c456845bdcb18.zip |
OldPackageName: new check for package named after old package name
Resolves: https://github.com/pkgcore/pkgcheck/issues/650
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
4 files changed, 29 insertions, 0 deletions
diff --git a/src/pkgcheck/checks/visibility.py b/src/pkgcheck/checks/visibility.py index 874d1bbf..050b923b 100644 --- a/src/pkgcheck/checks/visibility.py +++ b/src/pkgcheck/checks/visibility.py @@ -214,6 +214,23 @@ class NonsolvableDepsInExp(NonsolvableDeps): _profile = "exp" +class OldPackageName(results.PackageResult, results.Error): + """Package uses old name which is source of pkgmove. + + Package is using ``${CATEGORY}/${PN}`` which is the source of a + pkgmove. It should be updated to the destination (new name) from + this repository or one of its master repositories. + """ + + def __init__(self, new_name: str, **kwargs): + super().__init__(**kwargs) + self.new_name = new_name + + @property + def desc(self): + return f"package uses old name which is source of pkgmove, rename into {self.new_name!r}" + + class VisibilityCheck(feeds.EvaluateDepSet, feeds.QueryCache, Check): """Visibility dependency scans. @@ -232,6 +249,7 @@ class VisibilityCheck(feeds.EvaluateDepSet, feeds.QueryCache, Check): NonsolvableDepsInDev, NonsolvableDepsInExp, DependencyMoved, + OldPackageName, } ) @@ -269,6 +287,9 @@ class VisibilityCheck(feeds.EvaluateDepSet, feeds.QueryCache, Check): # vcs ebuild that better not be visible yield from self.check_visibility_vcs(pkg) + if pkg.key in self.pkgmoves: + yield OldPackageName(self.pkgmoves[pkg.key], pkg=pkg) + suppressed_depsets = [] for attr in (x.lower() for x in pkg.eapi.dep_keys): nonexistent = set() diff --git a/testdata/data/repos/visibility/VisibilityCheck/OldPackageName/expected.json b/testdata/data/repos/visibility/VisibilityCheck/OldPackageName/expected.json new file mode 100644 index 00000000..fcc053e4 --- /dev/null +++ b/testdata/data/repos/visibility/VisibilityCheck/OldPackageName/expected.json @@ -0,0 +1 @@ +{"__class__": "OldPackageName", "category": "VisibilityCheck", "package": "OldPackageName", "new_name": "stub/random-pkgname"} diff --git a/testdata/repos/visibility/VisibilityCheck/OldPackageName/OldPackageName-0.ebuild b/testdata/repos/visibility/VisibilityCheck/OldPackageName/OldPackageName-0.ebuild new file mode 100644 index 00000000..842db9dd --- /dev/null +++ b/testdata/repos/visibility/VisibilityCheck/OldPackageName/OldPackageName-0.ebuild @@ -0,0 +1,6 @@ +EAPI=7 +DESCRIPTION="Ebuild with pkgmoved name" +HOMEPAGE="https://github.com/pkgcore/pkgcheck" +SLOT="0" +LICENSE="BSD" +KEYWORDS="~amd64" diff --git a/testdata/repos/visibility/profiles/updates/1Q-2024 b/testdata/repos/visibility/profiles/updates/1Q-2024 index 518e4bf5..dfb9b553 100644 --- a/testdata/repos/visibility/profiles/updates/1Q-2024 +++ b/testdata/repos/visibility/profiles/updates/1Q-2024 @@ -1 +1,2 @@ move stub/old-name stub/stable +move VisibilityCheck/OldPackageName stub/random-pkgname |