From 0540736956fdf4103d4339ccc4aa495aa82f4ddc Mon Sep 17 00:00:00 2001 From: Miro Hrončok Date: Mar 12 2020 12:24:56 +0000 Subject: Update the ensurepip module to work with setuptools >= 45 setuptools 45.x is Python 3 only and changed the name of the wheel --- diff --git a/00189-use-rpm-wheels.patch b/00189-use-rpm-wheels.patch index 774b198..050e679 100644 --- a/00189-use-rpm-wheels.patch +++ b/00189-use-rpm-wheels.patch @@ -2,7 +2,7 @@ diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py index 4748ba4..fc02255 100644 --- a/Lib/ensurepip/__init__.py +++ b/Lib/ensurepip/__init__.py -@@ -1,16 +1,27 @@ +@@ -1,16 +1,31 @@ +import distutils.version +import glob import os @@ -17,14 +17,18 @@ index 4748ba4..fc02255 100644 +_WHEEL_DIR = "/usr/share/python-wheels/" -_SETUPTOOLS_VERSION = "41.2.0" ++_wheels = {} -_PIP_VERSION = "19.2.3" +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") @@ -36,13 +40,14 @@ index 4748ba4..fc02255 100644 @@ -94,12 +105,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False, 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 = 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 04f297f..19884bf 100644 --- a/python3.spec +++ b/python3.spec @@ -1547,6 +1547,7 @@ CheckPython optimized %changelog * Wed Mar 11 2020 Marcel Plch - 3.7.7-1 - Update to 3.7.7 +- Update the ensurepip module to work with setuptools >= 45 * Tue Jan 28 2020 Miro Hrončok - 3.7.6-2 - ctypes: Disable checks for union types being passed by value (#1794572)