Blame SOURCES/00189-use-rpm-wheels.patch

254af2
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
254af2
index 5021ebf..29a7d1b 100644
254af2
--- a/Lib/ensurepip/__init__.py
254af2
+++ b/Lib/ensurepip/__init__.py
254af2
@@ -1,9 +1,10 @@
254af2
 #!/usr/bin/env python2
254af2
 from __future__ import print_function
254af2
 
254af2
+import distutils.version
254af2
+import glob
254af2
 import os
254af2
 import os.path
254af2
-import pkgutil
254af2
 import shutil
254af2
 import sys
254af2
 import tempfile
254af2
@@ -12,9 +13,19 @@ import tempfile
254af2
 __all__ = ["version", "bootstrap"]
254af2
 
254af2
 
76ce55
-_SETUPTOOLS_VERSION = "41.2.0"
254af2
+_WHEEL_DIR = "/usr/share/python{}-wheels/".format(sys.version_info[0])
254af2
 
76ce55
-_PIP_VERSION = "19.2.3"
254af2
+def _get_most_recent_wheel_version(pkg):
254af2
+    prefix = os.path.join(_WHEEL_DIR, "{}-".format(pkg))
254af2
+    suffix = "-py2.py3-none-any.whl"
254af2
+    pattern = "{}*{}".format(prefix, suffix)
254af2
+    versions = (p[len(prefix):-len(suffix)] for p in glob.glob(pattern))
254af2
+    return str(max(versions, key=distutils.version.LooseVersion))
254af2
+
254af2
+
254af2
+_SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools")
254af2
+
254af2
+_PIP_VERSION = _get_most_recent_wheel_version("pip")
254af2
 
254af2
 _PROJECTS = [
254af2
     ("setuptools", _SETUPTOOLS_VERSION),
254af2
@@ -28,8 +39,13 @@ def _run_pip(args, additional_paths=None):
254af2
         sys.path = additional_paths + sys.path
254af2
 
254af2
     # Install the bundled software
254af2
-    import pip._internal
254af2
-    return pip._internal.main(args)
254af2
+    try:
254af2
+        # pip 10
254af2
+        from pip._internal import main
254af2
+    except ImportError:
254af2
+        # pip 9
254af2
+        from pip import main
254af2
+    return main(args)
254af2
 
254af2
 
254af2
 def version():
254af2
@@ -100,12 +116,9 @@ def _bootstrap(root=None, upgrade=False, user=False,
254af2
         additional_paths = []
254af2
         for project, version in _PROJECTS:
254af2
             wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
254af2
-            whl = pkgutil.get_data(
254af2
-                "ensurepip",
254af2
-                "_bundled/{}".format(wheel_name),
254af2
-            )
254af2
-            with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
254af2
-                fp.write(whl)
254af2
+            with open(os.path.join(_WHEEL_DIR, wheel_name), "rb") as sfp:
254af2
+                with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
254af2
+                    fp.write(sfp.read())
254af2
 
254af2
             additional_paths.append(os.path.join(tmpdir, wheel_name))
254af2