Update to 19.3.1 (#1761508)
Drop upstreamed patch that fixed expected output in test to not break with alpha/beta/rc Python versions
This commit is contained in:
parent
3bced42530
commit
f6e9c0640b
2
.gitignore
vendored
2
.gitignore
vendored
@ -38,3 +38,5 @@ pip-0.7.2.tar.gz
|
|||||||
/pip-19.1.1-tests.tar.gz
|
/pip-19.1.1-tests.tar.gz
|
||||||
/pip-19.2.3.tar.gz
|
/pip-19.2.3.tar.gz
|
||||||
/pip-19.2.3-tests.tar.gz
|
/pip-19.2.3-tests.tar.gz
|
||||||
|
/pip-19.3.1.tar.gz
|
||||||
|
/pip-19.3.1-tests.tar.gz
|
||||||
|
22
6788.patch
22
6788.patch
@ -1,22 +0,0 @@
|
|||||||
From bbbbe07aab24ebaec228624cf6d0100ebe58b00a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hugo <hugovk@users.noreply.github.com>
|
|
||||||
Date: Thu, 25 Jul 2019 10:47:05 +0300
|
|
||||||
Subject: [PATCH] Consistently get version string, ignoring alpha/beta
|
|
||||||
|
|
||||||
---
|
|
||||||
tests/functional/test_install.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py
|
|
||||||
index 96b780f3c..9481cfd08 100644
|
|
||||||
--- a/tests/functional/test_install.py
|
|
||||||
+++ b/tests/functional/test_install.py
|
|
||||||
@@ -1306,7 +1306,7 @@ def test_double_install_fail(script):
|
|
||||||
def _get_expected_error_text():
|
|
||||||
return (
|
|
||||||
"Package 'pkga' requires a different Python: {} not in '<1.0'"
|
|
||||||
- ).format(sys.version.split()[0])
|
|
||||||
+ ).format('.'.join(map(str, sys.version_info[:3])))
|
|
||||||
|
|
||||||
|
|
||||||
def test_install_incompatible_python_requires(script):
|
|
@ -1,8 +1,19 @@
|
|||||||
|
From aab24967a03bda3b0999d80562a6064c27d1e0e0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Orsava <torsava@redhat.com>
|
||||||
|
Date: Tue, 12 Nov 2019 17:15:08 +0100
|
||||||
|
Subject: [PATCH] Downstream only patch
|
||||||
|
|
||||||
|
Emit a warning to the user if pip install is run with root privileges
|
||||||
|
Issue upstream: https://github.com/pypa/pip/issues/4288
|
||||||
|
---
|
||||||
|
src/pip/_internal/commands/install.py | 19 +++++++++++++++++++
|
||||||
|
1 file changed, 19 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py
|
diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py
|
||||||
index 1279d4a..aeb9d26 100644
|
index 5842d18..a6104b4 100644
|
||||||
--- a/src/pip/_internal/commands/install.py
|
--- a/src/pip/_internal/commands/install.py
|
||||||
+++ b/src/pip/_internal/commands/install.py
|
+++ b/src/pip/_internal/commands/install.py
|
||||||
@@ -5,6 +5,8 @@ import logging
|
@@ -12,6 +12,8 @@ import logging
|
||||||
import operator
|
import operator
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
@ -11,9 +22,9 @@ index 1279d4a..aeb9d26 100644
|
|||||||
from optparse import SUPPRESS_HELP
|
from optparse import SUPPRESS_HELP
|
||||||
|
|
||||||
from pip._vendor import pkg_resources
|
from pip._vendor import pkg_resources
|
||||||
@@ -217,6 +219,23 @@ class InstallCommand(RequirementCommand):
|
@@ -281,6 +283,23 @@ class InstallCommand(RequirementCommand):
|
||||||
|
|
||||||
def run(self, options, args):
|
def run(self, options, args):
|
||||||
|
# type: (Values, List[Any]) -> int
|
||||||
cmdoptions.check_install_build_global(options)
|
cmdoptions.check_install_build_global(options)
|
||||||
+
|
+
|
||||||
+ def is_venv():
|
+ def is_venv():
|
||||||
@ -35,3 +46,6 @@ index 1279d4a..aeb9d26 100644
|
|||||||
upgrade_strategy = "to-satisfy-only"
|
upgrade_strategy = "to-satisfy-only"
|
||||||
if options.upgrade:
|
if options.upgrade:
|
||||||
upgrade_strategy = options.upgrade_strategy
|
upgrade_strategy = options.upgrade_strategy
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
|
683
network-tests.patch
Normal file
683
network-tests.patch
Normal file
@ -0,0 +1,683 @@
|
|||||||
|
From 621800d5c65aea36c6a1d9b685ff88f35cfce476 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Orsava <torsava@redhat.com>
|
||||||
|
Date: Fri, 15 Nov 2019 19:44:54 +0100
|
||||||
|
Subject: [PATCH] Mark 6 tests as network tests
|
||||||
|
|
||||||
|
=================================== FAILURES ===================================
|
||||||
|
_______________________________ test_freeze_path _______________________________
|
||||||
|
tmpdir = Path('/tmp/pytest-of-mockbuild/pytest-0/test_freeze_path0')
|
||||||
|
script = <tests.lib.PipTestEnvironment object at 0x7fe950a4caf0>
|
||||||
|
data = <tests.lib.TestData object at 0x7fe950a4cc10>
|
||||||
|
def test_freeze_path(tmpdir, script, data):
|
||||||
|
"""
|
||||||
|
Test freeze with --path.
|
||||||
|
"""
|
||||||
|
> script.pip('install', '--find-links', data.find_links,
|
||||||
|
'--target', tmpdir, 'simple==2.0')
|
||||||
|
tests/functional/test_freeze.py:712:
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
tests/lib/__init__.py:593: in run
|
||||||
|
_check_stderr(
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
stderr = "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'N...t at 0x7fe6435ef280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/\n"
|
||||||
|
allow_stderr_warning = False, allow_stderr_error = False
|
||||||
|
def _check_stderr(
|
||||||
|
stderr, allow_stderr_warning, allow_stderr_error,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Check the given stderr for logged warnings and errors.
|
||||||
|
|
||||||
|
:param stderr: stderr output as a string.
|
||||||
|
:param allow_stderr_warning: whether a logged warning (or deprecation
|
||||||
|
message) is allowed. Must be True if allow_stderr_error is True.
|
||||||
|
:param allow_stderr_error: whether a logged error is allowed.
|
||||||
|
"""
|
||||||
|
assert not (allow_stderr_error and not allow_stderr_warning)
|
||||||
|
|
||||||
|
lines = stderr.splitlines()
|
||||||
|
for line in lines:
|
||||||
|
# First check for logging errors, which we don't allow during
|
||||||
|
# tests even if allow_stderr_error=True (since a logging error
|
||||||
|
# would signal a bug in pip's code).
|
||||||
|
# Unlike errors logged with logger.error(), these errors are
|
||||||
|
# sent directly to stderr and so bypass any configured log formatter.
|
||||||
|
# The "--- Logging error ---" string is used in Python 3.4+, and
|
||||||
|
# "Logged from file " is used in Python 2.
|
||||||
|
if (line.startswith('--- Logging error ---') or
|
||||||
|
line.startswith('Logged from file ')):
|
||||||
|
reason = 'stderr has a logging error, which is never allowed'
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
raise RuntimeError(msg)
|
||||||
|
if allow_stderr_error:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line.startswith('ERROR: '):
|
||||||
|
reason = (
|
||||||
|
'stderr has an unexpected error '
|
||||||
|
'(pass allow_stderr_error=True to permit this)'
|
||||||
|
)
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
raise RuntimeError(msg)
|
||||||
|
if allow_stderr_warning:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if (line.startswith('WARNING: ') or
|
||||||
|
line.startswith(DEPRECATION_MSG_PREFIX)):
|
||||||
|
reason = (
|
||||||
|
'stderr has an unexpected warning '
|
||||||
|
'(pass allow_stderr_warning=True to permit this)'
|
||||||
|
)
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
> raise RuntimeError(msg)
|
||||||
|
E RuntimeError: stderr has an unexpected warning (pass allow_stderr_warning=True to permit this):
|
||||||
|
E Caused by line: "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364c850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/"
|
||||||
|
E Complete stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364c850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364cdc0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe64364cf70>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe6435ef130>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fe6435ef280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
tests/lib/__init__.py:404: RuntimeError
|
||||||
|
________________________ test_freeze_path_exclude_user _________________________
|
||||||
|
tmpdir = Path('/tmp/pytest-of-mockbuild/pytest-0/test_freeze_path_exclude_user0')
|
||||||
|
script = <tests.lib.PipTestEnvironment object at 0x7fe950ec8fa0>
|
||||||
|
data = <tests.lib.TestData object at 0x7fe950ec8a30>
|
||||||
|
def test_freeze_path_exclude_user(tmpdir, script, data):
|
||||||
|
"""
|
||||||
|
Test freeze with --path and make sure packages from --user are not picked
|
||||||
|
up.
|
||||||
|
"""
|
||||||
|
script.pip_install_local('--find-links', data.find_links,
|
||||||
|
'--user', 'simple2')
|
||||||
|
> script.pip('install', '--find-links', data.find_links,
|
||||||
|
'--target', tmpdir, 'simple==1.0')
|
||||||
|
tests/functional/test_freeze.py:728:
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
tests/lib/__init__.py:593: in run
|
||||||
|
_check_stderr(
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
stderr = "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'N...t at 0x7f87ae751310>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/\n"
|
||||||
|
allow_stderr_warning = False, allow_stderr_error = False
|
||||||
|
def _check_stderr(
|
||||||
|
stderr, allow_stderr_warning, allow_stderr_error,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Check the given stderr for logged warnings and errors.
|
||||||
|
|
||||||
|
:param stderr: stderr output as a string.
|
||||||
|
:param allow_stderr_warning: whether a logged warning (or deprecation
|
||||||
|
message) is allowed. Must be True if allow_stderr_error is True.
|
||||||
|
:param allow_stderr_error: whether a logged error is allowed.
|
||||||
|
"""
|
||||||
|
assert not (allow_stderr_error and not allow_stderr_warning)
|
||||||
|
|
||||||
|
lines = stderr.splitlines()
|
||||||
|
for line in lines:
|
||||||
|
# First check for logging errors, which we don't allow during
|
||||||
|
# tests even if allow_stderr_error=True (since a logging error
|
||||||
|
# would signal a bug in pip's code).
|
||||||
|
# Unlike errors logged with logger.error(), these errors are
|
||||||
|
# sent directly to stderr and so bypass any configured log formatter.
|
||||||
|
# The "--- Logging error ---" string is used in Python 3.4+, and
|
||||||
|
# "Logged from file " is used in Python 2.
|
||||||
|
if (line.startswith('--- Logging error ---') or
|
||||||
|
line.startswith('Logged from file ')):
|
||||||
|
reason = 'stderr has a logging error, which is never allowed'
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
raise RuntimeError(msg)
|
||||||
|
if allow_stderr_error:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line.startswith('ERROR: '):
|
||||||
|
reason = (
|
||||||
|
'stderr has an unexpected error '
|
||||||
|
'(pass allow_stderr_error=True to permit this)'
|
||||||
|
)
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
raise RuntimeError(msg)
|
||||||
|
if allow_stderr_warning:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if (line.startswith('WARNING: ') or
|
||||||
|
line.startswith(DEPRECATION_MSG_PREFIX)):
|
||||||
|
reason = (
|
||||||
|
'stderr has an unexpected warning '
|
||||||
|
'(pass allow_stderr_warning=True to permit this)'
|
||||||
|
)
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
> raise RuntimeError(msg)
|
||||||
|
E RuntimeError: stderr has an unexpected warning (pass allow_stderr_warning=True to permit this):
|
||||||
|
E Caused by line: "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7aa8e0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/"
|
||||||
|
E Complete stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7aa8e0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7aae50>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae751040>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae7511c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f87ae751310>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
tests/lib/__init__.py:404: RuntimeError
|
||||||
|
__________________________ test_freeze_path_multiple ___________________________
|
||||||
|
tmpdir = Path('/tmp/pytest-of-mockbuild/pytest-0/test_freeze_path_multiple0')
|
||||||
|
script = <tests.lib.PipTestEnvironment object at 0x7fe950b43fd0>
|
||||||
|
data = <tests.lib.TestData object at 0x7fe950b43df0>
|
||||||
|
def test_freeze_path_multiple(tmpdir, script, data):
|
||||||
|
"""
|
||||||
|
Test freeze with multiple --path arguments.
|
||||||
|
"""
|
||||||
|
path1 = tmpdir / "path1"
|
||||||
|
os.mkdir(path1)
|
||||||
|
path2 = tmpdir / "path2"
|
||||||
|
os.mkdir(path2)
|
||||||
|
> script.pip('install', '--find-links', data.find_links,
|
||||||
|
'--target', path1, 'simple==2.0')
|
||||||
|
tests/functional/test_freeze.py:750:
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
tests/lib/__init__.py:593: in run
|
||||||
|
_check_stderr(
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
stderr = "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'N...t at 0x7f07e6253280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/\n"
|
||||||
|
allow_stderr_warning = False, allow_stderr_error = False
|
||||||
|
def _check_stderr(
|
||||||
|
stderr, allow_stderr_warning, allow_stderr_error,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Check the given stderr for logged warnings and errors.
|
||||||
|
|
||||||
|
:param stderr: stderr output as a string.
|
||||||
|
:param allow_stderr_warning: whether a logged warning (or deprecation
|
||||||
|
message) is allowed. Must be True if allow_stderr_error is True.
|
||||||
|
:param allow_stderr_error: whether a logged error is allowed.
|
||||||
|
"""
|
||||||
|
assert not (allow_stderr_error and not allow_stderr_warning)
|
||||||
|
|
||||||
|
lines = stderr.splitlines()
|
||||||
|
for line in lines:
|
||||||
|
# First check for logging errors, which we don't allow during
|
||||||
|
# tests even if allow_stderr_error=True (since a logging error
|
||||||
|
# would signal a bug in pip's code).
|
||||||
|
# Unlike errors logged with logger.error(), these errors are
|
||||||
|
# sent directly to stderr and so bypass any configured log formatter.
|
||||||
|
# The "--- Logging error ---" string is used in Python 3.4+, and
|
||||||
|
# "Logged from file " is used in Python 2.
|
||||||
|
if (line.startswith('--- Logging error ---') or
|
||||||
|
line.startswith('Logged from file ')):
|
||||||
|
reason = 'stderr has a logging error, which is never allowed'
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
raise RuntimeError(msg)
|
||||||
|
if allow_stderr_error:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line.startswith('ERROR: '):
|
||||||
|
reason = (
|
||||||
|
'stderr has an unexpected error '
|
||||||
|
'(pass allow_stderr_error=True to permit this)'
|
||||||
|
)
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
raise RuntimeError(msg)
|
||||||
|
if allow_stderr_warning:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if (line.startswith('WARNING: ') or
|
||||||
|
line.startswith(DEPRECATION_MSG_PREFIX)):
|
||||||
|
reason = (
|
||||||
|
'stderr has an unexpected warning '
|
||||||
|
'(pass allow_stderr_warning=True to permit this)'
|
||||||
|
)
|
||||||
|
msg = make_check_stderr_message(stderr, line=line, reason=reason)
|
||||||
|
> raise RuntimeError(msg)
|
||||||
|
E RuntimeError: stderr has an unexpected warning (pass allow_stderr_warning=True to permit this):
|
||||||
|
E Caused by line: "WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62ae850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/"
|
||||||
|
E Complete stderr: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62ae850>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62aedc0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e62aef70>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e6253130>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
E WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f07e6253280>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/simple/
|
||||||
|
tests/lib/__init__.py:404: RuntimeError
|
||||||
|
_________________ test_install_no_binary_builds_pep_517_wheel __________________
|
||||||
|
script = <tests.lib.PipTestEnvironment object at 0x7fe9509f4e20>
|
||||||
|
data = <tests.lib.TestData object at 0x7fe9509f4640>, with_wheel = None
|
||||||
|
def test_install_no_binary_builds_pep_517_wheel(script, data, with_wheel):
|
||||||
|
to_install = data.packages.joinpath('pep517_setup_and_pyproject')
|
||||||
|
> res = script.pip(
|
||||||
|
'install', '--no-binary=:all:', '-f', data.find_links, to_install
|
||||||
|
)
|
||||||
|
tests/functional/test_install.py:1279:
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
self = <tests.lib.PipTestEnvironment object at 0x7fe9509f4e20>
|
||||||
|
args = ('python', '-m', 'pip', 'install', '--no-binary=:all:', '-f', ...)
|
||||||
|
kw = {'expect_stderr': True}
|
||||||
|
cwd = Path('/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/scratch')
|
||||||
|
run_from = None, allow_stderr_error = False, allow_stderr_warning = False
|
||||||
|
expect_error = None
|
||||||
|
def run(self, *args, **kw):
|
||||||
|
"""
|
||||||
|
:param allow_stderr_error: whether a logged error is allowed in
|
||||||
|
stderr. Passing True for this argument implies
|
||||||
|
`allow_stderr_warning` since warnings are weaker than errors.
|
||||||
|
:param allow_stderr_warning: whether a logged warning (or
|
||||||
|
deprecation message) is allowed in stderr.
|
||||||
|
:param expect_error: if False (the default), asserts that the command
|
||||||
|
exits with 0. Otherwise, asserts that the command exits with a
|
||||||
|
non-zero exit code. Passing True also implies allow_stderr_error
|
||||||
|
and allow_stderr_warning.
|
||||||
|
:param expect_stderr: whether to allow warnings in stderr (equivalent
|
||||||
|
to `allow_stderr_warning`). This argument is an abbreviated
|
||||||
|
version of `allow_stderr_warning` and is also kept for backwards
|
||||||
|
compatibility.
|
||||||
|
"""
|
||||||
|
if self.verbose:
|
||||||
|
print('>> running %s %s' % (args, kw))
|
||||||
|
|
||||||
|
cwd = kw.pop('cwd', None)
|
||||||
|
run_from = kw.pop('run_from', None)
|
||||||
|
assert not cwd or not run_from, "Don't use run_from; it's going away"
|
||||||
|
cwd = cwd or run_from or self.cwd
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
# Partial fix for ScriptTest.run using `shell=True` on Windows.
|
||||||
|
args = [str(a).replace('^', '^^').replace('&', '^&') for a in args]
|
||||||
|
|
||||||
|
# Remove `allow_stderr_error` and `allow_stderr_warning` before
|
||||||
|
# calling run() because PipTestEnvironment doesn't support them.
|
||||||
|
allow_stderr_error = kw.pop('allow_stderr_error', None)
|
||||||
|
allow_stderr_warning = kw.pop('allow_stderr_warning', None)
|
||||||
|
|
||||||
|
# Propagate default values.
|
||||||
|
expect_error = kw.get('expect_error')
|
||||||
|
if expect_error:
|
||||||
|
# Then default to allowing logged errors.
|
||||||
|
if allow_stderr_error is not None and not allow_stderr_error:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_error=False with '
|
||||||
|
'expect_error=True'
|
||||||
|
)
|
||||||
|
allow_stderr_error = True
|
||||||
|
|
||||||
|
elif kw.get('expect_stderr'):
|
||||||
|
# Then default to allowing logged warnings.
|
||||||
|
if allow_stderr_warning is not None and not allow_stderr_warning:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_warning=False with '
|
||||||
|
'expect_stderr=True'
|
||||||
|
)
|
||||||
|
allow_stderr_warning = True
|
||||||
|
|
||||||
|
if allow_stderr_error:
|
||||||
|
if allow_stderr_warning is not None and not allow_stderr_warning:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_warning=False with '
|
||||||
|
'allow_stderr_error=True'
|
||||||
|
)
|
||||||
|
|
||||||
|
# Default values if not set.
|
||||||
|
if allow_stderr_error is None:
|
||||||
|
allow_stderr_error = False
|
||||||
|
if allow_stderr_warning is None:
|
||||||
|
allow_stderr_warning = allow_stderr_error
|
||||||
|
|
||||||
|
# Pass expect_stderr=True to allow any stderr. We do this because
|
||||||
|
# we do our checking of stderr further on in check_stderr().
|
||||||
|
kw['expect_stderr'] = True
|
||||||
|
> result = super(PipTestEnvironment, self).run(cwd=cwd, *args, **kw)
|
||||||
|
E AssertionError: Script returned code: 1
|
||||||
|
tests/lib/__init__.py:586: AssertionError
|
||||||
|
----------------------------- Captured stdout call -----------------------------
|
||||||
|
Script result: python -m pip install --no-binary=:all: -f file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages/pep517_setup_and_pyproject
|
||||||
|
return code: 1
|
||||||
|
-- stderr: --------------------
|
||||||
|
ERROR: Command errored out with exit status 1:
|
||||||
|
command: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/venv/bin/python /builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-build-env-ntp1m4dh/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --find-links file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages -- setuptools
|
||||||
|
cwd: None
|
||||||
|
Complete output (28 lines):
|
||||||
|
Looking in links: file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages
|
||||||
|
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234ef1e50>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
|
||||||
|
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e92040>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
|
||||||
|
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e921c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
|
||||||
|
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e92340>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
|
||||||
|
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f7234e924c0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/setuptools/
|
||||||
|
Processing /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages/setuptools-0.9.6.tar.gz
|
||||||
|
ERROR: Command errored out with exit status 1:
|
||||||
|
command: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/venv/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setup.py'"'"'; __file__='"'"'/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/pip-egg-info
|
||||||
|
cwd: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/
|
||||||
|
Complete output (15 lines):
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<string>", line 1, in <module>
|
||||||
|
File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/__init__.py", line 2, in <module>
|
||||||
|
from setuptools.extension import Extension, Library
|
||||||
|
File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/extension.py", line 5, in <module>
|
||||||
|
from setuptools.dist import _get_unpatched
|
||||||
|
File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/dist.py", line 7, in <module>
|
||||||
|
from setuptools.command.install import install
|
||||||
|
File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/command/__init__.py", line 8, in <module>
|
||||||
|
from setuptools.command import install_scripts
|
||||||
|
File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/setuptools/command/install_scripts.py", line 3, in <module>
|
||||||
|
from pkg_resources import Distribution, PathMetadata, ensure_directory
|
||||||
|
File "/tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-install-b_6lf4z6/setuptools/pkg_resources.py", line 1545, in <module>
|
||||||
|
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
|
||||||
|
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
|
||||||
|
----------------------------------------
|
||||||
|
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
|
||||||
|
----------------------------------------
|
||||||
|
ERROR: Command errored out with exit status 1: /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/venv/bin/python /builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/workspace/tmp/pip-build-env-ntp1m4dh/overlay --no-warn-script-location --no-binary :all: --only-binary :none: -i https://pypi.org/simple --find-links file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages -- setuptools Check the logs for full command output.
|
||||||
|
-- stdout: --------------------
|
||||||
|
Looking in links: file:///tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages
|
||||||
|
Processing /tmp/pytest-of-mockbuild/pytest-0/test_install_no_binary_builds_0/data/packages/pep517_setup_and_pyproject
|
||||||
|
Installing build dependencies: started
|
||||||
|
Installing build dependencies: finished with status 'error'
|
||||||
|
_______________________ test_config_file_override_stack ________________________
|
||||||
|
script = <tests.lib.PipTestEnvironment object at 0x7fe950d9b7f0>
|
||||||
|
virtualenv = <VirtualEnvironment /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/venv>
|
||||||
|
def test_config_file_override_stack(script, virtualenv):
|
||||||
|
"""
|
||||||
|
Test config files (global, overriding a global config with a
|
||||||
|
local, overriding all with a command line flag).
|
||||||
|
|
||||||
|
"""
|
||||||
|
fd, config_file = tempfile.mkstemp('-pip.cfg', 'test-')
|
||||||
|
try:
|
||||||
|
> _test_config_file_override_stack(script, virtualenv, config_file)
|
||||||
|
tests/functional/test_install_config.py:144:
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
tests/functional/test_install_config.py:172: in _test_config_file_override_stack
|
||||||
|
result = script.pip(
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
self = <tests.lib.PipTestEnvironment object at 0x7fe950d9b7f0>
|
||||||
|
args = ('python', '-m', 'pip', 'install', '-vvv', '--index-url', ...)
|
||||||
|
kw = {'expect_stderr': True}
|
||||||
|
cwd = Path('/tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/scratch')
|
||||||
|
run_from = None, allow_stderr_error = False, allow_stderr_warning = False
|
||||||
|
expect_error = None
|
||||||
|
def run(self, *args, **kw):
|
||||||
|
"""
|
||||||
|
:param allow_stderr_error: whether a logged error is allowed in
|
||||||
|
stderr. Passing True for this argument implies
|
||||||
|
`allow_stderr_warning` since warnings are weaker than errors.
|
||||||
|
:param allow_stderr_warning: whether a logged warning (or
|
||||||
|
deprecation message) is allowed in stderr.
|
||||||
|
:param expect_error: if False (the default), asserts that the command
|
||||||
|
exits with 0. Otherwise, asserts that the command exits with a
|
||||||
|
non-zero exit code. Passing True also implies allow_stderr_error
|
||||||
|
and allow_stderr_warning.
|
||||||
|
:param expect_stderr: whether to allow warnings in stderr (equivalent
|
||||||
|
to `allow_stderr_warning`). This argument is an abbreviated
|
||||||
|
version of `allow_stderr_warning` and is also kept for backwards
|
||||||
|
compatibility.
|
||||||
|
"""
|
||||||
|
if self.verbose:
|
||||||
|
print('>> running %s %s' % (args, kw))
|
||||||
|
|
||||||
|
cwd = kw.pop('cwd', None)
|
||||||
|
run_from = kw.pop('run_from', None)
|
||||||
|
assert not cwd or not run_from, "Don't use run_from; it's going away"
|
||||||
|
cwd = cwd or run_from or self.cwd
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
# Partial fix for ScriptTest.run using `shell=True` on Windows.
|
||||||
|
args = [str(a).replace('^', '^^').replace('&', '^&') for a in args]
|
||||||
|
|
||||||
|
# Remove `allow_stderr_error` and `allow_stderr_warning` before
|
||||||
|
# calling run() because PipTestEnvironment doesn't support them.
|
||||||
|
allow_stderr_error = kw.pop('allow_stderr_error', None)
|
||||||
|
allow_stderr_warning = kw.pop('allow_stderr_warning', None)
|
||||||
|
|
||||||
|
# Propagate default values.
|
||||||
|
expect_error = kw.get('expect_error')
|
||||||
|
if expect_error:
|
||||||
|
# Then default to allowing logged errors.
|
||||||
|
if allow_stderr_error is not None and not allow_stderr_error:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_error=False with '
|
||||||
|
'expect_error=True'
|
||||||
|
)
|
||||||
|
allow_stderr_error = True
|
||||||
|
|
||||||
|
elif kw.get('expect_stderr'):
|
||||||
|
# Then default to allowing logged warnings.
|
||||||
|
if allow_stderr_warning is not None and not allow_stderr_warning:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_warning=False with '
|
||||||
|
'expect_stderr=True'
|
||||||
|
)
|
||||||
|
allow_stderr_warning = True
|
||||||
|
|
||||||
|
if allow_stderr_error:
|
||||||
|
if allow_stderr_warning is not None and not allow_stderr_warning:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_warning=False with '
|
||||||
|
'allow_stderr_error=True'
|
||||||
|
)
|
||||||
|
|
||||||
|
# Default values if not set.
|
||||||
|
if allow_stderr_error is None:
|
||||||
|
allow_stderr_error = False
|
||||||
|
if allow_stderr_warning is None:
|
||||||
|
allow_stderr_warning = allow_stderr_error
|
||||||
|
|
||||||
|
# Pass expect_stderr=True to allow any stderr. We do this because
|
||||||
|
# we do our checking of stderr further on in check_stderr().
|
||||||
|
kw['expect_stderr'] = True
|
||||||
|
> result = super(PipTestEnvironment, self).run(cwd=cwd, *args, **kw)
|
||||||
|
E AssertionError: Script returned code: 1
|
||||||
|
tests/lib/__init__.py:586: AssertionError
|
||||||
|
----------------------------- Captured stdout call -----------------------------
|
||||||
|
Script result: python -m pip install -vvv --index-url https://pypi.org/simple/ INITools
|
||||||
|
return code: 1
|
||||||
|
-- stderr: --------------------
|
||||||
|
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3d8b0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3da60>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3dbe0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c3dd60>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f966900f490>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
ERROR: Could not find a version that satisfies the requirement INITools (from versions: none)
|
||||||
|
ERROR: No matching distribution found for INITools
|
||||||
|
-- stdout: --------------------
|
||||||
|
Created temporary directory: /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-ephem-wheel-cache-6gj33ens
|
||||||
|
Created temporary directory: /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-req-tracker-s7_2cwgc
|
||||||
|
Created requirements tracker '/tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-req-tracker-s7_2cwgc'
|
||||||
|
Created temporary directory: /tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-install-_91mh3df
|
||||||
|
Looking in indexes: https://pypi.org/simple/
|
||||||
|
1 location(s) to search for versions of INITools:
|
||||||
|
* https://pypi.org/simple/initools/
|
||||||
|
Getting page https://pypi.org/simple/initools/
|
||||||
|
Found index url https://pypi.org/simple/
|
||||||
|
Looking up "https://pypi.org/simple/initools/" in the cache
|
||||||
|
Request header has "max_age" as 0, cache bypassed
|
||||||
|
Starting new HTTPS connection (1): pypi.org:443
|
||||||
|
Incremented Retry for (url='/simple/initools/'): Retry(total=4, connect=None, read=None, redirect=None, status=None)
|
||||||
|
Starting new HTTPS connection (2): pypi.org:443
|
||||||
|
Incremented Retry for (url='/simple/initools/'): Retry(total=3, connect=None, read=None, redirect=None, status=None)
|
||||||
|
Starting new HTTPS connection (3): pypi.org:443
|
||||||
|
Incremented Retry for (url='/simple/initools/'): Retry(total=2, connect=None, read=None, redirect=None, status=None)
|
||||||
|
Starting new HTTPS connection (4): pypi.org:443
|
||||||
|
Incremented Retry for (url='/simple/initools/'): Retry(total=1, connect=None, read=None, redirect=None, status=None)
|
||||||
|
Starting new HTTPS connection (5): pypi.org:443
|
||||||
|
Incremented Retry for (url='/simple/initools/'): Retry(total=0, connect=None, read=None, redirect=None, status=None)
|
||||||
|
Starting new HTTPS connection (6): pypi.org:443
|
||||||
|
Could not fetch URL https://pypi.org/simple/initools/: connection error: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/initools/ (Caused by NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f9669c15b50>: Failed to establish a new connection: [Errno -2] Name or service not known')) - skipping
|
||||||
|
Given no hashes to check 0 links for project 'INITools': discarding no candidates
|
||||||
|
Cleaning up...
|
||||||
|
Removed build tracker '/tmp/pytest-of-mockbuild/pytest-0/test_config_file_override_stac0/workspace/tmp/pip-req-tracker-s7_2cwgc'
|
||||||
|
Exception information:
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 153, in _main
|
||||||
|
status = self.run(options, args)
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 401, in run
|
||||||
|
resolver.resolve(requirement_set)
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 202, in resolve
|
||||||
|
self._resolve_one(requirement_set, req)
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 368, in _resolve_one
|
||||||
|
abstract_dist = self._get_abstract_dist_for(req_to_install)
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 314, in _get_abstract_dist_for
|
||||||
|
req.populate_link(self.finder, upgrade_allowed, self.require_hashes)
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 226, in populate_link
|
||||||
|
self.link = finder.find_requirement(self, upgrade)
|
||||||
|
File "/builddir/build/BUILDROOT/python-pip-19.3.1-1.fc32.noarch/usr/lib/python3.8/site-packages/pip/_internal/index.py", line 905, in find_requirement
|
||||||
|
raise DistributionNotFound(
|
||||||
|
pip._internal.exceptions.DistributionNotFound: No matching distribution found for INITools
|
||||||
|
_______________________ test_no_upgrade_unless_requested _______________________
|
||||||
|
script = <tests.lib.PipTestEnvironment object at 0x7fe950d86070>
|
||||||
|
def test_no_upgrade_unless_requested(script):
|
||||||
|
"""
|
||||||
|
No upgrade if not specifically requested.
|
||||||
|
|
||||||
|
"""
|
||||||
|
> script.pip('install', 'INITools==0.1')
|
||||||
|
tests/functional/test_install_upgrade.py:16:
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
self = <tests.lib.PipTestEnvironment object at 0x7fe950d86070>
|
||||||
|
args = ('python', '-m', 'pip', 'install', 'INITools==0.1')
|
||||||
|
kw = {'expect_stderr': True}
|
||||||
|
cwd = Path('/tmp/pytest-of-mockbuild/pytest-0/test_no_upgrade_unless_request0/workspace/scratch')
|
||||||
|
run_from = None, allow_stderr_error = False, allow_stderr_warning = False
|
||||||
|
expect_error = None
|
||||||
|
def run(self, *args, **kw):
|
||||||
|
"""
|
||||||
|
:param allow_stderr_error: whether a logged error is allowed in
|
||||||
|
stderr. Passing True for this argument implies
|
||||||
|
`allow_stderr_warning` since warnings are weaker than errors.
|
||||||
|
:param allow_stderr_warning: whether a logged warning (or
|
||||||
|
deprecation message) is allowed in stderr.
|
||||||
|
:param expect_error: if False (the default), asserts that the command
|
||||||
|
exits with 0. Otherwise, asserts that the command exits with a
|
||||||
|
non-zero exit code. Passing True also implies allow_stderr_error
|
||||||
|
and allow_stderr_warning.
|
||||||
|
:param expect_stderr: whether to allow warnings in stderr (equivalent
|
||||||
|
to `allow_stderr_warning`). This argument is an abbreviated
|
||||||
|
version of `allow_stderr_warning` and is also kept for backwards
|
||||||
|
compatibility.
|
||||||
|
"""
|
||||||
|
if self.verbose:
|
||||||
|
print('>> running %s %s' % (args, kw))
|
||||||
|
|
||||||
|
cwd = kw.pop('cwd', None)
|
||||||
|
run_from = kw.pop('run_from', None)
|
||||||
|
assert not cwd or not run_from, "Don't use run_from; it's going away"
|
||||||
|
cwd = cwd or run_from or self.cwd
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
# Partial fix for ScriptTest.run using `shell=True` on Windows.
|
||||||
|
args = [str(a).replace('^', '^^').replace('&', '^&') for a in args]
|
||||||
|
|
||||||
|
# Remove `allow_stderr_error` and `allow_stderr_warning` before
|
||||||
|
# calling run() because PipTestEnvironment doesn't support them.
|
||||||
|
allow_stderr_error = kw.pop('allow_stderr_error', None)
|
||||||
|
allow_stderr_warning = kw.pop('allow_stderr_warning', None)
|
||||||
|
|
||||||
|
# Propagate default values.
|
||||||
|
expect_error = kw.get('expect_error')
|
||||||
|
if expect_error:
|
||||||
|
# Then default to allowing logged errors.
|
||||||
|
if allow_stderr_error is not None and not allow_stderr_error:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_error=False with '
|
||||||
|
'expect_error=True'
|
||||||
|
)
|
||||||
|
allow_stderr_error = True
|
||||||
|
|
||||||
|
elif kw.get('expect_stderr'):
|
||||||
|
# Then default to allowing logged warnings.
|
||||||
|
if allow_stderr_warning is not None and not allow_stderr_warning:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_warning=False with '
|
||||||
|
'expect_stderr=True'
|
||||||
|
)
|
||||||
|
allow_stderr_warning = True
|
||||||
|
|
||||||
|
if allow_stderr_error:
|
||||||
|
if allow_stderr_warning is not None and not allow_stderr_warning:
|
||||||
|
raise RuntimeError(
|
||||||
|
'cannot pass allow_stderr_warning=False with '
|
||||||
|
'allow_stderr_error=True'
|
||||||
|
)
|
||||||
|
|
||||||
|
# Default values if not set.
|
||||||
|
if allow_stderr_error is None:
|
||||||
|
allow_stderr_error = False
|
||||||
|
if allow_stderr_warning is None:
|
||||||
|
allow_stderr_warning = allow_stderr_error
|
||||||
|
|
||||||
|
# Pass expect_stderr=True to allow any stderr. We do this because
|
||||||
|
# we do our checking of stderr further on in check_stderr().
|
||||||
|
kw['expect_stderr'] = True
|
||||||
|
> result = super(PipTestEnvironment, self).run(cwd=cwd, *args, **kw)
|
||||||
|
E AssertionError: Script returned code: 1
|
||||||
|
tests/lib/__init__.py:586: AssertionError
|
||||||
|
----------------------------- Captured stdout call -----------------------------
|
||||||
|
Script result: python -m pip install INITools==0.1
|
||||||
|
return code: 1
|
||||||
|
-- stderr: --------------------
|
||||||
|
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36700>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36c40>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36dc0>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66cc36f40>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd66be48100>: Failed to establish a new connection: [Errno -2] Name or service not known')': /simple/initools/
|
||||||
|
ERROR: Could not find a version that satisfies the requirement INITools==0.1 (from versions: none)
|
||||||
|
ERROR: No matching distribution found for INITools==0.1
|
||||||
|
---
|
||||||
|
tests/functional/test_freeze.py | 3 +++
|
||||||
|
tests/functional/test_install.py | 1 +
|
||||||
|
tests/functional/test_install_config.py | 1 +
|
||||||
|
tests/functional/test_install_upgrade.py | 1 +
|
||||||
|
4 files changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py
|
||||||
|
index 546a482..aabb0ca 100644
|
||||||
|
--- a/tests/functional/test_freeze.py
|
||||||
|
+++ b/tests/functional/test_freeze.py
|
||||||
|
@@ -705,6 +705,7 @@ def test_freeze_user(script, virtualenv, data):
|
||||||
|
assert 'simple2' not in result.stdout
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.network
|
||||||
|
def test_freeze_path(tmpdir, script, data):
|
||||||
|
"""
|
||||||
|
Test freeze with --path.
|
||||||
|
@@ -718,6 +719,7 @@ def test_freeze_path(tmpdir, script, data):
|
||||||
|
_check_output(result.stdout, expected)
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.network
|
||||||
|
def test_freeze_path_exclude_user(tmpdir, script, data):
|
||||||
|
"""
|
||||||
|
Test freeze with --path and make sure packages from --user are not picked
|
||||||
|
@@ -739,6 +741,7 @@ def test_freeze_path_exclude_user(tmpdir, script, data):
|
||||||
|
_check_output(result.stdout, expected)
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.network
|
||||||
|
def test_freeze_path_multiple(tmpdir, script, data):
|
||||||
|
"""
|
||||||
|
Test freeze with multiple --path arguments.
|
||||||
|
diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py
|
||||||
|
index 0bea054..b816df6 100644
|
||||||
|
--- a/tests/functional/test_install.py
|
||||||
|
+++ b/tests/functional/test_install.py
|
||||||
|
@@ -1274,6 +1274,7 @@ def test_install_no_binary_disables_building_wheels(script, data, with_wheel):
|
||||||
|
assert "Running setup.py install for upper" in str(res), str(res)
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.network
|
||||||
|
def test_install_no_binary_builds_pep_517_wheel(script, data, with_wheel):
|
||||||
|
to_install = data.packages.joinpath('pep517_setup_and_pyproject')
|
||||||
|
res = script.pip(
|
||||||
|
diff --git a/tests/functional/test_install_config.py b/tests/functional/test_install_config.py
|
||||||
|
index bcf83f1..c9c60a2 100644
|
||||||
|
--- a/tests/functional/test_install_config.py
|
||||||
|
+++ b/tests/functional/test_install_config.py
|
||||||
|
@@ -133,6 +133,7 @@ def test_command_line_appends_correctly(script, data):
|
||||||
|
), 'stdout: {}'.format(result.stdout)
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.network
|
||||||
|
def test_config_file_override_stack(script, virtualenv):
|
||||||
|
"""
|
||||||
|
Test config files (global, overriding a global config with a
|
||||||
|
diff --git a/tests/functional/test_install_upgrade.py b/tests/functional/test_install_upgrade.py
|
||||||
|
index 36b518b..c34a961 100644
|
||||||
|
--- a/tests/functional/test_install_upgrade.py
|
||||||
|
+++ b/tests/functional/test_install_upgrade.py
|
||||||
|
@@ -8,6 +8,7 @@ from tests.lib import assert_all_changes, pyversion
|
||||||
|
from tests.lib.local_repos import local_checkout
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.network
|
||||||
|
def test_no_upgrade_unless_requested(script):
|
||||||
|
"""
|
||||||
|
No upgrade if not specifically requested.
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
@ -1,20 +1,23 @@
|
|||||||
--- /usr/bin/pip3 2018-03-29 15:22:13.000000000 +0200
|
--- /usr/bin/pip3 2019-11-12 17:37:34.793131862 +0100
|
||||||
+++ pip3 2018-05-04 11:49:08.098821010 +0200
|
+++ pip3 2019-11-12 17:40:42.014107134 +0100
|
||||||
@@ -4,7 +4,16 @@
|
@@ -2,7 +2,19 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
-from pip._internal.main import main
|
||||||
-from pip._internal import main
|
|
||||||
+try:
|
+try:
|
||||||
|
+ from pip._internal.main import main
|
||||||
|
+except ImportError:
|
||||||
|
+ try:
|
||||||
|
+ # If the user has downgraded pip, the above import will fail.
|
||||||
|
+ # Let's try older methods of invoking it:
|
||||||
|
+
|
||||||
|
+ # pip 19 uses this
|
||||||
+ from pip._internal import main
|
+ from pip._internal import main
|
||||||
+ except ImportError:
|
+ except ImportError:
|
||||||
+ # user has most probably downgraded pip in their home
|
+ # older pip versions use this
|
||||||
+ # so let them run it anyway until ~/.local/bin makes it in front of the PATH
|
|
||||||
+ from pip import main
|
+ from pip import main
|
||||||
+else:
|
+
|
||||||
+ # user might also upgraded pip...
|
|
||||||
+ if hasattr(main, 'main'):
|
|
||||||
+ main = main.main
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
|
||||||
|
sys.exit(main())
|
||||||
|
@ -15,35 +15,35 @@
|
|||||||
Name: python-%{srcname}
|
Name: python-%{srcname}
|
||||||
# When updating, update the bundled libraries versions bellow!
|
# When updating, update the bundled libraries versions bellow!
|
||||||
# You can use vendor_meta.sh in the dist git repo
|
# You can use vendor_meta.sh in the dist git repo
|
||||||
Version: 19.2.3
|
Version: 19.3.1
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A tool for installing and managing Python packages
|
Summary: A tool for installing and managing Python packages
|
||||||
|
|
||||||
# We bundle a lot of libraries with pip, which itself is under MIT license.
|
# We bundle a lot of libraries with pip, which itself is under MIT license.
|
||||||
# Here is the list of the libraries with corresponding licenses:
|
# Here is the list of the libraries with corresponding licenses:
|
||||||
|
|
||||||
# appdirs: MIT
|
# appdirs: MIT
|
||||||
|
# certifi: MPLv2.0
|
||||||
|
# chardet: LGPLv2
|
||||||
|
# colorama: BSD
|
||||||
|
# CacheControl: ASL 2.0
|
||||||
|
# contextlib2: Python
|
||||||
# distlib: Python
|
# distlib: Python
|
||||||
# distro: ASL 2.0
|
# distro: ASL 2.0
|
||||||
# html5lib: MIT
|
# html5lib: MIT
|
||||||
# six: MIT
|
# idna: BSD
|
||||||
# colorama: BSD
|
|
||||||
# CacheControl: ASL 2.0
|
|
||||||
# msgpack-python: ASL 2.0
|
|
||||||
# lockfile: MIT
|
|
||||||
# progress: ISC
|
|
||||||
# ipaddress: Python
|
# ipaddress: Python
|
||||||
|
# msgpack: ASL 2.0
|
||||||
# packaging: ASL 2.0 or BSD
|
# packaging: ASL 2.0 or BSD
|
||||||
# pep517: MIT
|
# pep517: MIT
|
||||||
|
# progress: ISC
|
||||||
# pyparsing: MIT
|
# pyparsing: MIT
|
||||||
# pytoml: MIT
|
# pytoml: MIT
|
||||||
# retrying: ASL 2.0
|
|
||||||
# requests: ASL 2.0
|
# requests: ASL 2.0
|
||||||
# chardet: LGPLv2
|
# retrying: ASL 2.0
|
||||||
# idna: BSD
|
|
||||||
# urllib3: MIT
|
|
||||||
# certifi: MPLv2.0
|
|
||||||
# setuptools: MIT
|
# setuptools: MIT
|
||||||
|
# six: MIT
|
||||||
|
# urllib3: MIT
|
||||||
# webencodings: BSD
|
# webencodings: BSD
|
||||||
|
|
||||||
License: MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)
|
License: MIT and Python and ASL 2.0 and BSD and ISC and LGPLv2 and MPLv2.0 and (ASL 2.0 or BSD)
|
||||||
@ -62,6 +62,7 @@ BuildRequires: python-wheel-wheel
|
|||||||
|
|
||||||
# to get tests:
|
# to get tests:
|
||||||
# git clone https://github.com/pypa/pip && cd pip
|
# git clone https://github.com/pypa/pip && cd pip
|
||||||
|
# VERSION= # define the version you want
|
||||||
# git checkout $VERSION && tar -czvf ../pip-$VERSION-tests.tar.gz tests/
|
# git checkout $VERSION && tar -czvf ../pip-$VERSION-tests.tar.gz tests/
|
||||||
%if %{with tests}
|
%if %{with tests}
|
||||||
Source1: pip-%{version}-tests.tar.gz
|
Source1: pip-%{version}-tests.tar.gz
|
||||||
@ -73,9 +74,6 @@ Source2: https://github.com/pypa/pypa-docs-theme/archive/%{pypa_theme_com
|
|||||||
Source3: https://github.com/python/python-docs-theme/archive/2018.2.tar.gz
|
Source3: https://github.com/python/python-docs-theme/archive/2018.2.tar.gz
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Fix expected output in test to not break with alpha/beta/rc Python versions
|
|
||||||
Patch0: https://github.com/pypa/pip/pull/6788.patch
|
|
||||||
|
|
||||||
# Downstream only patch
|
# Downstream only patch
|
||||||
# Emit a warning to the user if pip install is run with root privileges
|
# Emit a warning to the user if pip install is run with root privileges
|
||||||
# Issue upstream: https://github.com/pypa/pip/issues/4288
|
# Issue upstream: https://github.com/pypa/pip/issues/4288
|
||||||
@ -93,6 +91,12 @@ Patch3: remove-existing-dist-only-if-path-conflicts.patch
|
|||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1655253
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1655253
|
||||||
Patch4: dummy-certifi.patch
|
Patch4: dummy-certifi.patch
|
||||||
|
|
||||||
|
%if %{with tests}
|
||||||
|
# Mark tests that need the Internet as network tests so we can skip them
|
||||||
|
# https://github.com/pypa/pip/pull/7359
|
||||||
|
Patch5: network-tests.patch
|
||||||
|
%endif
|
||||||
|
|
||||||
# Downstream only patch
|
# Downstream only patch
|
||||||
# Users might have local installations of pip from using
|
# Users might have local installations of pip from using
|
||||||
# `pip install --user --upgrade pip` on older/newer versions.
|
# `pip install --user --upgrade pip` on older/newer versions.
|
||||||
@ -125,26 +129,26 @@ Packages" or "Pip Installs Python".
|
|||||||
%global bundled() %{expand:
|
%global bundled() %{expand:
|
||||||
Provides: bundled(python%{1}dist(appdirs)) = 1.4.3
|
Provides: bundled(python%{1}dist(appdirs)) = 1.4.3
|
||||||
Provides: bundled(python%{1}dist(CacheControl)) = 0.12.5
|
Provides: bundled(python%{1}dist(CacheControl)) = 0.12.5
|
||||||
Provides: bundled(python%{1}dist(certifi)) = 2019.6.16
|
Provides: bundled(python%{1}dist(certifi)) = 2019.9.11
|
||||||
Provides: bundled(python%{1}dist(chardet)) = 3.0.4
|
Provides: bundled(python%{1}dist(chardet)) = 3.0.4
|
||||||
Provides: bundled(python%{1}dist(colorama)) = 0.4.1
|
Provides: bundled(python%{1}dist(colorama)) = 0.4.1
|
||||||
|
Provides: bundled(python%{1}dist(contextlib2)) = 0.6.0
|
||||||
Provides: bundled(python%{1}dist(distlib)) = 0.2.9.post0
|
Provides: bundled(python%{1}dist(distlib)) = 0.2.9.post0
|
||||||
Provides: bundled(python%{1}dist(distro)) = 1.4.0
|
Provides: bundled(python%{1}dist(distro)) = 1.4.0
|
||||||
Provides: bundled(python%{1}dist(html5lib)) = 1.0.1
|
Provides: bundled(python%{1}dist(html5lib)) = 1.0.1
|
||||||
Provides: bundled(python%{1}dist(idna)) = 2.8
|
Provides: bundled(python%{1}dist(idna)) = 2.8
|
||||||
Provides: bundled(python%{1}dist(ipaddress)) = 1.0.22
|
Provides: bundled(python%{1}dist(ipaddress)) = 1.0.22
|
||||||
Provides: bundled(python%{1}dist(lockfile)) = 0.12.2
|
Provides: bundled(python%{1}dist(msgpack)) = 0.6.2
|
||||||
Provides: bundled(python%{1}dist(msgpack)) = 0.6.1
|
Provides: bundled(python%{1}dist(packaging)) = 19.2
|
||||||
Provides: bundled(python%{1}dist(packaging)) = 19.0
|
Provides: bundled(python%{1}dist(pep517)) = 0.7.0
|
||||||
Provides: bundled(python%{1}dist(pep517)) = 0.5.0
|
|
||||||
Provides: bundled(python%{1}dist(progress)) = 1.5
|
Provides: bundled(python%{1}dist(progress)) = 1.5
|
||||||
Provides: bundled(python%{1}dist(pyparsing)) = 2.4.0
|
Provides: bundled(python%{1}dist(pyparsing)) = 2.4.2
|
||||||
Provides: bundled(python%{1}dist(pytoml)) = 0.1.20
|
Provides: bundled(python%{1}dist(pytoml)) = 0.1.21
|
||||||
Provides: bundled(python%{1}dist(requests)) = 2.22.0
|
Provides: bundled(python%{1}dist(requests)) = 2.22.0
|
||||||
Provides: bundled(python%{1}dist(retrying)) = 1.3.3
|
Provides: bundled(python%{1}dist(retrying)) = 1.3.3
|
||||||
Provides: bundled(python%{1}dist(setuptools)) = 41.0.1
|
Provides: bundled(python%{1}dist(setuptools)) = 41.4.0
|
||||||
Provides: bundled(python%{1}dist(six)) = 1.12.0
|
Provides: bundled(python%{1}dist(six)) = 1.12.0
|
||||||
Provides: bundled(python%{1}dist(urllib3)) = 1.25.3
|
Provides: bundled(python%{1}dist(urllib3)) = 1.25.6
|
||||||
Provides: bundled(python%{1}dist(webencodings)) = 0.5.1
|
Provides: bundled(python%{1}dist(webencodings)) = 0.5.1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,11 +247,13 @@ mv python-docs-theme-2018.2 python-docs-theme
|
|||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%patch0 -p1
|
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
|
%if %{with tests}
|
||||||
|
%patch5 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
# this goes together with patch4
|
# this goes together with patch4
|
||||||
rm src/pip/_vendor/certifi/*.pem
|
rm src/pip/_vendor/certifi/*.pem
|
||||||
@ -376,6 +382,10 @@ ln -sf %{buildroot}%{_bindir}/pip3 _bin/pip
|
|||||||
%{python_wheeldir}/%{python_wheelname}
|
%{python_wheeldir}/%{python_wheelname}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 04 2019 Tomas Orsava <torsava@redhat.com> - 19.3.1-1
|
||||||
|
- Update to 19.3.1 (#1761508)
|
||||||
|
- Drop upstreamed patch that fixed expected output in test to not break with alpha/beta/rc Python versions
|
||||||
|
|
||||||
* Wed Oct 30 2019 Miro Hrončok <mhroncok@redhat.com> - 19.2.3-2
|
* Wed Oct 30 2019 Miro Hrončok <mhroncok@redhat.com> - 19.2.3-2
|
||||||
- Make /usr/bin/pip(3) work with user-installed pip 19.3+ (#1767212)
|
- Make /usr/bin/pip(3) work with user-installed pip 19.3+ (#1767212)
|
||||||
|
|
||||||
|
@ -1,29 +1,34 @@
|
|||||||
commit b6d5da6796801862eb751a93d507c343af0604d6
|
From 8c58a99221415ca7c3d5ce50dcffefa14e421928 Mon Sep 17 00:00:00 2001
|
||||||
Author: Victor Stinner <vstinner@redhat.com>
|
From: Tomas Orsava <torsava@redhat.com>
|
||||||
Date: Tue Sep 18 17:13:51 2018 +0200
|
Date: Tue, 12 Nov 2019 17:24:20 +0100
|
||||||
|
Subject: [PATCH] Subject: Prevent removing of the system packages installed
|
||||||
Subject: Prevent removing of the system packages installed under /usr/lib
|
under /usr/lib
|
||||||
|
|
||||||
when pip install -U is executed.
|
when pip install -U is executed.
|
||||||
|
|
||||||
Resolves: rhbz#1550368
|
Resolves: rhbz#1550368
|
||||||
|
|
||||||
Co-Authored-By: Michal Cyprian <m.cyprian@gmail.com>
|
Co-Authored-By: Michal Cyprian <m.cyprian@gmail.com>
|
||||||
|
Co-Authored-By: Victor Stinner <vstinner@redhat.com>
|
||||||
|
---
|
||||||
|
src/pip/_internal/legacy_resolve.py | 5 ++++-
|
||||||
|
src/pip/_internal/req/req_install.py | 3 ++-
|
||||||
|
src/pip/_internal/utils/misc.py | 11 +++++++++++
|
||||||
|
3 files changed, 17 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/pip/_internal/legacy_resolve.py b/src/pip/_internal/legacy_resolve.py
|
diff --git a/src/pip/_internal/legacy_resolve.py b/src/pip/_internal/legacy_resolve.py
|
||||||
index 1d9229cb..3088d22d 100644
|
index c24158f..bd92287 100644
|
||||||
--- a/src/pip/_internal/legacy_resolve.py
|
--- a/src/pip/_internal/legacy_resolve.py
|
||||||
+++ b/src/pip/_internal/legacy_resolve.py
|
+++ b/src/pip/_internal/legacy_resolve.py
|
||||||
@@ -24,7 +24,7 @@ from pip._internal.exceptions import (
|
@@ -30,6 +30,7 @@ from pip._internal.exceptions import (
|
||||||
from pip._internal.req.constructors import install_req_from_req_string
|
)
|
||||||
from pip._internal.utils.logging import indent_log
|
from pip._internal.utils.logging import indent_log
|
||||||
from pip._internal.utils.misc import (
|
from pip._internal.utils.misc import (
|
||||||
- dist_in_usersite, ensure_dir, normalize_version_info,
|
+ dist_in_install_path,
|
||||||
+ dist_in_install_path, dist_in_usersite, ensure_dir, normalize_version_info,
|
dist_in_usersite,
|
||||||
)
|
ensure_dir,
|
||||||
from pip._internal.utils.packaging import (
|
normalize_version_info,
|
||||||
check_requires_python, get_requires_python,
|
@@ -224,7 +225,9 @@ class Resolver(object):
|
||||||
@@ -219,7 +219,9 @@ class Resolver(object):
|
|
||||||
"""
|
"""
|
||||||
# Don't uninstall the conflict if doing a user install and the
|
# Don't uninstall the conflict if doing a user install and the
|
||||||
# conflict is not a user install.
|
# conflict is not a user install.
|
||||||
@ -35,19 +40,18 @@ index 1d9229cb..3088d22d 100644
|
|||||||
req.satisfied_by = None
|
req.satisfied_by = None
|
||||||
|
|
||||||
diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
|
diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
|
||||||
index f5c93504..1096c397 100644
|
index 5a8c0dc..f80ba87 100644
|
||||||
--- a/src/pip/_internal/req/req_install.py
|
--- a/src/pip/_internal/req/req_install.py
|
||||||
+++ b/src/pip/_internal/req/req_install.py
|
+++ b/src/pip/_internal/req/req_install.py
|
||||||
@@ -27,7 +27,7 @@ from pip._internal.utils.logging import indent_log
|
@@ -39,6 +39,7 @@ from pip._internal.utils.misc import (
|
||||||
from pip._internal.utils.marker_files import PIP_DELETE_MARKER_FILENAME
|
ask_path_exists,
|
||||||
from pip._internal.utils.misc import (
|
backup_dir,
|
||||||
_make_build_dir, ask_path_exists, backup_dir, call_subprocess,
|
display_path,
|
||||||
- display_path, dist_in_site_packages, dist_in_usersite, ensure_dir,
|
+ dist_in_install_path,
|
||||||
+ display_path, dist_in_install_path, dist_in_site_packages, dist_in_usersite, ensure_dir,
|
dist_in_site_packages,
|
||||||
get_installed_version, redact_password_from_url, rmtree,
|
dist_in_usersite,
|
||||||
)
|
ensure_dir,
|
||||||
from pip._internal.utils.packaging import get_metadata
|
@@ -461,7 +462,7 @@ class InstallRequirement(object):
|
||||||
@@ -427,7 +427,7 @@ class InstallRequirement(object):
|
|
||||||
"lack sys.path precedence to %s in %s" %
|
"lack sys.path precedence to %s in %s" %
|
||||||
(existing_dist.project_name, existing_dist.location)
|
(existing_dist.project_name, existing_dist.location)
|
||||||
)
|
)
|
||||||
@ -57,20 +61,19 @@ index f5c93504..1096c397 100644
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
diff --git a/src/pip/_internal/utils/misc.py b/src/pip/_internal/utils/misc.py
|
diff --git a/src/pip/_internal/utils/misc.py b/src/pip/_internal/utils/misc.py
|
||||||
index 61f74dc8..ffa8042c 100644
|
index b848263..5b75fed 100644
|
||||||
--- a/src/pip/_internal/utils/misc.py
|
--- a/src/pip/_internal/utils/misc.py
|
||||||
+++ b/src/pip/_internal/utils/misc.py
|
+++ b/src/pip/_internal/utils/misc.py
|
||||||
@@ -30,7 +30,7 @@ from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote
|
@@ -28,6 +28,7 @@ from pip._vendor.six.moves.urllib.parse import unquote as urllib_unquote
|
||||||
|
|
||||||
from pip import __version__
|
from pip import __version__
|
||||||
from pip._internal.exceptions import CommandError, InstallationError
|
from pip._internal.exceptions import CommandError
|
||||||
-from pip._internal.locations import site_packages, user_site
|
from pip._internal.locations import (
|
||||||
+from pip._internal.locations import distutils_scheme, site_packages, user_site
|
+ distutils_scheme,
|
||||||
from pip._internal.utils.compat import (
|
get_major_minor_version,
|
||||||
WINDOWS, console_to_str, expanduser, stdlib_pkgs, str_to_display,
|
site_packages,
|
||||||
)
|
user_site,
|
||||||
@@ -454,6 +454,16 @@ def dist_in_site_packages(dist):
|
@@ -389,6 +390,16 @@ def dist_in_site_packages(dist):
|
||||||
).startswith(normalize_path(site_packages))
|
return dist_location(dist).startswith(normalize_path(site_packages))
|
||||||
|
|
||||||
|
|
||||||
+def dist_in_install_path(dist):
|
+def dist_in_install_path(dist):
|
||||||
@ -86,3 +89,6 @@ index 61f74dc8..ffa8042c 100644
|
|||||||
def dist_is_editable(dist):
|
def dist_is_editable(dist):
|
||||||
# type: (Distribution) -> bool
|
# type: (Distribution) -> bool
|
||||||
"""
|
"""
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
|
4
sources
4
sources
@ -1,4 +1,4 @@
|
|||||||
SHA512 (pip-19.2.3.tar.gz) = 64ab4ece6da526c9d1b24e73a9c0ca0a38d0fb1525bf9981177342a8b0902ae825ec8f3dabd9ce00dcf0f010aaabf4177c9146084668ce505e0c382c322948c8
|
SHA512 (pip-19.3.1.tar.gz) = 954b390580e23d0a85d1fa4cbd2f35171df7930fbe346f9a809477fe133e95f7d30208d79b5d07f30c81ab1b0a9b52f36f3ff6c77dc81a1c9ab9beb2bd8e0aa1
|
||||||
SHA512 (pip-19.2.3-tests.tar.gz) = d4052d83e20fe276d251a80d8d33c33568570d5f26038847f0e5fba34a48ae3d5318b31439f8582d337245f38472495db221d7f4bf39eb9c98181f2f8aecad36
|
SHA512 (pip-19.3.1-tests.tar.gz) = fb058fcaaff3325341af5f4746be0c7943953c43fb721124758320363532911ca399f254a58e347c72795adc41764600bc6d02efce0e1e27d4b6d130efad9945
|
||||||
SHA512 (d2e63fbfc62af3b7050f619b2f5bb8658985b931.tar.gz) = fc7b11c5cbf6322469ce2eaca2a8d7eb60b17398d316f7465ab5d3d38dabd00ee22a3da7437a28f6312f0115f77f2df0d8bf0abc671e055eef06356c94283409
|
SHA512 (d2e63fbfc62af3b7050f619b2f5bb8658985b931.tar.gz) = fc7b11c5cbf6322469ce2eaca2a8d7eb60b17398d316f7465ab5d3d38dabd00ee22a3da7437a28f6312f0115f77f2df0d8bf0abc671e055eef06356c94283409
|
||||||
SHA512 (2018.2.tar.gz) = 4c09c43a70ecb3ca3bc9445b01bf209eb382e41d9c969145696dea38551992ed88fd9b725a1264380f3dbdf8acdaf5ada3ef86b44255cdfbdbe4a01a1630912d
|
SHA512 (2018.2.tar.gz) = 4c09c43a70ecb3ca3bc9445b01bf209eb382e41d9c969145696dea38551992ed88fd9b725a1264380f3dbdf8acdaf5ada3ef86b44255cdfbdbe4a01a1630912d
|
||||||
|
Loading…
Reference in New Issue
Block a user