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> | ||||
| 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 | ||||
| ---
 | ||||
|  Lib/ensurepip/__init__.py | 27 +++++++++++++++++---------- | ||||
|  1 file changed, 17 insertions(+), 10 deletions(-) | ||||
|  Lib/ensurepip/__init__.py | 31 ++++++++++++++++++++----------- | ||||
|  1 file changed, 20 insertions(+), 11 deletions(-) | ||||
| 
 | ||||
| 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
 | ||||
| +++ b/Lib/ensurepip/__init__.py
 | ||||
| @@ -1,19 +1,29 @@
 | ||||
| @@ -1,19 +1,33 @@
 | ||||
| +import distutils.version
 | ||||
| +import glob
 | ||||
|  import os | ||||
| @ -29,13 +29,17 @@ index 386ed6c25c..19e7c8787e 100644 | ||||
|   | ||||
| +_WHEEL_DIR = "/usr/share/python-wheels/"
 | ||||
| +
 | ||||
| +_wheels = {}
 | ||||
| +
 | ||||
| +def _get_most_recent_wheel_version(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)
 | ||||
| +    versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern))
 | ||||
| +    return str(max(versions, key=distutils.version.LooseVersion))
 | ||||
| +        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 = "41.2.0"
 | ||||
| @ -46,16 +50,18 @@ index 386ed6c25c..19e7c8787e 100644 | ||||
|   | ||||
|  _PROJECTS = [ | ||||
|      ("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 = [] | ||||
|          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(
 | ||||
| -                _bundled,
 | ||||
| -                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())
 | ||||
|  | ||||
| @ -17,7 +17,7 @@ URL: https://www.python.org/ | ||||
| %global prerel a3 | ||||
| %global upstream_version %{general_version}%{?prerel} | ||||
| Version: %{general_version}%{?prerel:~%{prerel}} | ||||
| Release: 1%{?dist} | ||||
| Release: 2%{?dist} | ||||
| License: Python | ||||
| 
 | ||||
| 
 | ||||
| @ -1589,6 +1589,9 @@ CheckPython optimized | ||||
| # ====================================================== | ||||
| 
 | ||||
| %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 | ||||
| - Update to Python 3.9.0a3 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user