From 8d708a35350ba7d7e8ee2ab9bf8b896245e8ff6f Mon Sep 17 00:00:00 2001 From: Miro HronĨok Date: Sep 25 2024 18:01:57 +0000 Subject: When checking for deprecated() requires, include version constraints E.g. treat `python3dist(pytest) < 8` other than just `python3dist(pytest)`. --- diff --git a/plugins/generic.py b/plugins/generic.py index 5671cfd..1c3505e 100644 --- a/plugins/generic.py +++ b/plugins/generic.py @@ -2165,8 +2165,8 @@ class CheckIfDepsDeprecated(GenericCheckBase): pkg_list = set() for pkg in self.spec.packages: - pkg_list |= set(self.rpms.get(pkg).requires) - pkg_list |= set(self.spec.build_requires) + pkg_list |= set(self.rpms.get(pkg).requires_nevrs) + pkg_list |= set(self.spec.build_requires_nevrs) for dependency, providers in resolve_as_groups(pkg_list).items(): for pkg in providers: diff --git a/src/FedoraReview/rpm_file.py b/src/FedoraReview/rpm_file.py index c041389..8b63dd3 100644 --- a/src/FedoraReview/rpm_file.py +++ b/src/FedoraReview/rpm_file.py @@ -149,6 +149,12 @@ class RpmFile(object): return self.header[rpm.RPMTAG_REQUIRES] @property + def requires_nevrs(self): + """List of requires with versions, also auto-generated for rpm.""" + self.init() + return self.header[rpm.RPMTAG_REQUIRENEVRS] + + @property def provides(self): """List of provides, also auto-generated for rpm.""" self.init() diff --git a/src/FedoraReview/spec_file.py b/src/FedoraReview/spec_file.py index 2db78d7..58567d1 100644 --- a/src/FedoraReview/spec_file.py +++ b/src/FedoraReview/spec_file.py @@ -278,6 +278,11 @@ class SpecFile(object): """Return the list of build requirements.""" return self.spec.sourceHeader[rpm.RPMTAG_REQUIRES] + @property + def build_requires_nevrs(self): + """Return the list of build requirements, but with versions.""" + return self.spec.sourceHeader[rpm.RPMTAG_REQUIRENEVRS] + def get_requires(self, pkg_name=None): """Return list of requirements i. e., Requires:""" package = self._get_pkg_by_name(pkg_name)