Update to 2.18.1 (#1449432)
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
This commit is contained in:
parent
bf26e32110
commit
2c9580baca
1
.gitignore
vendored
1
.gitignore
vendored
@ -34,3 +34,4 @@
|
|||||||
/requests-2.12.4-tests.tar.gz
|
/requests-2.12.4-tests.tar.gz
|
||||||
/requests-v2.13.0.tar.gz
|
/requests-v2.13.0.tar.gz
|
||||||
/requests-v2.14.2.tar.gz
|
/requests-v2.14.2.tar.gz
|
||||||
|
/requests-v2.18.1.tar.gz
|
||||||
|
55
Remove-tests-that-use-the-tarpit.patch
Normal file
55
Remove-tests-that-use-the-tarpit.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
From 524cd22fb77e69db9bb3f017bbb1d9782c37b0cd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
Date: Tue, 13 Jun 2017 09:08:09 -0400
|
||||||
|
Subject: [PATCH] Remove tests that use the tarpit
|
||||||
|
|
||||||
|
The latest version of Mock has started using systemd containers. The
|
||||||
|
systemd-nspawn command is being run with --private-network, which
|
||||||
|
immediately kills connections to something other than localhost. These
|
||||||
|
tests depend on the connection not being killed immediately and that
|
||||||
|
they are never responded to.
|
||||||
|
|
||||||
|
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
---
|
||||||
|
tests/test_requests.py | 25 -------------------------
|
||||||
|
1 file changed, 25 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test_requests.py b/tests/test_requests.py
|
||||||
|
index b8350cb..46b7e9e 100755
|
||||||
|
--- a/tests/test_requests.py
|
||||||
|
+++ b/tests/test_requests.py
|
||||||
|
@@ -2049,31 +2049,6 @@ class TestTimeout:
|
||||||
|
except ReadTimeout:
|
||||||
|
pass
|
||||||
|
|
||||||
|
- @pytest.mark.parametrize(
|
||||||
|
- 'timeout', (
|
||||||
|
- (0.1, None),
|
||||||
|
- Urllib3Timeout(connect=0.1, read=None)
|
||||||
|
- ))
|
||||||
|
- def test_connect_timeout(self, timeout):
|
||||||
|
- try:
|
||||||
|
- requests.get(TARPIT, timeout=timeout)
|
||||||
|
- pytest.fail('The connect() request should time out.')
|
||||||
|
- except ConnectTimeout as e:
|
||||||
|
- assert isinstance(e, ConnectionError)
|
||||||
|
- assert isinstance(e, Timeout)
|
||||||
|
-
|
||||||
|
- @pytest.mark.parametrize(
|
||||||
|
- 'timeout', (
|
||||||
|
- (0.1, 0.1),
|
||||||
|
- Urllib3Timeout(connect=0.1, read=0.1)
|
||||||
|
- ))
|
||||||
|
- def test_total_timeout_connect(self, timeout):
|
||||||
|
- try:
|
||||||
|
- requests.get(TARPIT, timeout=timeout)
|
||||||
|
- pytest.fail('The connect() request should time out.')
|
||||||
|
- except ConnectTimeout:
|
||||||
|
- pass
|
||||||
|
-
|
||||||
|
def test_encoded_methods(self, httpbin):
|
||||||
|
"""See: https://github.com/requests/requests/issues/2316"""
|
||||||
|
r = requests.request(b'GET', httpbin('get'))
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
29
dont-import-OrderedDict-from-urllib3.patch
Normal file
29
dont-import-OrderedDict-from-urllib3.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From 75f027ac8bc55ad280f7bf72a25db1ce8c1fc76d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
Date: Mon, 19 Jun 2017 16:19:53 -0400
|
||||||
|
Subject: [PATCH] Don't import OrderedDict from urllib3
|
||||||
|
|
||||||
|
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
---
|
||||||
|
requests/compat.py | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/requests/compat.py b/requests/compat.py
|
||||||
|
index 5c09ea8..61fa0c8 100644
|
||||||
|
--- a/requests/compat.py
|
||||||
|
+++ b/requests/compat.py
|
||||||
|
@@ -46,7 +46,10 @@ if is_py2:
|
||||||
|
from Cookie import Morsel
|
||||||
|
from StringIO import StringIO
|
||||||
|
|
||||||
|
- from urllib3.packages.ordered_dict import OrderedDict
|
||||||
|
+ try:
|
||||||
|
+ from collections import OrderedDict # py2.7+
|
||||||
|
+ except:
|
||||||
|
+ from ordereddict import OrderedDict # py2.6 and lower (el6, etc.
|
||||||
|
|
||||||
|
builtin_str = str
|
||||||
|
bytes = str
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
36
patch-requests-certs.py-to-use-the-system-CA-bundle.patch
Normal file
36
patch-requests-certs.py-to-use-the-system-CA-bundle.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From 5bce3f425c5bd59dccdd054f7f27baceb3cf3fb4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
Date: Mon, 19 Jun 2017 16:09:02 -0400
|
||||||
|
Subject: [PATCH] Patch requests/certs.py to use the system CA bundle
|
||||||
|
|
||||||
|
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
|
||||||
|
---
|
||||||
|
requests/certs.py | 11 ++++++++++-
|
||||||
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/requests/certs.py b/requests/certs.py
|
||||||
|
index d1a378d..7b103ba 100644
|
||||||
|
--- a/requests/certs.py
|
||||||
|
+++ b/requests/certs.py
|
||||||
|
@@ -11,8 +11,17 @@ only one — the one from the certifi package.
|
||||||
|
If you are packaging Requests, e.g., for a Linux distribution or a managed
|
||||||
|
environment, you can change the definition of where() to return a separately
|
||||||
|
packaged CA bundle.
|
||||||
|
+
|
||||||
|
+This Fedora-patched package returns "/etc/pki/tls/certs/ca-bundle.crt" provided
|
||||||
|
+by the ca-certificates RPM package.
|
||||||
|
"""
|
||||||
|
-from certifi import where
|
||||||
|
+try:
|
||||||
|
+ from certifi import where
|
||||||
|
+except ImportError:
|
||||||
|
+ def where():
|
||||||
|
+ """Return the absolute path to the system CA bundle."""
|
||||||
|
+ return '/etc/pki/tls/certs/ca-bundle.crt'
|
||||||
|
+
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(where())
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
From 8c2259d4ab03ef982738aaf863068a1015cadf3d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ralph Bean <rbean@redhat.com>
|
|
||||||
Date: Wed, 5 Nov 2014 10:23:44 -0500
|
|
||||||
Subject: [PATCH] Remove nested bundling dep.
|
|
||||||
|
|
||||||
---
|
|
||||||
requests/compat.py | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/requests/compat.py b/requests/compat.py
|
|
||||||
index be5a1ed..70ea4e8 100644
|
|
||||||
--- a/requests/compat.py
|
|
||||||
+++ b/requests/compat.py
|
|
||||||
@@ -91,7 +91,11 @@ if is_py2:
|
|
||||||
import cookielib
|
|
||||||
from Cookie import Morsel
|
|
||||||
from StringIO import StringIO
|
|
||||||
- from .packages.urllib3.packages.ordered_dict import OrderedDict
|
|
||||||
+
|
|
||||||
+ try:
|
|
||||||
+ from collections import OrderedDict # py2.7
|
|
||||||
+ except:
|
|
||||||
+ from ordereddict import OrderedDict # py2.6 and lower (el6, etc.)
|
|
||||||
|
|
||||||
builtin_str = str
|
|
||||||
bytes = str
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
|||||||
From a49b39fbfe01791880c6e7179f6efdad03e8ce58 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ralph Bean <rbean@redhat.com>
|
|
||||||
Date: Wed, 5 Nov 2014 10:15:17 -0500
|
|
||||||
Subject: [PATCH] system cert bundle
|
|
||||||
|
|
||||||
---
|
|
||||||
requests/certs.py | 9 +++++----
|
|
||||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/requests/certs.py b/requests/certs.py
|
|
||||||
index 07e6475..2c7ca96 100644
|
|
||||||
--- a/requests/certs.py
|
|
||||||
+++ b/requests/certs.py
|
|
||||||
@@ -10,16 +10,17 @@ This module returns the preferred default CA certificate bundle.
|
|
||||||
If you are packaging Requests, e.g., for a Linux distribution or a managed
|
|
||||||
environment, you can change the definition of where() to return a separately
|
|
||||||
packaged CA bundle.
|
|
||||||
+
|
|
||||||
+We return "/etc/pki/tls/certs/ca-bundle.crt" provided by the ca-certificates
|
|
||||||
+package.
|
|
||||||
"""
|
|
||||||
-import os.path
|
|
||||||
|
|
||||||
try:
|
|
||||||
from certifi import where
|
|
||||||
except ImportError:
|
|
||||||
def where():
|
|
||||||
- """Return the preferred certificate bundle."""
|
|
||||||
- # vendored bundle inside Requests
|
|
||||||
- return os.path.join(os.path.dirname(__file__), 'cacert.pem')
|
|
||||||
+ """ Don't use the certs bundled with requests, use ca-certificates. """
|
|
||||||
+ return "/etc/pki/tls/certs/ca-bundle.crt"
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
print(where())
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From e44b99214a953fcc68227a7182f2fecd55c58267 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jeremy Cline <jeremy@jcline.org>
|
|
||||||
Date: Wed, 17 May 2017 11:57:23 -0400
|
|
||||||
Subject: [PATCH] python requests urllib3 at 1.21.1
|
|
||||||
|
|
||||||
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
|
|
||||||
---
|
|
||||||
setup.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/setup.py b/setup.py
|
|
||||||
index 6ad0bc3..50ae1a1 100755
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -48,7 +48,7 @@ packages = [
|
|
||||||
'requests.packages.urllib3.contrib._securetransport',
|
|
||||||
]
|
|
||||||
|
|
||||||
-requires = []
|
|
||||||
+requires = ['urllib3==1.21.1']
|
|
||||||
test_requirements = ['pytest>=2.8.0', 'pytest-httpbin==0.0.7', 'pytest-cov', 'pytest-mock']
|
|
||||||
|
|
||||||
with open('requests/__init__.py', 'r') as fd:
|
|
||||||
--
|
|
||||||
2.9.4
|
|
||||||
|
|
@ -7,30 +7,28 @@
|
|||||||
%{!?python3_pkgversion: %global python3_pkgversion 34}
|
%{!?python3_pkgversion: %global python3_pkgversion 34}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global urllib3_unbundled_version 1.21.1
|
|
||||||
|
|
||||||
Name: python-requests
|
Name: python-requests
|
||||||
Version: 2.14.2
|
Version: 2.18.1
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: HTTP library, written in Python, for human beings
|
Summary: HTTP library, written in Python, for human beings
|
||||||
|
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
URL: https://pypi.io/project/requests
|
URL: https://pypi.io/project/requests
|
||||||
Source0: https://github.com/kennethreitz/requests/archive/v%{version}/requests-v%{version}.tar.gz
|
Source0: https://github.com/requests/requests/archive/v%{version}/requests-v%{version}.tar.gz
|
||||||
# Explicitly use the system certificates in ca-certificates.
|
# Explicitly use the system certificates in ca-certificates.
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=904614
|
# https://bugzilla.redhat.com/show_bug.cgi?id=904614
|
||||||
Patch0: python-requests-system-cert-bundle.patch
|
Patch0: patch-requests-certs.py-to-use-the-system-CA-bundle.patch
|
||||||
|
|
||||||
# Remove an unnecessary reference to a bundled compat lib in urllib3
|
# Remove an unnecessary reference to a bundled compat lib in urllib3
|
||||||
# Some discussion with upstream:
|
# Some discussion with upstream:
|
||||||
# - https://twitter.com/sigmavirus24/status/529816751651819520
|
# - https://twitter.com/sigmavirus24/status/529816751651819520
|
||||||
# - https://github.com/kennethreitz/requests/issues/1811
|
# - https://github.com/kennethreitz/requests/issues/1811
|
||||||
# - https://github.com/kennethreitz/requests/pull/1812
|
# - https://github.com/kennethreitz/requests/pull/1812
|
||||||
Patch1: python-requests-remove-nested-bundling-dep.patch
|
Patch1: dont-import-OrderedDict-from-urllib3.patch
|
||||||
|
|
||||||
# Tell setuptools about what version of urllib3 we're unbundling
|
|
||||||
# - https://github.com/kennethreitz/requests/issues/2816
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1450608
|
||||||
Patch2: python-requests-urllib3-at-%{urllib3_unbundled_version}.patch
|
Patch2: Remove-tests-that-use-the-tarpit.patch
|
||||||
|
|
||||||
# Use 127.0.0.1 not localhost for socket.bind() in the Server test
|
# Use 127.0.0.1 not localhost for socket.bind() in the Server test
|
||||||
# class, to fix tests in Koji's no-network environment
|
# class, to fix tests in Koji's no-network environment
|
||||||
@ -53,7 +51,7 @@ Summary: HTTP library, written in Python, for human beings
|
|||||||
|
|
||||||
BuildRequires: python2-devel
|
BuildRequires: python2-devel
|
||||||
BuildRequires: python-chardet
|
BuildRequires: python-chardet
|
||||||
BuildRequires: python2-urllib3 == %{urllib3_unbundled_version}
|
BuildRequires: python2-urllib3
|
||||||
# For tests
|
# For tests
|
||||||
BuildRequires: python2-pytest
|
BuildRequires: python2-pytest
|
||||||
BuildRequires: python2-pytest-cov
|
BuildRequires: python2-pytest-cov
|
||||||
@ -63,7 +61,7 @@ BuildRequires: python2-pytest-mock
|
|||||||
|
|
||||||
Requires: ca-certificates
|
Requires: ca-certificates
|
||||||
Requires: python-chardet
|
Requires: python-chardet
|
||||||
Requires: python2-urllib3 == %{urllib3_unbundled_version}
|
Requires: python2-urllib3
|
||||||
Requires: python-idna
|
Requires: python-idna
|
||||||
|
|
||||||
%if 0%{?rhel} && 0%{?rhel} <= 6
|
%if 0%{?rhel} && 0%{?rhel} <= 6
|
||||||
@ -85,7 +83,7 @@ Summary: HTTP library, written in Python, for human beings
|
|||||||
|
|
||||||
BuildRequires: python%{python3_pkgversion}-devel
|
BuildRequires: python%{python3_pkgversion}-devel
|
||||||
BuildRequires: python%{python3_pkgversion}-chardet
|
BuildRequires: python%{python3_pkgversion}-chardet
|
||||||
BuildRequires: python%{python3_pkgversion}-urllib3 == %{urllib3_unbundled_version}
|
BuildRequires: python%{python3_pkgversion}-urllib3
|
||||||
# For tests
|
# For tests
|
||||||
BuildRequires: python%{python3_pkgversion}-pytest
|
BuildRequires: python%{python3_pkgversion}-pytest
|
||||||
BuildRequires: python%{python3_pkgversion}-pytest-cov
|
BuildRequires: python%{python3_pkgversion}-pytest-cov
|
||||||
@ -93,7 +91,7 @@ BuildRequires: python%{python3_pkgversion}-pytest-httpbin
|
|||||||
BuildRequires: python%{python3_pkgversion}-pytest-mock
|
BuildRequires: python%{python3_pkgversion}-pytest-mock
|
||||||
|
|
||||||
Requires: python%{python3_pkgversion}-chardet
|
Requires: python%{python3_pkgversion}-chardet
|
||||||
Requires: python%{python3_pkgversion}-urllib3 == %{urllib3_unbundled_version}
|
Requires: python%{python3_pkgversion}-urllib3
|
||||||
Requires: python%{python3_pkgversion}-idna
|
Requires: python%{python3_pkgversion}-idna
|
||||||
|
|
||||||
%description -n python%{python3_pkgversion}-requests
|
%description -n python%{python3_pkgversion}-requests
|
||||||
@ -119,36 +117,21 @@ cp -a . %{py3dir}
|
|||||||
pushd %{py3dir}
|
pushd %{py3dir}
|
||||||
%{__python3} setup.py build
|
%{__python3} setup.py build
|
||||||
|
|
||||||
# Unbundle chardet and urllib3. We replace these with symlinks to system libs.
|
|
||||||
rm -rf build/lib/requests/packages/chardet
|
|
||||||
rm -rf build/lib/requests/packages/urllib3
|
|
||||||
rm -rf build/lib/requests/packages/idna
|
|
||||||
|
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{__python} setup.py build
|
%{__python} setup.py build
|
||||||
|
|
||||||
# Unbundle chardet and urllib3. We replace these with symlinks to system libs.
|
|
||||||
rm -rf build/lib/requests/packages/chardet
|
|
||||||
rm -rf build/lib/requests/packages/urllib3
|
|
||||||
rm -rf build/lib/requests/packages/idna
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
%if 0%{?_with_python3}
|
%if 0%{?_with_python3}
|
||||||
pushd %{py3dir}
|
pushd %{py3dir}
|
||||||
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
%{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
||||||
ln -s ../../chardet %{buildroot}/%{python3_sitelib}/requests/packages/chardet
|
|
||||||
ln -s ../../urllib3 %{buildroot}/%{python3_sitelib}/requests/packages/urllib3
|
|
||||||
ln -s ../../idna %{buildroot}/%{python3_sitelib}/requests/packages/idna
|
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
||||||
ln -s ../../chardet %{buildroot}/%{python2_sitelib}/requests/packages/chardet
|
|
||||||
ln -s ../../urllib3 %{buildroot}/%{python2_sitelib}/requests/packages/urllib3
|
|
||||||
ln -s ../../idna %{buildroot}/%{python2_sitelib}/requests/packages/idna
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
|
||||||
@ -168,7 +151,7 @@ popd
|
|||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{!?_licensedir:%global license %%doc}
|
%{!?_licensedir:%global license %%doc}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc NOTICE README.rst HISTORY.rst
|
%doc README.rst HISTORY.rst
|
||||||
%{python2_sitelib}/*.egg-info
|
%{python2_sitelib}/*.egg-info
|
||||||
%dir %{python2_sitelib}/requests
|
%dir %{python2_sitelib}/requests
|
||||||
%{python2_sitelib}/requests/*
|
%{python2_sitelib}/requests/*
|
||||||
@ -177,12 +160,16 @@ popd
|
|||||||
%files -n python%{python3_pkgversion}-requests
|
%files -n python%{python3_pkgversion}-requests
|
||||||
%{!?_licensedir:%global license %%doc}
|
%{!?_licensedir:%global license %%doc}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc NOTICE README.rst HISTORY.rst
|
%doc README.rst HISTORY.rst
|
||||||
%{python3_sitelib}/*.egg-info
|
%{python3_sitelib}/*.egg-info
|
||||||
%{python3_sitelib}/requests/
|
%{python3_sitelib}/requests/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jun 19 2017 Jeremy Cline <jeremy@jcline.org> - 2.18.1-1
|
||||||
|
- Update to 2.18.1 (#1449432)
|
||||||
|
- Remove tests that require non-local network (#1450608)
|
||||||
|
|
||||||
* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 2.14.2-1
|
* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 2.14.2-1
|
||||||
- Update to 2.14.2 (#1449432)
|
- Update to 2.14.2 (#1449432)
|
||||||
- Switch to autosetup to apply patches
|
- Switch to autosetup to apply patches
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (requests-v2.14.2.tar.gz) = a9f2b612bbfc4ce27c9a96bfac052f01329f2adbde7f188ee5507419f73252f282ebe68616df93a8c32680998c85ee7adf683893801df24439de8f0ed02af0a2
|
SHA512 (requests-v2.18.1.tar.gz) = a80e0487b4b729e69522817bc2eec2a9c5f1df34df385581b3e937c2409e0fcb4e1f9b4794b198c8b8a57fc05b1bc513fc70d41b324ae251de0fa9bc7c9e6947
|
||||||
|
Loading…
Reference in New Issue
Block a user