BuildRequire the new dependencies of python-setuptools when rewheel mode is enabled
and add a patch to adjust the upstream test suite to account for these dependencies, since without them, the virtualenv's would not install anything in their site-packages directory thus making pip unusable inside virtualenv's.
This commit is contained in:
parent
45bc6145e3
commit
7973de8b00
183
00260-require-setuptools-dependencies.patch
Normal file
183
00260-require-setuptools-dependencies.patch
Normal file
@ -0,0 +1,183 @@
|
||||
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
|
||||
index 9f5d151..4dfa8a1 100644
|
||||
--- a/Lib/ensurepip/__init__.py
|
||||
+++ b/Lib/ensurepip/__init__.py
|
||||
@@ -8,13 +8,25 @@ import tempfile
|
||||
__all__ = ["version", "bootstrap"]
|
||||
|
||||
|
||||
-_SETUPTOOLS_VERSION = "28.8.0"
|
||||
+_SETUPTOOLS_VERSION = "34.2.0"
|
||||
|
||||
_PIP_VERSION = "9.0.1"
|
||||
|
||||
+_SIX_VERSION = "1.10.0"
|
||||
+
|
||||
+_APPDIRS_VERSION = "1.4.0"
|
||||
+
|
||||
+_PACKAGING_VERSION = "16.8"
|
||||
+
|
||||
+_PYPARSING_VERSION = "2.1.10"
|
||||
+
|
||||
_PROJECTS = [
|
||||
- ("setuptools", _SETUPTOOLS_VERSION),
|
||||
- ("pip", _PIP_VERSION),
|
||||
+ ("setuptools", _SETUPTOOLS_VERSION),
|
||||
+ ("pip", _PIP_VERSION),
|
||||
+ ("six", _SIX_VERSION),
|
||||
+ ("appdirs", _APPDIRS_VERSION),
|
||||
+ ("packaging", _PACKAGING_VERSION),
|
||||
+ ("pyparsing", _PYPARSING_VERSION)
|
||||
]
|
||||
|
||||
|
||||
diff --git a/Lib/test/test_ensurepip.py b/Lib/test/test_ensurepip.py
|
||||
index 9b04c18..23664c4 100644
|
||||
--- a/Lib/test/test_ensurepip.py
|
||||
+++ b/Lib/test/test_ensurepip.py
|
||||
@@ -40,13 +40,14 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "setuptools", "pip",
|
||||
+ unittest.mock.ANY,
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
|
||||
additional_paths = self.run_pip.call_args[0][1]
|
||||
- self.assertEqual(len(additional_paths), 2)
|
||||
+ self.assertEqual(len(additional_paths), 6)
|
||||
|
||||
def test_bootstrapping_with_root(self):
|
||||
ensurepip.bootstrap(root="/foo/bar/")
|
||||
@@ -55,7 +56,7 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
unittest.mock.ANY, "--root", "/foo/bar/",
|
||||
- "setuptools", "pip",
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
@@ -66,7 +67,8 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "--user", "setuptools", "pip",
|
||||
+ unittest.mock.ANY, "--user",
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
@@ -77,7 +79,8 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "--upgrade", "setuptools", "pip",
|
||||
+ unittest.mock.ANY, "--upgrade",
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
@@ -88,7 +91,8 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "-v", "setuptools", "pip",
|
||||
+ unittest.mock.ANY, "-v",
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
@@ -99,7 +103,8 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "-vv", "setuptools", "pip",
|
||||
+ unittest.mock.ANY, "-vv",
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
@@ -110,7 +115,8 @@ class TestBootstrap(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "-vvv", "setuptools", "pip",
|
||||
+ unittest.mock.ANY, "-vvv",
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
@@ -186,8 +192,8 @@ class TestUninstall(EnsurepipMixin, unittest.TestCase):
|
||||
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
- "uninstall", "-y", "--disable-pip-version-check", "pip",
|
||||
- "setuptools",
|
||||
+ "uninstall", "-y", "--disable-pip-version-check",
|
||||
+ "pyparsing", "packaging", "appdirs", "six", "pip", "setuptools",
|
||||
]
|
||||
)
|
||||
|
||||
@@ -197,8 +203,8 @@ class TestUninstall(EnsurepipMixin, unittest.TestCase):
|
||||
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
- "uninstall", "-y", "--disable-pip-version-check", "-v", "pip",
|
||||
- "setuptools",
|
||||
+ "uninstall", "-y", "--disable-pip-version-check", "-v",
|
||||
+ "pyparsing", "packaging", "appdirs", "six", "pip", "setuptools",
|
||||
]
|
||||
)
|
||||
|
||||
@@ -208,8 +214,8 @@ class TestUninstall(EnsurepipMixin, unittest.TestCase):
|
||||
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
- "uninstall", "-y", "--disable-pip-version-check", "-vv", "pip",
|
||||
- "setuptools",
|
||||
+ "uninstall", "-y", "--disable-pip-version-check", "-vv",
|
||||
+ "pyparsing", "packaging", "appdirs", "six", "pip", "setuptools",
|
||||
]
|
||||
)
|
||||
|
||||
@@ -220,7 +226,7 @@ class TestUninstall(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"uninstall", "-y", "--disable-pip-version-check", "-vvv",
|
||||
- "pip", "setuptools",
|
||||
+ "pyparsing", "packaging", "appdirs", "six", "pip", "setuptools",
|
||||
]
|
||||
)
|
||||
|
||||
@@ -260,13 +266,14 @@ class TestBootstrappingMainFunction(EnsurepipMixin, unittest.TestCase):
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
"install", "--no-index", "--find-links",
|
||||
- unittest.mock.ANY, "setuptools", "pip",
|
||||
+ unittest.mock.ANY,
|
||||
+ "setuptools", "pip", "six", "appdirs", "packaging", "pyparsing",
|
||||
],
|
||||
unittest.mock.ANY,
|
||||
)
|
||||
|
||||
additional_paths = self.run_pip.call_args[0][1]
|
||||
- self.assertEqual(len(additional_paths), 2)
|
||||
+ self.assertEqual(len(additional_paths), 6)
|
||||
|
||||
class TestUninstallationMainFunction(EnsurepipMixin, unittest.TestCase):
|
||||
|
||||
@@ -284,8 +291,8 @@ class TestUninstallationMainFunction(EnsurepipMixin, unittest.TestCase):
|
||||
|
||||
self.run_pip.assert_called_once_with(
|
||||
[
|
||||
- "uninstall", "-y", "--disable-pip-version-check", "pip",
|
||||
- "setuptools",
|
||||
+ "uninstall", "-y", "--disable-pip-version-check", "pyparsing", "packaging",
|
||||
+ "appdirs", "six", "pip", "setuptools",
|
||||
]
|
||||
)
|
||||
|
20
python3.spec
20
python3.spec
@ -124,7 +124,7 @@
|
||||
Summary: Version 3 of the Python programming language aka Python 3000
|
||||
Name: python3
|
||||
Version: %{pybasever}.0
|
||||
Release: 11%{?dist}
|
||||
Release: 12%{?dist}
|
||||
License: Python
|
||||
Group: Development/Languages
|
||||
|
||||
@ -183,6 +183,10 @@ BuildRequires: zlib-devel
|
||||
|
||||
%if 0%{?with_rewheel}
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: python3-pyparsing
|
||||
BuildRequires: python3-appdirs
|
||||
BuildRequires: python3-packaging
|
||||
BuildRequires: python3-pip
|
||||
%endif
|
||||
|
||||
@ -423,6 +427,15 @@ Patch254: 00254-make-Random.seed-actually-use-OS-randomness.patch
|
||||
# Reported upstream: http://bugs.python.org/issue29324
|
||||
Patch258: 00258-fix-test_aead_aes_gcm.patch
|
||||
|
||||
# 00260 #
|
||||
# setuptools from version 34.0.0 and onwards, unbundled its dependencies
|
||||
# and started requiring them so when rewheel mode is enabled we will have
|
||||
# to BuildRequire the new dependencies, in order for the virtualenv's to work properly
|
||||
# setuptools change: https://setuptools.readthedocs.io/en/latest/history.html#v34-0-0
|
||||
# Reported upstream: http://bugs.python.org/issue29523
|
||||
# https://github.com/python/cpython/pull/67
|
||||
Patch260: 00260-require-setuptools-dependencies.patch
|
||||
|
||||
# (New patches go here ^^^)
|
||||
#
|
||||
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
|
||||
@ -671,6 +684,7 @@ sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/en
|
||||
%patch253 -p1
|
||||
%patch254 -p1
|
||||
%patch258 -p1
|
||||
%patch260 -p1
|
||||
|
||||
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
|
||||
# are many differences between 2.6 and the Python 3 library.
|
||||
@ -1593,6 +1607,10 @@ rm -fr %{buildroot}
|
||||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Wed Feb 15 2017 Charalampos Stratakis <cstratak@redhat.com> - 3.6.0-12
|
||||
- BuildRequire the new dependencies of setuptools when rewheel mode is enabled
|
||||
in order for the virtualenvs to work properly
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user