aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Zamarin <arthurzam@gentoo.org>2023-12-10 22:08:21 +0200
committerArthur Zamarin <arthurzam@gentoo.org>2023-12-10 22:08:21 +0200
commit4776408e959fdde32f05b9dc57141cdf890406c3 (patch)
tree61b30f58d7826d8d8caa980a1a04ef71b6004cf7
parentOutdatedProfilePackage: don't warn when version was removed not long ago (diff)
downloadpkgcheck-4776408e959fdde32f05b9dc57141cdf890406c3.tar.gz
pkgcheck-4776408e959fdde32f05b9dc57141cdf890406c3.tar.bz2
pkgcheck-4776408e959fdde32f05b9dc57141cdf890406c3.zip
DeprecatedDep: fix mishandling of slotted deprecates
Resolves: https://github.com/pkgcore/pkgcheck/issues/642 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
-rw-r--r--src/pkgcheck/checks/metadata.py2
-rw-r--r--testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/expected.json4
-rw-r--r--testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/fix.patch6
-rw-r--r--testdata/repos/visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild2
-rw-r--r--testdata/repos/visibility/DeprecatedDep/optional/optional-0.ebuild4
-rw-r--r--testdata/repos/visibility/profiles/eapi1
-rw-r--r--testdata/repos/visibility/profiles/package.deprecated2
7 files changed, 11 insertions, 10 deletions
diff --git a/src/pkgcheck/checks/metadata.py b/src/pkgcheck/checks/metadata.py
index 3219036f..2aba62f0 100644
--- a/src/pkgcheck/checks/metadata.py
+++ b/src/pkgcheck/checks/metadata.py
@@ -942,7 +942,7 @@ class DependencyCheck(Check):
if not atom.blocks and self.deprecated(atom):
# verify all matching packages are deprecated
pkgs = self.options.search_repo.match(atom.no_usedeps)
- if all(self.deprecated(x.versioned_atom) for x in pkgs):
+ if all(map(self.deprecated, pkgs)):
deprecated[attr].add(atom)
if in_or_restriction and atom.slot_operator == "=":
diff --git a/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/expected.json b/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/expected.json
index 000727cf..8753cd9d 100644
--- a/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/expected.json
+++ b/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/expected.json
@@ -1,2 +1,2 @@
-{"__class__": "DeprecatedDep", "category": "DeprecatedDep", "package": "nonoptional", "version": "0", "attr": "RDEPEND", "atoms": ["stub/deprecated"]}
-{"__class__": "DeprecatedDep", "category": "DeprecatedDep", "package": "optional", "version": "0", "attr": "RDEPEND", "atoms": ["stub/deprecated"]}
+{"__class__": "DeprecatedDep", "category": "DeprecatedDep", "package": "nonoptional", "version": "0", "attr": "RDEPEND", "atoms": ["stub/deprecated:0"]}
+{"__class__": "DeprecatedDep", "category": "DeprecatedDep", "package": "optional", "version": "0", "attr": "RDEPEND", "atoms": ["stub/deprecated:0"]}
diff --git a/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/fix.patch b/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/fix.patch
index 46673370..f7fabb76 100644
--- a/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/fix.patch
+++ b/testdata/data/repos/visibility/DependencyCheck/DeprecatedDep/fix.patch
@@ -5,7 +5,7 @@ diff -Naur visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild fixed/Depre
SLOT="0"
LICENSE="BSD"
KEYWORDS="~amd64"
--RDEPEND="stub/deprecated"
+-RDEPEND="stub/deprecated:0"
+RDEPEND="stub/unstable"
diff -Naur visibility/DeprecatedDep/optional/optional-0.ebuild fixed/DeprecatedDep/optional/optional-0.ebuild
--- visibility/DeprecatedDep/optional/optional-0.ebuild 2019-12-26 20:39:13.559577724 -0700
@@ -13,7 +13,7 @@ diff -Naur visibility/DeprecatedDep/optional/optional-0.ebuild fixed/DeprecatedD
@@ -6,5 +6,5 @@
KEYWORDS="~amd64"
RDEPEND="
- !stub/deprecated
-- || ( stub/unstable stub/deprecated )
+ !stub/deprecated:0
+- || ( stub/unstable stub/deprecated:0 )
+ stub/unstable
"
diff --git a/testdata/repos/visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild b/testdata/repos/visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild
index 91ea8552..5e5aa2b7 100644
--- a/testdata/repos/visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild
+++ b/testdata/repos/visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild
@@ -4,4 +4,4 @@ HOMEPAGE="https://github.com/pkgcore/pkgcheck"
SLOT="0"
LICENSE="BSD"
KEYWORDS="~amd64"
-RDEPEND="stub/deprecated"
+RDEPEND="stub/deprecated:0"
diff --git a/testdata/repos/visibility/DeprecatedDep/optional/optional-0.ebuild b/testdata/repos/visibility/DeprecatedDep/optional/optional-0.ebuild
index 5daadc44..9be9564e 100644
--- a/testdata/repos/visibility/DeprecatedDep/optional/optional-0.ebuild
+++ b/testdata/repos/visibility/DeprecatedDep/optional/optional-0.ebuild
@@ -5,6 +5,6 @@ SLOT="0"
LICENSE="BSD"
KEYWORDS="~amd64"
RDEPEND="
- !stub/deprecated
- || ( stub/unstable stub/deprecated )
+ !stub/deprecated:0
+ || ( stub/unstable stub/deprecated:0 )
"
diff --git a/testdata/repos/visibility/profiles/eapi b/testdata/repos/visibility/profiles/eapi
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/testdata/repos/visibility/profiles/eapi
@@ -0,0 +1 @@
+5
diff --git a/testdata/repos/visibility/profiles/package.deprecated b/testdata/repos/visibility/profiles/package.deprecated
index e1527132..13a5a90b 100644
--- a/testdata/repos/visibility/profiles/package.deprecated
+++ b/testdata/repos/visibility/profiles/package.deprecated
@@ -1 +1 @@
-stub/deprecated
+stub/deprecated:0