Skip to content

Commit dacab55

Browse files
committed
OldPackageNameDep: check for dependency using pkgmoved name
Resolves: #659 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
1 parent 722236d commit dacab55

3 files changed

Lines changed: 37 additions & 0 deletions

File tree

src/pkgcheck/checks/visibility.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,25 @@ def desc(self):
231231
return f"package uses old name which is source of pkgmove, rename into {self.new_name!r}"
232232

233233

234+
class OldPackageNameDep(results.VersionResult, results.Error):
235+
"""Package depends on old name which is source of pkgmove.
236+
237+
Package depends on ``${CATEGORY}/${PN}`` which is the source of a
238+
pkgmove. It should be updated to the destination (new name) from
239+
this repository or one of its master repositories.
240+
"""
241+
242+
def __init__(self, attr: str, dep: str, new_name: str, **kwargs):
243+
super().__init__(**kwargs)
244+
self.attr = attr
245+
self.dep = dep
246+
self.new_name = new_name
247+
248+
@property
249+
def desc(self):
250+
return f"{self.attr}: {self.dep!r} uses old package name which is the source of a pkgmove, rename into {self.new_name!r}"
251+
252+
234253
class VisibilityCheck(feeds.EvaluateDepSet, feeds.QueryCache, Check):
235254
"""Visibility dependency scans.
236255
@@ -250,6 +269,7 @@ class VisibilityCheck(feeds.EvaluateDepSet, feeds.QueryCache, Check):
250269
NonsolvableDepsInExp,
251270
DependencyMoved,
252271
OldPackageName,
272+
OldPackageNameDep,
253273
}
254274
)
255275

@@ -295,6 +315,11 @@ def feed(self, pkg):
295315
nonexistent = set()
296316
try:
297317
for orig_node in visit_atoms(pkg, getattr(pkg, attr)):
318+
if orig_node.key in self.pkgmoves:
319+
yield OldPackageNameDep(
320+
attr, str(orig_node), self.pkgmoves[orig_node.key], pkg=pkg
321+
)
322+
298323
node = orig_node.no_usedeps
299324
if node not in self.query_cache:
300325
if node in self.profiles.global_insoluble:
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{"__class__": "OldPackageNameDep", "category": "DependencyMoved", "package": "DependencyMoved", "version": "0", "attr": "bdepend", "dep": ">=stub/old-name-2.71-r6:2.71", "new_name": "stub/stable"}
2+
{"__class__": "OldPackageNameDep", "category": "DependencyMoved", "package": "DependencyMoved", "version": "0", "attr": "rdepend", "dep": "stub/old-name:2", "new_name": "stub/stable"}
3+
{"__class__": "OldPackageNameDep", "category": "DependencyMoved", "package": "DependencyMoved", "version": "0", "attr": "rdepend", "dep": "~stub/old-name-2", "new_name": "stub/stable"}
4+
{"__class__": "OldPackageNameDep", "category": "VisibilityCheck", "package": "OldPackageNameDep", "version": "0", "attr": "rdepend", "dep": "!VisibilityCheck/OldPackageName", "new_name": "stub/random-pkgname"}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
EAPI=7
2+
DESCRIPTION="Ebuild with pkgmoved dep"
3+
HOMEPAGE="https://github.com/pkgcore/pkgcheck"
4+
SLOT="0"
5+
LICENSE="BSD"
6+
KEYWORDS="~amd64"
7+
8+
RDEPEND="!VisibilityCheck/OldPackageName"

0 commit comments

Comments
 (0)