| From 81b0218e390e36aa2c3d1bdaa124d8af175e9cbb Mon Sep 17 00:00:00 2001 |
| From: Li Zhou <li.zhou@windriver.com> |
| Date: Thu, 2 Apr 2026 15:44:18 +0800 |
| Subject: [PATCH] Not use functions from pkg_resources any more |
| |
| The python3 setuptools 82 dropped pkg_resources module by now. |
| To avoid the failure "No module named 'pkg_resources'", replace the |
| functions from this module with other functions from modules |
| packaging and importlib.metadata. |
| |
| Upstream-Status: Inactive-Upstream [lastcommit: 2023] |
| Signed-off-by: Li Zhou <li.zhou@windriver.com> |
| --- |
| ptr/__init__.py | 23 +++++++++++++---------- |
| 1 file changed, 13 insertions(+), 10 deletions(-) |
| |
| diff --git a/ptr/__init__.py b/ptr/__init__.py |
| index 41192fa..5186059 100644 |
| --- a/ptr/__init__.py |
| +++ b/ptr/__init__.py |
| @@ -10,10 +10,12 @@ import operator as _operator |
| import itertools as _itertools |
| import warnings as _warnings |
| |
| -import pkg_resources |
| import setuptools.command.test as orig |
| from setuptools import Distribution |
| |
| +from importlib.metadata import version |
| +from packaging.version import Version |
| +from packaging.markers import Marker, InvalidMarker |
| |
| @_contextlib.contextmanager |
| def _save_argv(repl=None): |
| @@ -121,7 +123,8 @@ class PyTest(orig.test): |
| instead of declaring the dependency in the package |
| metadata, assert the requirement at run time. |
| """ |
| - pkg_resources.require('setuptools>=27.3') |
| + if Version(version('setuptools')) < Version('27.3'): |
| + raise RuntimeError("setuptools >= 27.3 is required") |
| |
| def finalize_options(self): |
| if self.addopts: |
| @@ -133,11 +136,12 @@ class PyTest(orig.test): |
| Given an environment marker, return True if the marker is valid |
| and matches this environment. |
| """ |
| - return ( |
| - not marker |
| - or not pkg_resources.invalid_marker(marker) |
| - and pkg_resources.evaluate_marker(marker) |
| - ) |
| + if not marker: |
| + return True |
| + try: |
| + return Marker(marker).evaluate() |
| + except InvalidMarker: |
| + return False |
| |
| def install_dists(self, dist): |
| """ |
| @@ -175,9 +179,8 @@ class PyTest(orig.test): |
| "please upgrade to setuptools 30.4 or later or pin to " |
| "pytest-runner < 5." |
| ) |
| - ver_str = pkg_resources.get_distribution('setuptools').version |
| - ver = pkg_resources.parse_version(ver_str) |
| - if ver < pkg_resources.parse_version('30.4'): |
| + ver = Version(version('setuptools')) |
| + if ver < Version('30.4'): |
| _warnings.warn(msg) |
| |
| def run(self): |
| -- |
| 2.34.1 |
| |