Python 3.13 compatibility patches
- Fixes: rhbz#2259516
This commit is contained in:
parent
6cfde0c365
commit
7731644df4
40
4356.patch
Normal file
40
4356.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From d53bf1509f40c8e84feb62ac13e91b76074a063a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Tue, 14 May 2024 16:19:02 +0200
|
||||
Subject: [PATCH] Explicitly disallow resource paths starting with single
|
||||
backslash
|
||||
|
||||
Previously, such paths were disallowed implicitly
|
||||
as they were treated as Windows absolute paths.
|
||||
|
||||
Since Python 3.13, paths starting with a single backslash are not considered
|
||||
Windows-absolute, so we treat them specially.
|
||||
|
||||
This change makes the existing doctest pass with Python 3.13.
|
||||
|
||||
Partially fixes https://github.com/pypa/setuptools/issues/4196
|
||||
---
|
||||
pkg_resources/__init__.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pkg_resources/__init__.py b/pkg_resources/__init__.py
|
||||
index 713d9bdfa3..faee7dec79 100644
|
||||
--- a/pkg_resources/__init__.py
|
||||
+++ b/pkg_resources/__init__.py
|
||||
@@ -1604,6 +1604,7 @@ def _validate_resource_path(path):
|
||||
os.path.pardir in path.split(posixpath.sep)
|
||||
or posixpath.isabs(path)
|
||||
or ntpath.isabs(path)
|
||||
+ or path.startswith("\\")
|
||||
)
|
||||
if not invalid:
|
||||
return
|
||||
@@ -1611,7 +1612,7 @@ def _validate_resource_path(path):
|
||||
msg = "Use of .. or absolute path in a resource path is not allowed."
|
||||
|
||||
# Aggressively disallow Windows absolute paths
|
||||
- if ntpath.isabs(path) and not posixpath.isabs(path):
|
||||
+ if (path.startswith("\\") or ntpath.isabs(path)) and not posixpath.isabs(path):
|
||||
raise ValueError(msg)
|
||||
|
||||
# for compatibility, warn; in future
|
30
4357.patch
Normal file
30
4357.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From c6266e423fa26aafa01f1df71de7c6613273155e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Tue, 14 May 2024 16:24:07 +0200
|
||||
Subject: [PATCH] Make the validation test for entry-points work with Python
|
||||
3.13+
|
||||
|
||||
The exception in importlib.metadata has changed.
|
||||
See https://github.com/python/importlib_metadata/issues/488
|
||||
|
||||
This makes an existing test pass with Python 3.13.
|
||||
|
||||
Partially fixes https://github.com/pypa/setuptools/issues/4196
|
||||
---
|
||||
setuptools/_entry_points.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setuptools/_entry_points.py b/setuptools/_entry_points.py
|
||||
index 747a69067e..b244e78387 100644
|
||||
--- a/setuptools/_entry_points.py
|
||||
+++ b/setuptools/_entry_points.py
|
||||
@@ -17,7 +17,8 @@ def ensure_valid(ep):
|
||||
"""
|
||||
try:
|
||||
ep.extras
|
||||
- except AttributeError as ex:
|
||||
+ except (AttributeError, AssertionError) as ex:
|
||||
+ # Why both? See https://github.com/python/importlib_metadata/issues/488
|
||||
msg = (
|
||||
f"Problems to parse {ep}.\nPlease ensure entry-point follows the spec: "
|
||||
"https://packaging.python.org/en/latest/specifications/entry-points/"
|
@ -45,6 +45,10 @@ Patch: Remove-optional-or-unpackaged-test-deps.patch
|
||||
# adjust it, but only when $RPM_BUILD_ROOT is set
|
||||
Patch: Adjust-the-setup.py-install-deprecation-message.patch
|
||||
|
||||
# Python 3.13 compatibility patches, merged upstream
|
||||
Patch: https://github.com/pypa/setuptools/pull/4356.patch
|
||||
Patch: https://github.com/pypa/setuptools/pull/4357.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
|
Loading…
Reference in New Issue
Block a user