From f75ad8122b0fdeb08d8968c919fa4c9316418359 Mon Sep 17 00:00:00 2001 From: jinzhimin369 Date: Sat, 10 Oct 2020 15:01:47 +0800 Subject: [PATCH] modify rpm wheels patch --- 00189-use-rpm-wheels.patch | 41 +++++++++++++++++++++++++++----------- python3.spec | 8 +++++++- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 9b22683..522ac6a 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -1,8 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Wed, 15 Aug 2018 15:36:29 +0200 +Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels + +We keep them in /usr/share/python-wheels + +Downstream only: upstream bundles +We might eventually pursuit upstream support, but it's low prio +--- + Lib/ensurepip/__init__.py | 32 ++++++++++++++++++++++---------- + 1 file changed, 22 insertions(+), 10 deletions(-) + diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py -index 4748ba4..fc02255 100644 +index f3152a55d4..f58dab1800 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py -@@ -1,16 +1,27 @@ +@@ -1,6 +1,7 @@ +import distutils.version +import glob import os @@ -11,21 +24,25 @@ index 4748ba4..fc02255 100644 import sys import runpy import tempfile - +@@ -8,10 +9,24 @@ import tempfile __all__ = ["version", "bootstrap"] +_WHEEL_DIR = "/usr/share/python-wheels/" -_SETUPTOOLS_VERSION = "47.1.0" ++_wheels = {} -_PIP_VERSION = "20.1.1" +def _get_most_recent_wheel_version(pkg): + prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg)) -+ suffix = "-py2.py3-none-any.whl" -+ pattern = "{}*{}".format(prefix, suffix) -+ versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern)) -+ return str(max(versions, key=distutils.version.LooseVersion)) ++ _wheels[pkg] = {} ++ for suffix in "-py2.py3-none-any.whl", "-py3-none-any.whl": ++ pattern = "{}*{}".format(prefix, suffix) ++ for path in glob.glob(pattern): ++ version_str = path[len(prefix):-len(suffix)] ++ _wheels[pkg][version_str] = os.path.basename(path) ++ return str(max(_wheels[pkg], key=distutils.version.LooseVersion)) + + +_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools") @@ -33,19 +50,19 @@ index 4748ba4..fc02255 100644 +_PIP_VERSION = _get_most_recent_wheel_version("pip") _PROJECTS = [ - ("setuptools", _SETUPTOOLS_VERSION), ---- a/Lib/ensurepip/__init__.py -+++ b/Lib/ensurepip/__init__.py -@@ -94,12 +105,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False, + ("setuptools", _SETUPTOOLS_VERSION, "py3"), +@@ -105,13 +120,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False, + # additional paths that need added to sys.path additional_paths = [] for project, version, py_tag in _PROJECTS: - wheel_name = "{}-{}-{}-none-any.whl".format(project, version, py_tag) +- wheel_name = "{}-{}-{}-none-any.whl".format(project, version, py_tag) - whl = pkgutil.get_data( - "ensurepip", - "_bundled/{}".format(wheel_name), - ) - with open(os.path.join(tmpdir, wheel_name), "wb") as fp: - fp.write(whl) ++ wheel_name = _wheels[project][version] + with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp: + with open(os.path.join(tmpdir, wheel_name), "wb") as fp: + fp.write(sfp.read()) diff --git a/python3.spec b/python3.spec index 7548de4..f3c0225 100644 --- a/python3.spec +++ b/python3.spec @@ -3,7 +3,7 @@ Summary: Interpreter of the Python3 programming language URL: https://www.python.org/ Version: 3.7.9 -Release: 2 +Release: 3 License: Python %global branchversion 3.7 @@ -797,6 +797,12 @@ export BEP_GTDLIST="$BEP_GTDLIST_TMP" %{_mandir}/*/* %changelog +* Sat Oct 10 2020 tianwei - 3.7.9-3 +- Type:NA +- ID:NA +- SUG:NA +- DESC:modify patch + * Wed Sep 2 2020 tianwei - 3.7.9-2 - Type:NA - ID:NA -- Gitee