From 1960586c2a5917f15faeaf781612b4afadf56606 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Wed, 5 Nov 2014 14:40:28 -0500 Subject: [PATCH] Latest upstream to match the latest python-requests. --- .gitignore | 1 + python-urllib3-unbundle.patch | 288 ++++++++++++++++++++++------------ python-urllib3.spec | 11 +- sources | 2 +- 4 files changed, 201 insertions(+), 101 deletions(-) diff --git a/.gitignore b/.gitignore index f6940a5..dd4a515 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /urllib3-1.7.tar.gz /urllib3-1.7.1.tar.gz /urllib3-1.8.2.tar.gz +/urllib3-1.9.1.tar.gz diff --git a/python-urllib3-unbundle.patch b/python-urllib3-unbundle.patch index f0f11c7..feb36a2 100644 --- a/python-urllib3-unbundle.patch +++ b/python-urllib3-unbundle.patch @@ -1,7 +1,34 @@ -diff -up ./dummyserver/handlers.py.orig ./dummyserver/handlers.py ---- ./dummyserver/handlers.py.orig 2014-04-21 01:19:35.209031172 -0700 -+++ ./dummyserver/handlers.py 2014-04-21 01:19:54.911126953 -0700 -@@ -190,7 +190,7 @@ def _parse_header(line): +From 5851f52e1fef0869ef2c81eb7e3052d94d5c1bcd Mon Sep 17 00:00:00 2001 +From: Ralph Bean +Date: Wed, 5 Nov 2014 14:16:28 -0500 +Subject: [PATCH] unbundle + +--- + dummyserver/handlers.py | 2 +- + setup.py | 1 - + test/__init__.py | 2 +- + test/contrib/test_pyopenssl.py | 2 +- + test/test_collections.py | 2 +- + test/test_connectionpool.py | 7 ++++++- + test/test_fields.py | 2 +- + test/test_filepost.py | 2 +- + test/test_retry.py | 2 +- + test/with_dummyserver/test_connectionpool.py | 2 +- + urllib3/_collections.py | 5 +++-- + urllib3/connection.py | 8 ++++++-- + urllib3/connectionpool.py | 9 +++++++-- + urllib3/fields.py | 2 +- + urllib3/filepost.py | 4 ++-- + urllib3/response.py | 2 +- + urllib3/util/request.py | 2 +- + urllib3/util/retry.py | 2 +- + 18 files changed, 36 insertions(+), 22 deletions(-) + +diff --git a/dummyserver/handlers.py b/dummyserver/handlers.py +index 72faa1a..ea15a1e 100644 +--- a/dummyserver/handlers.py ++++ b/dummyserver/handlers.py +@@ -211,7 +211,7 @@ def _parse_header(line): """ import tornado.httputil import email.utils @@ -10,29 +37,46 @@ diff -up ./dummyserver/handlers.py.orig ./dummyserver/handlers.py if not six.PY3: line = line.encode('utf-8') parts = tornado.httputil._parseparam(';' + line) -diff -up ./setup.py.orig ./setup.py ---- ./setup.py.orig 2014-04-21 00:58:19.713830394 -0700 -+++ ./setup.py 2014-04-21 01:30:40.966267728 -0700 -@@ -45,7 +45,6 @@ setup(name='urllib3', +diff --git a/setup.py b/setup.py +index f638377..5e6fff1 100644 +--- a/setup.py ++++ b/setup.py +@@ -42,7 +42,6 @@ setup(name='urllib3', url='http://urllib3.readthedocs.org/', license='MIT', packages=['urllib3', - 'urllib3.packages', 'urllib3.packages.ssl_match_hostname', 'urllib3.contrib', 'urllib3.util', ], - requires=requirements, -diff -up ./test-requirements.txt.orig ./test-requirements.txt ---- ./test-requirements.txt.orig 2014-04-21 01:21:44.452659485 -0700 -+++ ./test-requirements.txt 2014-04-21 01:21:59.317731751 -0700 -@@ -2,3 +2,5 @@ nose==1.3 - mock==1.0.1 - tornado==3.1.1 - coverage==3.6 -+six -+backports.ssl_match_hostname -diff -up ./test/test_collections.py.orig ./test/test_collections.py ---- ./test/test_collections.py.orig 2014-04-21 00:58:40.569931786 -0700 -+++ ./test/test_collections.py 2014-04-21 01:18:59.041855346 -0700 + requires=[], +diff --git a/test/__init__.py b/test/__init__.py +index d56a4d3..85db6c4 100644 +--- a/test/__init__.py ++++ b/test/__init__.py +@@ -7,7 +7,7 @@ import socket + from nose.plugins.skip import SkipTest + + from urllib3.exceptions import MaxRetryError, HTTPWarning +-from urllib3.packages import six ++import six + + # We need a host that will not immediately close the connection with a TCP + # Reset. SO suggests this hostname +diff --git a/test/contrib/test_pyopenssl.py b/test/contrib/test_pyopenssl.py +index 5d57527..f23ff19 100644 +--- a/test/contrib/test_pyopenssl.py ++++ b/test/contrib/test_pyopenssl.py +@@ -1,5 +1,5 @@ + from nose.plugins.skip import SkipTest +-from urllib3.packages import six ++import six + + if six.PY3: + raise SkipTest('Testing of PyOpenSSL disabled on PY3') +diff --git a/test/test_collections.py b/test/test_collections.py +index 4d173ac..c5420f7 100644 +--- a/test/test_collections.py ++++ b/test/test_collections.py @@ -4,7 +4,7 @@ from urllib3._collections import ( HTTPHeaderDict, RecentlyUsedContainer as Container @@ -42,28 +86,28 @@ diff -up ./test/test_collections.py.orig ./test/test_collections.py xrange = six.moves.xrange -diff -up ./test/test_connectionpool.py.orig ./test/test_connectionpool.py ---- ./test/test_connectionpool.py.orig 2014-04-21 00:58:48.097968383 -0700 -+++ ./test/test_connectionpool.py 2014-04-21 01:18:48.335803299 -0700 -@@ -6,7 +6,14 @@ from urllib3.connectionpool import ( +diff --git a/test/test_connectionpool.py b/test/test_connectionpool.py +index 28fb89b..e8d4da3 100644 +--- a/test/test_connectionpool.py ++++ b/test/test_connectionpool.py +@@ -6,7 +6,12 @@ from urllib3.connectionpool import ( HTTPConnectionPool, ) - from urllib3.util import Timeout + from urllib3.util.timeout import Timeout -from urllib3.packages.ssl_match_hostname import CertificateError -+try: -+ # python3.2+ -+ from ssl import CertificateError -+except ImportError: -+ # Older python where the backport from pypi is installed -+ from backports.ssl_match_hostname import CertificateError + ++try: ++ from ssl import CertificateError # py3 ++except ImportError: ++ from backports.ssl_match_hostname import CertificateError # py2 + from urllib3.exceptions import ( ClosedPoolError, EmptyPoolError, -diff -up ./test/test_fields.py.orig ./test/test_fields.py ---- ./test/test_fields.py.orig 2014-04-21 00:58:57.501014095 -0700 -+++ ./test/test_fields.py 2014-04-21 01:18:55.321837262 -0700 +diff --git a/test/test_fields.py b/test/test_fields.py +index cdec68b..66da148 100644 +--- a/test/test_fields.py ++++ b/test/test_fields.py @@ -1,7 +1,7 @@ import unittest @@ -73,9 +117,10 @@ diff -up ./test/test_fields.py.orig ./test/test_fields.py class TestRequestField(unittest.TestCase): -diff -up ./test/test_filepost.py.orig ./test/test_filepost.py ---- ./test/test_filepost.py.orig 2014-04-21 00:59:05.128051174 -0700 -+++ ./test/test_filepost.py 2014-04-21 01:18:52.414823129 -0700 +diff --git a/test/test_filepost.py b/test/test_filepost.py +index 390dbb3..ecc6710 100644 +--- a/test/test_filepost.py ++++ b/test/test_filepost.py @@ -2,7 +2,7 @@ import unittest from urllib3.filepost import encode_multipart_formdata, iter_fields @@ -85,66 +130,98 @@ diff -up ./test/test_filepost.py.orig ./test/test_filepost.py BOUNDARY = '!! test boundary !!' -diff -up ./urllib3/_collections.py.orig ./urllib3/_collections.py ---- ./urllib3/_collections.py.orig 2014-04-21 00:59:11.682083036 -0700 -+++ ./urllib3/_collections.py 2014-04-21 01:18:57.203846411 -0700 -@@ -19,8 +19,8 @@ except ImportError: # Platform-specific: +diff --git a/test/test_retry.py b/test/test_retry.py +index 7a3aa40..f11cbe7 100644 +--- a/test/test_retry.py ++++ b/test/test_retry.py +@@ -1,6 +1,6 @@ + import unittest + +-from urllib3.packages.six.moves import xrange ++from six.moves import xrange + from urllib3.util.retry import Retry + from urllib3.exceptions import ( + ConnectTimeoutError, +diff --git a/test/with_dummyserver/test_connectionpool.py b/test/with_dummyserver/test_connectionpool.py +index 7d54fbf..54416e4 100644 +--- a/test/with_dummyserver/test_connectionpool.py ++++ b/test/with_dummyserver/test_connectionpool.py +@@ -30,7 +30,7 @@ from urllib3.exceptions import ( + ReadTimeoutError, + ProtocolError, + ) +-from urllib3.packages.six import b, u ++from six import b, u + from urllib3.util.retry import Retry + from urllib3.util.timeout import Timeout + +diff --git a/urllib3/_collections.py b/urllib3/_collections.py +index d77ebb8..139b8f4 100644 +--- a/urllib3/_collections.py ++++ b/urllib3/_collections.py +@@ -13,8 +13,9 @@ except ImportError: # Platform-specific: No threads available try: # Python 2.7+ from collections import OrderedDict except ImportError: - from .packages.ordered_dict import OrderedDict -from .packages.six import itervalues -+ from ordered_dict import OrderedDict ++ from ordereddict import OrderedDict ++ +from six import itervalues __all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] -diff -up ./urllib3/connectionpool.py.orig ./urllib3/connectionpool.py ---- ./urllib3/connectionpool.py.orig 2014-04-21 00:59:20.406125448 -0700 -+++ ./urllib3/connectionpool.py 2014-04-21 01:06:56.579343119 -0700 -@@ -31,8 +31,15 @@ from .exceptions import ( - ReadTimeoutError, - ProxyError, +diff --git a/urllib3/connection.py b/urllib3/connection.py +index cebdd86..fa97ab9 100644 +--- a/urllib3/connection.py ++++ b/urllib3/connection.py +@@ -3,7 +3,7 @@ import sys + import socket + from socket import timeout as SocketTimeout + import warnings +-from .packages import six ++import six + + try: # Python 3 + from http.client import HTTPConnection as _HTTPConnection, HTTPException +@@ -39,7 +39,11 @@ from .exceptions import ( + ConnectTimeoutError, + SystemTimeWarning, + ) +-from .packages.ssl_match_hostname import match_hostname ++ ++try: ++ from ssl import match_hostname # py3 ++except ImportError: ++ from backports.ssl_match_hostname import match_hostname # py2 + + from .util.ssl_ import ( + resolve_cert_reqs, +diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py +index ac6e0ca..f840175 100644 +--- a/urllib3/connectionpool.py ++++ b/urllib3/connectionpool.py +@@ -26,8 +26,13 @@ from .exceptions import ( + TimeoutError, + InsecureRequestWarning, ) -from .packages.ssl_match_hostname import CertificateError -from .packages import six ++ +try: -+ # python3.2+ -+ from ssl import match_hostname, CertificateError ++ from ssl import CertificateError # py3 +except ImportError: -+ # Older python where the backport from pypi is installed -+ from backports.ssl_match_hostname import match_hostname, CertificateError ++ from backports.ssl_match_hostname import CertificateError # py2 ++ +import six -+ -+ from .connection import ( port_by_scheme, DummyConnection, -diff -up ./urllib3/connection.py.orig ./urllib3/connection.py ---- ./urllib3/connection.py.orig 2014-04-21 01:14:17.899488582 -0700 -+++ ./urllib3/connection.py 2014-04-21 01:16:00.490987327 -0700 -@@ -38,8 +38,15 @@ except (ImportError, AttributeError): # - from .exceptions import ( - ConnectTimeoutError, - ) --from .packages.ssl_match_hostname import match_hostname --from .packages import six -+try: -+ # python3.2+ -+ from ssl import match_hostname, CertificateError -+except ImportError: -+ # Older python where the backport from pypi is installed -+ from backports.ssl_match_hostname import match_hostname, CertificateError -+ -+import six -+ - from .util import ( - assert_fingerprint, - resolve_cert_reqs, -diff -up ./urllib3/fields.py.orig ./urllib3/fields.py ---- ./urllib3/fields.py.orig 2014-04-21 00:59:31.661180164 -0700 -+++ ./urllib3/fields.py 2014-04-21 01:09:04.310964082 -0700 -@@ -7,7 +7,7 @@ +diff --git a/urllib3/fields.py b/urllib3/fields.py +index c853f8d..5fe3c24 100644 +--- a/urllib3/fields.py ++++ b/urllib3/fields.py +@@ -1,7 +1,7 @@ import email.utils import mimetypes @@ -153,10 +230,11 @@ diff -up ./urllib3/fields.py.orig ./urllib3/fields.py def guess_content_type(filename, default='application/octet-stream'): -diff -up ./urllib3/filepost.py.orig ./urllib3/filepost.py ---- ./urllib3/filepost.py.orig 2014-04-21 00:59:39.538218457 -0700 -+++ ./urllib3/filepost.py 2014-04-21 01:08:14.138720171 -0700 -@@ -10,8 +10,8 @@ import mimetypes +diff --git a/urllib3/filepost.py b/urllib3/filepost.py +index 0fbf488..97ab970 100644 +--- a/urllib3/filepost.py ++++ b/urllib3/filepost.py +@@ -3,8 +3,8 @@ import codecs from uuid import uuid4 from io import BytesIO @@ -167,26 +245,44 @@ diff -up ./urllib3/filepost.py.orig ./urllib3/filepost.py from .fields import RequestField writer = codecs.lookup('utf-8')[3] -diff -up ./urllib3/response.py.orig ./urllib3/response.py ---- ./urllib3/response.py.orig 2014-04-21 00:59:47.622257758 -0700 -+++ ./urllib3/response.py 2014-04-21 01:09:15.423018103 -0700 -@@ -11,7 +11,7 @@ import io +diff --git a/urllib3/response.py b/urllib3/response.py +index e69de95..f432ddd 100644 +--- a/urllib3/response.py ++++ b/urllib3/response.py +@@ -4,7 +4,7 @@ from socket import timeout as SocketTimeout from ._collections import HTTPHeaderDict - from .exceptions import DecodeError + from .exceptions import ProtocolError, DecodeError, ReadTimeoutError -from .packages.six import string_types as basestring, binary_type -+from six import string_types as basestring, binary_type - from .util import is_fp_closed ++from six import string_types as basestring, binary_type + from .connection import HTTPException, BaseSSLError + from .util.response import is_fp_closed - -diff -up ./urllib3/util/request.py.orig ./urllib3/util/request.py ---- ./urllib3/util/request.py.orig 2014-04-21 01:10:59.339523289 -0700 -+++ ./urllib3/util/request.py 2014-04-21 01:12:02.663831138 -0700 +diff --git a/urllib3/util/request.py b/urllib3/util/request.py +index bc64f6b..5f4ccfd 100644 +--- a/urllib3/util/request.py ++++ b/urllib3/util/request.py @@ -1,6 +1,6 @@ from base64 import b64encode +-from ..packages.six import b ++from six import b + + ACCEPT_ENCODING = 'gzip,deflate' + +diff --git a/urllib3/util/retry.py b/urllib3/util/retry.py +index eb560df..2723ded 100644 +--- a/urllib3/util/retry.py ++++ b/urllib3/util/retry.py +@@ -7,7 +7,7 @@ from ..exceptions import ( + ReadTimeoutError, + MaxRetryError, + ) -from ..packages import six +import six - ACCEPT_ENCODING = 'gzip,deflate' + log = logging.getLogger(__name__) +-- +1.9.3 + diff --git a/python-urllib3.spec b/python-urllib3.spec index 07c50d2..0cf3593 100644 --- a/python-urllib3.spec +++ b/python-urllib3.spec @@ -7,8 +7,8 @@ %global srcname urllib3 Name: python-%{srcname} -Version: 1.8.2 -Release: 4%{?dist} +Version: 1.9.1 +Release: 1%{?dist} Summary: Python HTTP library with thread-safe connection pooling and file post License: MIT @@ -27,7 +27,7 @@ BuildArch: noarch Requires: ca-certificates Requires: python-six -Requires: python-backports-ssl_match_hostname +Requires: python-backports-ssl_match_hostname %if 0%{?rhel} && 0%{?rhel} <= 6 BuildRequires: python-ordereddict Requires: python-ordereddict @@ -39,7 +39,7 @@ BuildRequires: python-nose BuildRequires: python-mock BuildRequires: python-six BuildRequires: python-tornado -BuildRequires: python-backports-ssl_match_hostname +BuildRequires: python-backports-ssl_match_hostname %if 0%{?with_python3} BuildRequires: python3-devel @@ -129,6 +129,9 @@ popd %endif # with_python3 %changelog +* Wed Nov 05 2014 Ralph Bean - 1.9.1-1 +- Latest upstream, 1.9.1 for latest python-requests. + * Mon Aug 4 2014 Tom Callaway - 1.8.2-4 - fix license handling diff --git a/sources b/sources index c2fd220..7d4d677 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -52f7513335dfd0943082cbb7400d693e urllib3-1.8.2.tar.gz +c9358c5a85dd6aa3942f5121efed064d urllib3-1.9.1.tar.gz