From fec4b6e51e46abf2af7468ed29f074acbe4c4a32 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: May 15 2015 13:49:43 +0000 Subject: Merge f21 into f20. --- diff --git a/.gitignore b/.gitignore index 62b8928..0b3b605 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ /urllib3-1.5.tar.gz /urllib3-1.7.tar.gz +/urllib3-1.7.1.tar.gz /urllib3-1.8.2.tar.gz +/urllib3-1.9.1.tar.gz +/urllib3-1.10.tar.gz +/urllib3-1.10.1.tar.gz +/urllib3-1.10.2.tar.gz +/urllib3-1.10.3.tar.gz diff --git a/python-urllib3-old-nose-compat.patch b/python-urllib3-old-nose-compat.patch index 986f9d7..ad851e0 100644 --- a/python-urllib3-old-nose-compat.patch +++ b/python-urllib3-old-nose-compat.patch @@ -1,14 +1,14 @@ -From d1b64a6dc91bc9c350ac503febc34340c94c9066 Mon Sep 17 00:00:00 2001 -From: Ralph Bean -Date: Wed, 25 Sep 2013 13:28:37 -0400 -Subject: [PATCH 3/3] old nose compat +From de33e923b6af308ca9f5aec5e5c3f625dc903f48 Mon Sep 17 00:00:00 2001 +From: Haikel Guemar +Date: Tue, 3 Mar 2015 15:28:22 +0100 +Subject: [PATCH] Old nose compat --- setup.cfg | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.cfg b/setup.cfg -index 8f1fee7..a8b1d1d 100644 +index b140696..eeb3f0b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,9 +1,6 @@ @@ -19,8 +19,8 @@ index 8f1fee7..a8b1d1d 100644 -cover-min-percentage = 100 -cover-erase = true - [egg_info] - tag_build = + [flake8] + max-line-length = 99 -- -1.8.3.1 +2.1.0 diff --git a/python-urllib3-unbundle.patch b/python-urllib3-unbundle.patch deleted file mode 100644 index f0f11c7..0000000 --- a/python-urllib3-unbundle.patch +++ /dev/null @@ -1,192 +0,0 @@ -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): - """ - 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 -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', - 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 -@@ -4,7 +4,7 @@ from urllib3._collections import ( - HTTPHeaderDict, - RecentlyUsedContainer as Container - ) --from urllib3.packages import six -+import six - 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 ( - HTTPConnectionPool, - ) - from urllib3.util 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 -+ -+ - 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 -@@ -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 -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 -@@ -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 -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: - 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 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, - ) --from .packages.ssl_match_hostname import CertificateError --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 .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 @@ - import email.utils - import mimetypes - --from .packages import six -+import six - - - 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 - 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 -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 - - from ._collections import HTTPHeaderDict - from .exceptions import DecodeError --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 - - -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 -@@ -1,6 +1,6 @@ - from base64 import b64encode - --from ..packages import six -+import six - - - ACCEPT_ENCODING = 'gzip,deflate' diff --git a/python-urllib3.spec b/python-urllib3.spec index 9e3248d..c11a9e1 100644 --- a/python-urllib3.spec +++ b/python-urllib3.spec @@ -1,23 +1,24 @@ +%if 0%{?rhel} && 0%{?rhel} <= 6 +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%endif + %if 0%{?fedora} %global with_python3 1 -%else -%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} %endif %global srcname urllib3 Name: python-%{srcname} -Version: 1.8.2 +Version: 1.10.3 Release: 1%{?dist} Summary: Python HTTP library with thread-safe connection pooling and file post 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 +Source1: ssl_match_hostname_py3.py # Remove logging-clear-handlers from setup.cfg because it's not available in RHEL6's nose Patch100: python-urllib3-old-nose-compat.patch @@ -25,9 +26,11 @@ Patch100: python-urllib3-old-nose-compat.patch BuildArch: noarch Requires: ca-certificates + +# Previously bundled things: 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 @@ -38,8 +41,8 @@ BuildRequires: python2-devel BuildRequires: python-nose BuildRequires: python-mock BuildRequires: python-six +BuildRequires: python-backports-ssl_match_hostname BuildRequires: python-tornado -BuildRequires: python-backports-ssl_match_hostname %if 0%{?with_python3} BuildRequires: python3-devel @@ -67,9 +70,10 @@ Python3 HTTP module with connection pooling and file POST abilities. %prep %setup -q -n %{srcname}-%{version} -rm -rf urllib3/packages/ +# Drop the dummyserver tests in koji. They fail there in real builds, but not +# in scratch builds (weird). +rm -rf test/with_dummyserver/ -%patch0 -p1 %if 0%{?rhel} && 0%{?rhel} <= 6 %patch100 -p1 %endif @@ -80,7 +84,7 @@ cp -a . %{py3dir} %endif # with_python3 %build -%{__python} setup.py build +%{__python2} setup.py build %if 0%{?with_python3} pushd %{py3dir} @@ -90,15 +94,39 @@ 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 +cp %{SOURCE1} %{buildroot}/%{python3_sitelib}/urllib3/packages/ssl_match_hostname.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,25 +135,71 @@ 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 -%doc CHANGES.rst LICENSE.txt README.rst CONTRIBUTORS.txt +%{!?_licensedir:%global license %%doc} +%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} -%doc LICENSE.txt +%{!?_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 +* Wed Apr 22 2015 Ralph Bean - 1.10.3-1 +- new version + +* Thu Feb 26 2015 Ralph Bean - 1.10.2-1 +- new version + +* Wed Feb 18 2015 Ralph Bean - 1.10.1-1 +- new version + +* Wed Feb 18 2015 Ralph Bean - 1.10.1-1 +- new version + +* Mon Jan 05 2015 Ralph Bean - 1.10-2 +- Copy in a shim for ssl_match_hostname on python3. + +* Sun Dec 14 2014 Ralph Bean - 1.10-1 +- Latest upstream 1.10, for python-requests-2.5.0. +- Re-do unbundling without patch, with symlinks. +- Modernize python2 macros. +- Remove the with_dummyserver tests which fail only sometimes. + +* 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 + +* Sun Jun 08 2014 Fedora Release Engineering - 1.8.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 14 2014 Bohuslav Kabrda - 1.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + * Mon Apr 21 2014 Arun S A G - 1.8.2-1 - Update to latest upstream version @@ -170,4 +244,3 @@ popd * Mon Feb 04 2013 Toshio Kuratomi 1.5-1 - Initial fedora build. - diff --git a/sources b/sources index c2fd220..397d408 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -52f7513335dfd0943082cbb7400d693e urllib3-1.8.2.tar.gz +82fd4811f6164fcac0f8e959843c4a63 urllib3-1.10.3.tar.gz diff --git a/ssl_match_hostname_py3.py b/ssl_match_hostname_py3.py new file mode 100644 index 0000000..99d425a --- /dev/null +++ b/ssl_match_hostname_py3.py @@ -0,0 +1 @@ +from ssl import match_hostname, CertificateError