Drop requirement on python-wheel-wheel with setuptools >= 71
This commit is contained in:
parent
6ad4282b30
commit
1821cc8674
3 changed files with 162 additions and 3 deletions
|
|
@ -0,0 +1,110 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
|
||||
Date: Fri, 25 Apr 2025 00:46:20 +0100
|
||||
Subject: 00460: gh-132415: Update vendored setuptools in
|
||||
``Lib/test/wheeldata``
|
||||
|
||||
(cherry picked from commit c9f3f5b4ed52d7bed6073ffa39717ece47202558)
|
||||
(actual changes in .whl files removed to make this patch smaller)
|
||||
|
||||
gh-127906: Add missing sys import to test_cppext
|
||||
|
||||
(cherry picked from commit 9cba14881b371b1e95d57877896169c4605f9b75)
|
||||
|
||||
Co-Authored-By: Victor Stinner <vstinner@python.org>
|
||||
---
|
||||
Lib/test/support/__init__.py | 11 +++++------
|
||||
Lib/test/test_cext/__init__.py | 2 +-
|
||||
Lib/test/test_cppext/__init__.py | 2 +-
|
||||
Lib/test/test_cppext/setup.py | 1 +
|
||||
Lib/test/test_peg_generator/test_c_parser.py | 2 +-
|
||||
5 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
|
||||
index c899347624..223787244f 100644
|
||||
--- a/Lib/test/support/__init__.py
|
||||
+++ b/Lib/test/support/__init__.py
|
||||
@@ -2260,7 +2260,7 @@ def _findwheel(pkgname):
|
||||
filenames = os.listdir(wheel_dir)
|
||||
filenames = sorted(filenames, reverse=True) # approximate "newest" first
|
||||
for filename in filenames:
|
||||
- # filename is like 'setuptools-67.6.1-py3-none-any.whl'
|
||||
+ # filename is like 'setuptools-{version}-py3-none-any.whl'
|
||||
if not filename.endswith(".whl"):
|
||||
continue
|
||||
prefix = pkgname + '-'
|
||||
@@ -2269,10 +2269,10 @@ def _findwheel(pkgname):
|
||||
raise FileNotFoundError(f"No wheel for {pkgname} found in {wheel_dir}")
|
||||
|
||||
|
||||
-# Context manager that creates a virtual environment, install setuptools and wheel in it
|
||||
-# and returns the path to the venv directory and the path to the python executable
|
||||
+# Context manager that creates a virtual environment, install setuptools in it,
|
||||
+# and returns the paths to the venv directory and the python executable
|
||||
@contextlib.contextmanager
|
||||
-def setup_venv_with_pip_setuptools_wheel(venv_dir):
|
||||
+def setup_venv_with_pip_setuptools(venv_dir):
|
||||
import subprocess
|
||||
from .os_helper import temp_cwd
|
||||
|
||||
@@ -2295,8 +2295,7 @@ def setup_venv_with_pip_setuptools_wheel(venv_dir):
|
||||
|
||||
cmd = [python, '-X', 'dev',
|
||||
'-m', 'pip', 'install',
|
||||
- _findwheel('setuptools'),
|
||||
- _findwheel('wheel')]
|
||||
+ _findwheel('setuptools')]
|
||||
if verbose:
|
||||
print()
|
||||
print('Run:', ' '.join(cmd))
|
||||
diff --git a/Lib/test/test_cext/__init__.py b/Lib/test/test_cext/__init__.py
|
||||
index d5ea1dc660..04a6361ff3 100644
|
||||
--- a/Lib/test/test_cext/__init__.py
|
||||
+++ b/Lib/test/test_cext/__init__.py
|
||||
@@ -53,7 +53,7 @@ def check_build(self, extension_name, std=None, limited=False):
|
||||
self.skipTest('Py_LIMITED_API is incompatible with Py_TRACE_REFS')
|
||||
|
||||
venv_dir = 'env'
|
||||
- with support.setup_venv_with_pip_setuptools_wheel(venv_dir) as python_exe:
|
||||
+ with support.setup_venv_with_pip_setuptools(venv_dir) as python_exe:
|
||||
self._check_build(extension_name, python_exe,
|
||||
std=std, limited=limited)
|
||||
|
||||
diff --git a/Lib/test/test_cppext/__init__.py b/Lib/test/test_cppext/__init__.py
|
||||
index 2198b7b2c0..31ea4ac7a1 100644
|
||||
--- a/Lib/test/test_cppext/__init__.py
|
||||
+++ b/Lib/test/test_cppext/__init__.py
|
||||
@@ -51,7 +51,7 @@ def check_build(self, extension_name, std=None, limited=False):
|
||||
self.skipTest('Py_LIMITED_API is incompatible with Py_TRACE_REFS')
|
||||
|
||||
venv_dir = 'env'
|
||||
- with support.setup_venv_with_pip_setuptools_wheel(venv_dir) as python_exe:
|
||||
+ with support.setup_venv_with_pip_setuptools(venv_dir) as python_exe:
|
||||
self._check_build(extension_name, python_exe,
|
||||
std=std, limited=limited)
|
||||
|
||||
diff --git a/Lib/test/test_cppext/setup.py b/Lib/test/test_cppext/setup.py
|
||||
index 019ff18446..25d71cd9a2 100644
|
||||
--- a/Lib/test/test_cppext/setup.py
|
||||
+++ b/Lib/test/test_cppext/setup.py
|
||||
@@ -3,6 +3,7 @@
|
||||
import os
|
||||
import platform
|
||||
import shlex
|
||||
+import sys
|
||||
import sysconfig
|
||||
from test import support
|
||||
|
||||
diff --git a/Lib/test/test_peg_generator/test_c_parser.py b/Lib/test/test_peg_generator/test_c_parser.py
|
||||
index eb31569c03..2fe1367b51 100644
|
||||
--- a/Lib/test/test_peg_generator/test_c_parser.py
|
||||
+++ b/Lib/test/test_peg_generator/test_c_parser.py
|
||||
@@ -99,7 +99,7 @@ def setUpClass(cls):
|
||||
cls.addClassCleanup(shutil.rmtree, cls.library_dir)
|
||||
|
||||
with contextlib.ExitStack() as stack:
|
||||
- python_exe = stack.enter_context(support.setup_venv_with_pip_setuptools_wheel("venv"))
|
||||
+ python_exe = stack.enter_context(support.setup_venv_with_pip_setuptools("venv"))
|
||||
sitepackages = subprocess.check_output(
|
||||
[python_exe, "-c", "import sysconfig; print(sysconfig.get_path('platlib'))"],
|
||||
text=True,
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||
Date: Fri, 25 Apr 2025 09:33:37 +0200
|
||||
Subject: 00461: Downstream only: Install wheel in test venvs when setuptools <
|
||||
71
|
||||
|
||||
---
|
||||
Lib/test/support/__init__.py | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
|
||||
index 223787244f..94f55ccaf0 100644
|
||||
--- a/Lib/test/support/__init__.py
|
||||
+++ b/Lib/test/support/__init__.py
|
||||
@@ -2293,9 +2293,18 @@ def setup_venv_with_pip_setuptools(venv_dir):
|
||||
else:
|
||||
python = os.path.join(venv, 'bin', python_exe)
|
||||
|
||||
+ setuptools_whl = _findwheel('setuptools')
|
||||
+ whl_filename = os.path.basename(setuptools_whl)
|
||||
+ setuptools_major = int(whl_filename.split('-')[1].split('.')[0])
|
||||
+ if setuptools_major >= 71: # we need 70.1+, but that's OK
|
||||
+ wheels = (setuptools_whl,)
|
||||
+ else:
|
||||
+ wheels = (setuptools_whl, _findwheel('wheel'))
|
||||
+
|
||||
cmd = [python, '-X', 'dev',
|
||||
'-m', 'pip', 'install',
|
||||
- _findwheel('setuptools')]
|
||||
+ *wheels,
|
||||
+ ]
|
||||
if verbose:
|
||||
print()
|
||||
print('Run:', ' '.join(cmd))
|
||||
|
|
@ -17,7 +17,7 @@ URL: https://www.python.org/
|
|||
#global prerel ...
|
||||
%global upstream_version %{general_version}%{?prerel}
|
||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
License: Python-2.0.1
|
||||
|
||||
|
||||
|
|
@ -298,7 +298,7 @@ BuildRequires: /usr/sbin/ifconfig
|
|||
BuildRequires: %{python_wheel_pkg_prefix}-pip-wheel >= 23.1.2
|
||||
%if %{with tests}
|
||||
BuildRequires: %{python_wheel_pkg_prefix}-setuptools-wheel
|
||||
BuildRequires: %{python_wheel_pkg_prefix}-wheel-wheel
|
||||
BuildRequires: (%{python_wheel_pkg_prefix}-wheel-wheel if %{python_wheel_pkg_prefix}-setuptools-wheel < 71)
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
|
@ -375,6 +375,18 @@ Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-g
|
|||
# See also: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html
|
||||
Patch459: 00459-apply-intel-control-flow-technology-for-x86-64.patch
|
||||
|
||||
# 00460 # f399a428258bbb149de1a9b8a62583bf77742eb0
|
||||
# gh-132415: Update vendored setuptools in ``Lib/test/wheeldata``
|
||||
#
|
||||
# (actual changes in .whl files removed to make this patch smaller)
|
||||
#
|
||||
# gh-127906: Add missing sys import to test_cppext
|
||||
Patch460: 00460-gh-132415-update-vendored-setuptools-in-lib-test-wheeldata.patch
|
||||
|
||||
# 00461 # 47f50dd1f049470c33edb114754529777ab2332f
|
||||
# Downstream only: Install wheel in test venvs when setuptools < 71
|
||||
Patch461: 00461-downstream-only-install-wheel-in-test-venvs-when-setuptools-71.patch
|
||||
|
||||
# (New patches go here ^^^)
|
||||
#
|
||||
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
||||
|
|
@ -637,7 +649,7 @@ Requires: %{pkgname}-libs%{?_isa} = %{version}-%{release}
|
|||
|
||||
%if %{with rpmwheels}
|
||||
Requires: %{python_wheel_pkg_prefix}-setuptools-wheel
|
||||
Requires: %{python_wheel_pkg_prefix}-wheel-wheel
|
||||
Requires: (%{python_wheel_pkg_prefix}-wheel-wheel if %{python_wheel_pkg_prefix}-setuptools-wheel < 71)
|
||||
%else
|
||||
Provides: bundled(python3dist(setuptools)) = %{setuptools_version}
|
||||
%setuptools_bundled_provides
|
||||
|
|
@ -1693,6 +1705,9 @@ CheckPython optimized
|
|||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Tue May 06 2025 Miro Hrončok <mhroncok@redhat.com> - 3.12.10-3
|
||||
- Drop requirement on python-wheel-wheel with setuptools >= 71
|
||||
|
||||
* Tue Apr 22 2025 Charalampos Stratakis <cstratak@redhat.com> - 3.12.10-2
|
||||
- Apply Intel's CET for mitigation against control-flow hijacking attacks
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue