Latest upstream. Re-do unbundling.
This commit is contained in:
parent
1960586c2a
commit
f611c7ae39
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@
|
||||
/urllib3-1.7.1.tar.gz
|
||||
/urllib3-1.8.2.tar.gz
|
||||
/urllib3-1.9.1.tar.gz
|
||||
/urllib3-1.10.tar.gz
|
||||
|
@ -1,288 +0,0 @@
|
||||
From 5851f52e1fef0869ef2c81eb7e3052d94d5c1bcd Mon Sep 17 00:00:00 2001
|
||||
From: Ralph Bean <rbean@redhat.com>
|
||||
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
|
||||
- from urllib3.packages import six
|
||||
+ import six
|
||||
if not six.PY3:
|
||||
line = line.encode('utf-8')
|
||||
parts = tornado.httputil._parseparam(';' + line)
|
||||
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=[],
|
||||
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
|
||||
)
|
||||
-from urllib3.packages import six
|
||||
+import six
|
||||
xrange = six.moves.xrange
|
||||
|
||||
|
||||
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.timeout import Timeout
|
||||
-from urllib3.packages.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 --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
|
||||
|
||||
from urllib3.fields import guess_content_type, RequestField
|
||||
-from urllib3.packages.six import u
|
||||
+from six import u
|
||||
|
||||
|
||||
class TestRequestField(unittest.TestCase):
|
||||
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
|
||||
from urllib3.fields import RequestField
|
||||
-from urllib3.packages.six import b, u
|
||||
+from six import b, u
|
||||
|
||||
|
||||
BOUNDARY = '!! test boundary !!'
|
||||
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 ordereddict import OrderedDict
|
||||
+
|
||||
+from six import itervalues
|
||||
|
||||
|
||||
__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict']
|
||||
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:
|
||||
+ from ssl import CertificateError # py3
|
||||
+except ImportError:
|
||||
+ from backports.ssl_match_hostname import CertificateError # py2
|
||||
+
|
||||
+import six
|
||||
from .connection import (
|
||||
port_by_scheme,
|
||||
DummyConnection,
|
||||
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
|
||||
|
||||
-from .packages import six
|
||||
+import six
|
||||
|
||||
|
||||
def guess_content_type(filename, default='application/octet-stream'):
|
||||
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
|
||||
|
||||
-from .packages import six
|
||||
-from .packages.six import b
|
||||
+import six
|
||||
+from six import b
|
||||
from .fields import RequestField
|
||||
|
||||
writer = codecs.lookup('utf-8')[3]
|
||||
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 ProtocolError, DecodeError, ReadTimeoutError
|
||||
-from .packages.six import string_types as basestring, binary_type
|
||||
+from six import string_types as basestring, binary_type
|
||||
from .connection import HTTPException, BaseSSLError
|
||||
from .util.response import is_fp_closed
|
||||
|
||||
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
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
--
|
||||
1.9.3
|
||||
|
@ -7,7 +7,7 @@
|
||||
%global srcname urllib3
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 1.9.1
|
||||
Version: 1.10
|
||||
Release: 1%{?dist}
|
||||
Summary: Python HTTP library with thread-safe connection pooling and file post
|
||||
|
||||
@ -15,19 +15,17 @@ License: MIT
|
||||
URL: http://urllib3.readthedocs.org/
|
||||
Source0: http://pypi.python.org/packages/source/u/%{srcname}/%{srcname}-%{version}.tar.gz
|
||||
|
||||
### TODO: Send this to upstream urllib3
|
||||
# make all imports of things in packages try system copies first
|
||||
Patch0: python-urllib3-unbundle.patch
|
||||
|
||||
# Remove logging-clear-handlers from setup.cfg because it's not available in RHEL6's nose
|
||||
Patch100: python-urllib3-old-nose-compat.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: ca-certificates
|
||||
Requires: python-six
|
||||
|
||||
# Previously bundled things:
|
||||
Requires: python-six
|
||||
Requires: python-backports-ssl_match_hostname
|
||||
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 6
|
||||
BuildRequires: python-ordereddict
|
||||
Requires: python-ordereddict
|
||||
@ -38,8 +36,8 @@ BuildRequires: python2-devel
|
||||
BuildRequires: python-nose
|
||||
BuildRequires: python-mock
|
||||
BuildRequires: python-six
|
||||
BuildRequires: python-tornado
|
||||
BuildRequires: python-backports-ssl_match_hostname
|
||||
BuildRequires: python-tornado
|
||||
|
||||
%if 0%{?with_python3}
|
||||
BuildRequires: python3-devel
|
||||
@ -67,9 +65,6 @@ Python3 HTTP module with connection pooling and file POST abilities.
|
||||
%prep
|
||||
%setup -q -n %{srcname}-%{version}
|
||||
|
||||
rm -rf urllib3/packages/
|
||||
|
||||
%patch0 -p1
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 6
|
||||
%patch100 -p1
|
||||
%endif
|
||||
@ -80,7 +75,7 @@ cp -a . %{py3dir}
|
||||
%endif # with_python3
|
||||
|
||||
%build
|
||||
%{__python} setup.py build
|
||||
%{__python2} setup.py build
|
||||
|
||||
%if 0%{?with_python3}
|
||||
pushd %{py3dir}
|
||||
@ -90,15 +85,38 @@ popd
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
%{__python} setup.py install --skip-build --root %{buildroot}
|
||||
%{__python2} setup.py install --skip-build --root %{buildroot}
|
||||
|
||||
rm -rf %{buildroot}/%{python2_sitelib}/urllib3/packages/six.py*
|
||||
rm -rf %{buildroot}/%{python2_sitelib}/urllib3/packages/ssl_match_hostname/
|
||||
|
||||
mkdir -p %{buildroot}/%{python2_sitelib}/urllib3/packages/
|
||||
ln -s ../../six.py %{buildroot}/%{python2_sitelib}/urllib3/packages/six.py
|
||||
ln -s ../../backports/ssl_match_hostname %{buildroot}/%{python2_sitelib}/urllib3/packages/ssl_match_hostname
|
||||
|
||||
# Copy in six.py just for the test suite.
|
||||
cp %{python2_sitelib}/six.* %{buildroot}/%{python2_sitelib}/.
|
||||
cp -r %{python2_sitelib}/backports %{buildroot}/%{python2_sitelib}/.
|
||||
ls -alh %{buildroot}/%{python2_sitelib}/urllib3/packages/
|
||||
ls -alh %{buildroot}/%{python2_sitelib}
|
||||
|
||||
# dummyserver is part of the unittest framework
|
||||
rm -rf %{buildroot}%{python_sitelib}/dummyserver
|
||||
rm -rf %{buildroot}%{python2_sitelib}/dummyserver
|
||||
|
||||
%if 0%{?with_python3}
|
||||
pushd %{py3dir}
|
||||
%{__python3} setup.py install --skip-build --root %{buildroot}
|
||||
|
||||
rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/six.py*
|
||||
rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/ssl_match_hostname/
|
||||
|
||||
mkdir -p %{buildroot}/%{python3_sitelib}/urllib3/packages/
|
||||
ln -s ../../six.py %{buildroot}/%{python3_sitelib}/urllib3/packages/six.py
|
||||
|
||||
# Copy in six.py just for the test suite.
|
||||
cp %{python3_sitelib}/six.* %{buildroot}/%{python3_sitelib}/.
|
||||
ls -alh %{buildroot}/%{python3_sitelib}
|
||||
|
||||
# dummyserver is part of the unittest framework
|
||||
rm -rf %{buildroot}%{python3_sitelib}/dummyserver
|
||||
popd
|
||||
@ -107,10 +125,18 @@ popd
|
||||
%check
|
||||
nosetests
|
||||
|
||||
# And after its done, remove our copied in bits
|
||||
rm -rf %{buildroot}/%{python2_sitelib}/six*
|
||||
rm -rf %{buildroot}/%{python2_sitelib}/backports*
|
||||
|
||||
%if 0%{?with_python3}
|
||||
pushd %{py3dir}
|
||||
nosetests-%{python3_version}
|
||||
popd
|
||||
|
||||
# And after its done, remove our copied in bits
|
||||
rm -rf %{buildroot}/%{python3_sitelib}/six*
|
||||
rm -rf %{buildroot}/%{python3_sitelib}/__pycache__*
|
||||
%endif # with_python3
|
||||
|
||||
%files
|
||||
@ -118,17 +144,24 @@ popd
|
||||
%license LICENSE.txt
|
||||
%doc CHANGES.rst README.rst CONTRIBUTORS.txt
|
||||
# For noarch packages: sitelib
|
||||
%{python_sitelib}/*
|
||||
%{python2_sitelib}/urllib3/
|
||||
%{python2_sitelib}/urllib3-*.egg-info
|
||||
|
||||
%if 0%{?with_python3}
|
||||
%files -n python3-%{srcname}
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license LICENSE.txt
|
||||
# For noarch packages: sitelib
|
||||
%{python3_sitelib}/*
|
||||
%{python3_sitelib}/urllib3/
|
||||
%{python3_sitelib}/urllib3-*.egg-info
|
||||
%endif # with_python3
|
||||
|
||||
%changelog
|
||||
* Sun Dec 14 2014 Ralph Bean <rbean@redhat.com> - 1.10-1
|
||||
- Latest upstream 1.10, for python-requests-2.5.0.
|
||||
- Re-do unbundling without patch, with symlinks.
|
||||
- Modernize python2 macros.
|
||||
|
||||
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 1.9.1-1
|
||||
- Latest upstream, 1.9.1 for latest python-requests.
|
||||
|
||||
@ -185,4 +218,3 @@ popd
|
||||
|
||||
* Mon Feb 04 2013 Toshio Kuratomi <toshio@fedoraproject.org> 1.5-1
|
||||
- Initial fedora build.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user