commit:     4776408e959fdde32f05b9dc57141cdf890406c3
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 10 20:08:21 2023 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Dec 10 20:08:21 2023 +0000
URL:        
https://gitweb.gentoo.org/proj/pkgcore/pkgcheck.git/commit/?id=4776408e

DeprecatedDep: fix mishandling of slotted deprecates

Resolves: https://github.com/pkgcore/pkgcheck/issues/642
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 src/pkgcheck/checks/metadata.py                                     | 2 +-
 .../repos/visibility/DependencyCheck/DeprecatedDep/expected.json    | 4 ++--
 .../data/repos/visibility/DependencyCheck/DeprecatedDep/fix.patch   | 6 +++---
 .../repos/visibility/DeprecatedDep/nonoptional/nonoptional-0.ebuild | 2 +-
 testdata/repos/visibility/DeprecatedDep/optional/optional-0.ebuild  | 4 ++--
 testdata/repos/visibility/profiles/eapi                             | 1 +
 testdata/repos/visibility/profiles/package.deprecated               | 2 +-
 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

Reply via email to