Update the ensurepip module to work with setuptools >= 45
setuptools 45.x is Python 3 only and changed the name of the wheel
This commit is contained in:
parent
eecc383e09
commit
088c30cb53
@ -1,18 +1,18 @@
|
|||||||
From e338b6e71b31fdebc0961e4ac1ad63c6e6fdfb36 Mon Sep 17 00:00:00 2001
|
From 234fb84eea72ba856d7add39b5faee5e54ceba61 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
||||||
Date: Wed, 15 Aug 2018 15:36:29 +0200
|
Date: Wed, 15 Aug 2018 15:36:29 +0200
|
||||||
Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels
|
Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels
|
||||||
|
|
||||||
We keep them in /usr/share/python-wheels
|
We keep them in /usr/share/python-wheels
|
||||||
---
|
---
|
||||||
Lib/ensurepip/__init__.py | 27 +++++++++++++++++----------
|
Lib/ensurepip/__init__.py | 31 ++++++++++++++++++++-----------
|
||||||
1 file changed, 17 insertions(+), 10 deletions(-)
|
1 file changed, 20 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
|
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
|
||||||
index 386ed6c25c..19e7c8787e 100644
|
index 386ed6c25c..dae2ba22e4 100644
|
||||||
--- a/Lib/ensurepip/__init__.py
|
--- a/Lib/ensurepip/__init__.py
|
||||||
+++ b/Lib/ensurepip/__init__.py
|
+++ b/Lib/ensurepip/__init__.py
|
||||||
@@ -1,19 +1,29 @@
|
@@ -1,19 +1,33 @@
|
||||||
+import distutils.version
|
+import distutils.version
|
||||||
+import glob
|
+import glob
|
||||||
import os
|
import os
|
||||||
@ -29,13 +29,17 @@ index 386ed6c25c..19e7c8787e 100644
|
|||||||
|
|
||||||
+_WHEEL_DIR = "/usr/share/python-wheels/"
|
+_WHEEL_DIR = "/usr/share/python-wheels/"
|
||||||
+
|
+
|
||||||
|
+_wheels = {}
|
||||||
+
|
+
|
||||||
+def _get_most_recent_wheel_version(pkg):
|
+def _get_most_recent_wheel_version(pkg):
|
||||||
+ prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
|
+ prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
|
||||||
+ suffix = "-py2.py3-none-any.whl"
|
+ _wheels[pkg] = {}
|
||||||
|
+ for suffix in "-py2.py3-none-any.whl", "-py3-none-any.whl":
|
||||||
+ pattern = "{}*{}".format(prefix, suffix)
|
+ pattern = "{}*{}".format(prefix, suffix)
|
||||||
+ versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern))
|
+ for path in glob.glob(pattern):
|
||||||
+ return str(max(versions, key=distutils.version.LooseVersion))
|
+ 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 = "41.2.0"
|
-_SETUPTOOLS_VERSION = "41.2.0"
|
||||||
@ -46,16 +50,18 @@ index 386ed6c25c..19e7c8787e 100644
|
|||||||
|
|
||||||
_PROJECTS = [
|
_PROJECTS = [
|
||||||
("setuptools", _SETUPTOOLS_VERSION),
|
("setuptools", _SETUPTOOLS_VERSION),
|
||||||
@@ -99,12 +109,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
|
@@ -98,13 +112,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
|
||||||
|
# additional paths that need added to sys.path
|
||||||
additional_paths = []
|
additional_paths = []
|
||||||
for project, version in _PROJECTS:
|
for project, version in _PROJECTS:
|
||||||
wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
|
- wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
|
||||||
- whl = resources.read_binary(
|
- whl = resources.read_binary(
|
||||||
- _bundled,
|
- _bundled,
|
||||||
- wheel_name,
|
- wheel_name,
|
||||||
- )
|
- )
|
||||||
- with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
|
- with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
|
||||||
- fp.write(whl)
|
- 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(_WHEEL_DIR, wheel_name), "rb") as sfp:
|
||||||
+ with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
|
+ with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
|
||||||
+ fp.write(sfp.read())
|
+ fp.write(sfp.read())
|
||||||
|
@ -17,7 +17,7 @@ URL: https://www.python.org/
|
|||||||
%global prerel a3
|
%global prerel a3
|
||||||
%global upstream_version %{general_version}%{?prerel}
|
%global upstream_version %{general_version}%{?prerel}
|
||||||
Version: %{general_version}%{?prerel:~%{prerel}}
|
Version: %{general_version}%{?prerel:~%{prerel}}
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: Python
|
License: Python
|
||||||
|
|
||||||
|
|
||||||
@ -1589,6 +1589,9 @@ CheckPython optimized
|
|||||||
# ======================================================
|
# ======================================================
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 11 2020 Miro Hrončok <mhroncok@redhat.com> - 3.9.0~a3-2
|
||||||
|
- Update the ensurepip module to work with setuptools >= 45
|
||||||
|
|
||||||
* Mon Jan 27 2020 Victor Stinner <vstinner@python.org> - 3.9.0~a3-1
|
* Mon Jan 27 2020 Victor Stinner <vstinner@python.org> - 3.9.0~a3-1
|
||||||
- Update to Python 3.9.0a3
|
- Update to Python 3.9.0a3
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user