diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 0df4609..e3fee0e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,41 @@ /urllib3-1.16.tar.gz /urllib3-1.19.1.tar.gz /urllib3-1.20.tar.gz +/urllib3-1.21.1.tar.gz +/urllib3-1.22.tar.gz +/urllib3-1.23.tar.gz +/urllib3-1.24.tar.gz +/urllib3-1.24.1.tar.gz +/urllib3-1.24.2.tar.gz +/urllib3-1.25.2.tar.gz +/urllib3-1.25.3.tar.gz +/urllib3-1.25.6.tar.gz +/urllib3-1.25.7.tar.gz +/urllib3-1.25.8.tar.gz +/urllib3-1.25.10.tar.gz +/urllib3-1.26.4.tar.gz +/urllib3-1.26.5.tar.gz +/urllib3-1.26.6.tar.gz +/urllib3-1.26.7.tar.gz +/urllib3-1.26.8.tar.gz +/urllib3-1.26.9.tar.gz +/urllib3-1.26.12.tar.gz +/urllib3-1.26.15.tar.gz +/urllib3-1.26.16.tar.gz +/urllib3-1.26.17.tar.gz +/urllib3-1.26.18.tar.gz +/urllib3-1.26.19.tar.gz +/urllib3-2.0.7.tar.gz +/urllib3-2.1.0.tar.gz +/urllib3-2.2.0.tar.gz +/hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.tar.gz +/urllib3-2.2.1.tar.gz +/urllib3-2.2.2.tar.gz +/urllib3-2.2.3.tar.gz +/urllib3-2.3.0.tar.gz +/urllib3-2.4.0.tar.gz +/urllib3-2.5.0.tar.gz +/urllib3-2.6.0.tar.gz +/urllib3-2.6.1.tar.gz +/urllib3-2.6.2.tar.gz +/urllib3-2.6.3.tar.gz diff --git a/0001-only-normalize-http-s-urls.patch b/0001-only-normalize-http-s-urls.patch deleted file mode 100644 index 7fae8c5..0000000 --- a/0001-only-normalize-http-s-urls.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b67976b2a85b0d5f5c3dc53ec4ad41f22e2992f6 Mon Sep 17 00:00:00 2001 -From: Nate Prewitt -Date: Sun, 12 Feb 2017 14:01:00 -0700 -Subject: [PATCH] only normalize http(s) urls - ---- - test/test_util.py | 8 +++++++- - urllib3/util/url.py | 6 +++++- - 2 files changed, 12 insertions(+), 2 deletions(-) - -diff --git a/test/test_util.py b/test/test_util.py -index 543924d..a909acf 100644 ---- a/test/test_util.py -+++ b/test/test_util.py -@@ -109,7 +109,10 @@ class TestUtil(unittest.TestCase): - self.assertRaises(LocationParseError, get_host, location) - - def test_host_normalization(self): -- """Asserts the scheme and host is normalized to lower-case.""" -+ """ -+ Asserts the scheme and hosts with a normalizable scheme are -+ converted to lower-case. -+ """ - url_host_map = { - # Hosts - 'HTTP://GOOGLE.COM/mail/': ('http', 'google.com', None), -@@ -121,6 +124,8 @@ class TestUtil(unittest.TestCase): - 'HTTP://[2a00:1450:4001:c01::67]:80/test': ('http', '[2a00:1450:4001:c01::67]', 80), - 'HTTP://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8000/index.html': ('http', '[fedc:ba98:7654:3210:fedc:ba98:7654:3210]', 8000), - 'HTTPS://[1080:0:0:0:8:800:200c:417A]/index.html': ('https', '[1080:0:0:0:8:800:200c:417a]', None), -+ 'http+UNIX://%2fvar%2frun%2fSOCKET/path': ( -+ 'http+unix', '%2fvar%2frun%2fSOCKET', None), - } - for url, expected_host in url_host_map.items(): - returned_host = get_host(url) -diff --git a/urllib3/util/url.py b/urllib3/util/url.py -index 61a326e..6b6f996 100644 ---- a/urllib3/util/url.py -+++ b/urllib3/util/url.py -@@ -6,6 +6,10 @@ from ..exceptions import LocationParseError - - url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] - -+# We only want to normalize urls with an HTTP(S) scheme. -+# urllib3 infers URLs without a scheme (None) to be http. -+NORMALIZABLE_SCHEMES = ('http', 'https', None) -+ - - class Url(namedtuple('Url', url_attrs)): - """ -@@ -21,7 +25,7 @@ class Url(namedtuple('Url', url_attrs)): - path = '/' + path - if scheme: - scheme = scheme.lower() -- if host: -+ if host and scheme in NORMALIZABLE_SCHEMES: - host = host.lower() - return super(Url, cls).__new__(cls, scheme, auth, host, port, path, - query, fragment) --- -2.17.0 - diff --git a/0002-Do-not-lowercase-hostnames-with-custom-protocol.patch b/0002-Do-not-lowercase-hostnames-with-custom-protocol.patch deleted file mode 100644 index d18f7c2..0000000 --- a/0002-Do-not-lowercase-hostnames-with-custom-protocol.patch +++ /dev/null @@ -1,120 +0,0 @@ -From d267a4d236f7676ffc2def28fdaa16538f7da6c6 Mon Sep 17 00:00:00 2001 -From: Lukas Slebodnik -Date: Sat, 5 May 2018 10:37:32 +0200 -Subject: [PATCH 2/2] Do not lowercase hostnames with custom-protocol(#1267) - -Unix sockets are are case sensitive the same as other files -on standard unix file systems. ---- - test/test_connectionpool.py | 40 +++++++++++++++++++++++++++++++++++++ - urllib3/connectionpool.py | 10 ++++++---- - 2 files changed, 46 insertions(+), 4 deletions(-) - -diff --git a/test/test_connectionpool.py b/test/test_connectionpool.py -index c49e416e8e8cfeb5e35d7ed6246560d186b08159..cf8dcbf32983007cde5fbeec536b5476631588e6 100644 ---- a/test/test_connectionpool.py -+++ b/test/test_connectionpool.py -@@ -32,6 +32,19 @@ from ssl import SSLError as BaseSSLError - from dummyserver.server import DEFAULT_CA - - -+class HTTPUnixConnection(HTTPConnection): -+ def __init__(self, host, timeout=60, **kwargs): -+ super(HTTPUnixConnection, self).__init__('localhost') -+ self.unix_socket = host -+ self.timeout = timeout -+ self.sock = None -+ -+ -+class HTTPUnixConnectionPool(HTTPConnectionPool): -+ scheme = 'http+unix' -+ ConnectionCls = HTTPUnixConnection -+ -+ - class TestConnectionPool(unittest.TestCase): - """ - Tests in this suite should exercise the ConnectionPool functionality -@@ -140,6 +153,33 @@ class TestConnectionPool(unittest.TestCase): - c = HTTPSConnectionPool(b) - self.assertFalse(c.is_same_host(a), "%s =? %s" % (b, a)) - -+ def test_same_host_custom_protocol(self): -+ same_host_custom_protocol = [ -+ ('%2Fvar%2Frun%2Fdocker.sock', -+ 'http+unix://%2Fvar%2Frun%2Fdocker.sock'), -+ ('%2Fvar%2Frun%2Fdocker.sock', -+ 'http+unix://%2Fvar%2Frun%2Fdocker.sock/'), -+ ('%2Fvar%2Frun%2Fdocker.sock', -+ 'http+unix://%2Fvar%2Frun%2Fdocker.sock/abracadabra'), -+ ('%2Ftmp%2FTEST.sock', 'http+unix://%2Ftmp%2FTEST.sock'), -+ ('%2Ftmp%2FTEST.sock', 'http+unix://%2Ftmp%2FTEST.sock/'), -+ ('%2Ftmp%2FTEST.sock', 'http+unix://%2Ftmp%2FTEST.sock/abracadab'), -+ ] -+ for a, b in same_host_custom_protocol: -+ with HTTPUnixConnectionPool(a) as c: -+ assert c.is_same_host(b) -+ -+ def test_not_same_host_custom_protocol(self): -+ not_same_host_custom_protocol = [ -+ ('%2Ftmp%2Ftest.sock', 'http+unix://%2Ftmp%2FTEST.sock'), -+ ('%2Ftmp%2Ftest.sock', 'http+unix://%2Ftmp%2FTEST.sock/'), -+ ('%2Ftmp%2Ftest.sock', 'http+unix://%2Ftmp%2FTEST.sock/abracadab'), -+ ('%2Fvar%2Frun%2Fdocker.sock', 'http+unix://%2Ftmp%2FTEST.sock'), -+ ] -+ for a, b in not_same_host_custom_protocol: -+ with HTTPUnixConnectionPool(a) as c: -+ assert not c.is_same_host(b) -+ - def test_max_connections(self): - pool = HTTPConnectionPool(host='localhost', maxsize=1, block=True) - -diff --git a/urllib3/connectionpool.py b/urllib3/connectionpool.py -index b4f1166a694c3055339bd7e9049252a45a84d630..8c49c170c1dede4edc30e57f23d6983db8643530 100644 ---- a/urllib3/connectionpool.py -+++ b/urllib3/connectionpool.py -@@ -40,7 +40,7 @@ from .util.request import set_file_position - from .util.response import assert_header_parsing - from .util.retry import Retry - from .util.timeout import Timeout --from .util.url import get_host, Url -+from .util.url import get_host, Url, NORMALIZABLE_SCHEMES - - - if six.PY2: -@@ -68,7 +68,7 @@ class ConnectionPool(object): - if not host: - raise LocationValueError("No host specified.") - -- self.host = _ipv6_host(host).lower() -+ self.host = _ipv6_host(host, self.scheme) - self.port = port - - def __str__(self): -@@ -433,7 +433,7 @@ class HTTPConnectionPool(ConnectionPool, RequestMethods): - # TODO: Add optional support for socket.gethostbyname checking. - scheme, host, port = get_host(url) - -- host = _ipv6_host(host).lower() -+ host = _ipv6_host(host, self.scheme) - - # Use explicit default port for comparison when none is given - if self.port and not port: -@@ -880,7 +880,7 @@ def connection_from_url(url, **kw): - return HTTPConnectionPool(host, port=port, **kw) - - --def _ipv6_host(host): -+def _ipv6_host(host, scheme): - """ - Process IPv6 address literals - """ -@@ -896,4 +896,6 @@ def _ipv6_host(host): - # percent sign might be URIencoded, convert it back into ASCII - if host.startswith('[') and host.endswith(']'): - host = host.replace('%25', '%').strip('[]') -+ if scheme in NORMALIZABLE_SCHEMES: -+ host = host.lower() - return host --- -2.17.0 - diff --git a/0003-Move-RECENT_DATE-to-2017-06-30.patch b/0003-Move-RECENT_DATE-to-2017-06-30.patch deleted file mode 100644 index 8536ada..0000000 --- a/0003-Move-RECENT_DATE-to-2017-06-30.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4bff1e93d2dd4663d422d7e290473d9189cec5db Mon Sep 17 00:00:00 2001 -From: Dominique Leuenberger -Date: Sun, 31 Dec 2017 15:11:16 +0100 -Subject: [PATCH] Move RECENT_DATE to 2017-06-30 - -The test suite expects the current date to be no more than two years in the future -of RECENT_DATE, which just serves as a reference point. - -Also clarify the comment about how to update RECENT_DATE - -Fixes #1303 ---- - urllib3/connection.py | 9 +++++---- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/urllib3/connection.py b/urllib3/connection.py -index 06bcbde1af7af11257357d9f786fb4b0976063fd..a03b573f01d82973f8d64a0bac4819eec63c24c6 100644 ---- a/urllib3/connection.py -+++ b/urllib3/connection.py -@@ -56,10 +56,11 @@ port_by_scheme = { - 'https': 443, - } - --# When updating RECENT_DATE, move it to --# within two years of the current date, and no --# earlier than 6 months ago. --RECENT_DATE = datetime.date(2016, 1, 1) -+# When updating RECENT_DATE, move it to within two years of the current date, -+# and not less than 6 months ago. -+# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or -+# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months) -+RECENT_DATE = datetime.date(2017, 6, 30) - - - class DummyConnection(object): --- -2.17.0 - diff --git a/changelog b/changelog new file mode 100644 index 0000000..cb8c68f --- /dev/null +++ b/changelog @@ -0,0 +1,362 @@ +* Fri Jan 26 2024 Fedora Release Engineering - 1.26.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 1.26.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Oct 17 2023 Maxwell G - 1.26.18-1 +- Update to 1.26.18. +- Mitigates CVE-2023-45803 / GHSA-g4mx-q9vg-27p4. + +* Mon Oct 09 2023 Miro Hrončok - 1.26.17-2 +- Switch the hardcoded dependency on urllib3[socks] to a weak one + +* Mon Oct 02 2023 Benjamin A. Beasley - 1.26.17-1 +- Update to 1.26.17: fix CVE-2023-43804 (GHSA-v845-jxx5-vc9f) + +* Wed Aug 30 2023 Yaakov Selkowitz - 1.26.16-3 +- Use bundled six + +* Fri Jul 21 2023 Fedora Release Engineering - 1.26.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jul 01 2023 Benjamin A. Beasley - 1.26.16-1 +- Update to 1.26.16 + +* Sat Jul 01 2023 Python Maint - 1.26.15-3 +- Rebuilt for Python 3.12 + +* Tue Jun 13 2023 Python Maint - 1.26.15-2 +- Bootstrap for Python 3.12 + +* Thu May 18 2023 Benjamin A. Beasley - 1.26.15-1 +- Update to 1.26.15 + +* Thu May 18 2023 Benjamin A. Beasley - 1.26.12-5 +- Confirm the License is SPDX MIT +- Update Summary and description based on upstream +- Add metapackages for brotli and socks extras +- Port to pyproject-rpm-macros + +* Tue May 16 2023 Yaakov Selkowitz - 1.26.12-4 +- Disable tests by default in RHEL builds + +* Tue May 16 2023 Tomáš Hrnčiar - 1.26.12-3 +- Accomodate the test to the changed behavior of SSLContext.shared_ciphers() in CPython +- Fixes: rhbz#2203773 + +* Fri Jan 20 2023 Fedora Release Engineering - 1.26.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Sep 15 2022 Kevin Fenzi - 1.26.12-1 +- Update to 1.26.12. Fixes rhbz#2104964 + +* Fri Jul 22 2022 Fedora Release Engineering - 1.26.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jun 14 2022 Python Maint - 1.26.9-3 +- Rebuilt for Python 3.11 + +* Mon Jun 13 2022 Python Maint - 1.26.9-2 +- Bootstrap for Python 3.11 + +* Mon May 30 2022 Kevin Fenzi - 1.26.9-1 +- Update to 1.26.9. fixes rhbz#2064777 + +* Fri Jan 21 2022 Fedora Release Engineering - 1.26.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Jan 08 2022 Kevin Fenzi - 1.26.8-1 +- Update to 1.26.8. Fixes rhbz#2038246 + +* Tue Jan 04 2022 Adam Williamson - 1.26.7-2 +- Stop unbundling ssl.match_hostname, it's deprecated upstream (#2009550) + +* Sun Sep 26 2021 Kevin Fenzi - 1.26.7-1 +- Update to 1.26.7. Fixes rhbz#2006973 + +* Fri Jul 23 2021 Fedora Release Engineering - 1.26.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Jul 11 2021 Kevin Fenzi - 1.26.6-1 +- Update to 1.26.1. Fixes rhbz#1976190 +- Fix FTBFS. Fixes rhbz#1966120 + +* Wed Jun 30 2021 Yatin Karel - 1.26.5-2 +- Update minimal requirement of six to >= 1.16.0 + +* Wed Jun 16 2021 Karolina Surma - 1.26.5-1 +- Update to 1.26.5 +- Fixes rhbz#1965056 + +* Fri Jun 04 2021 Python Maint - 1.26.4-3 +- Rebuilt for Python 3.10 + +* Wed Jun 02 2021 Python Maint - 1.26.4-2 +- Bootstrap for Python 3.10 + +* Tue May 18 2021 Miro Hrončok - 1.26.4-1 +- Update to 1.26.4 +- Fixes rhbz#1889391 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.25.10-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 15 2021 Miro Hrončok - 1.25.10-3 +- Drop redundant BuildRequires for nose +- Instead of the mock backport, use unittest.mock from the standard library + +* Tue Jan 05 2021 Anna Khaitovich - 1.25.10-2 +- Update RECENT_DATE dynamically + +* Sun Sep 27 2020 Kevin Fenzi - 1.25.10-1 +- Update to 1.25.10. Fixed bug #1824900 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.25.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun May 24 2020 Miro Hrončok - 1.25.8-3 +- Rebuilt for Python 3.9 + +* Fri May 22 2020 Miro Hrončok - 1.25.8-2 +- Bootstrap for Python 3.9 + +* Sun Mar 22 2020 Carl George - 1.25.8-1 +- Latest upstream rhbz#1771186 + +* Thu Jan 30 2020 Fedora Release Engineering - 1.25.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 18 2019 Miro Hrončok - 1.25.7-2 +- Subpackage python2-urllib3 has been removed + See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal + +* Tue Oct 15 2019 Jeremy Cline - 1.25.6-1 +- Update to v1.25.6 + +* Thu Oct 03 2019 Miro Hrončok - 1.25.3-7 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Sun Aug 18 2019 Miro Hrončok - 1.25.3-6 +- Rebuilt for Python 3.8 + +* Thu Aug 15 2019 Miro Hrončok - 1.25.3-5 +- Bootstrap for Python 3.8 + +* Fri Jul 26 2019 Fedora Release Engineering - 1.25.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 08 2019 Miro Hrončok - 1.25.3-3 +- Set RECENT_DATE not to be older than 2 years (#1727796) + +* Tue May 28 2019 Jeremy Cline - 1.25.3-2 +- Drop the Python 2 tests since Tornado is going away + +* Tue May 28 2019 Jeremy Cline - 1.25.3-1 +- Update to 1.25.3 + +* Sat Feb 02 2019 Fedora Release Engineering - 1.24.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Nov 13 2018 Jeremy Cline - 1.24.1-2 +- Adjust unbundling of ssl_match_hostname + +* Mon Oct 29 2018 Jeremy Cline - 1.24.1-1 +- Update to v1.24.1 + +* Wed Jun 20 2018 Lumír Balhar - 1.23-4 +- Removed unneeded dependency python[23]-psutil + +* Mon Jun 18 2018 Miro Hrončok - 1.23-3 +- Rebuilt for Python 3.7 + +* Thu Jun 14 2018 Miro Hrončok - 1.23-2 +- Bootstrap for Python 3.7 + +* Tue Jun 05 2018 Jeremy Cline - 1.23-1 +- Update to the latest upstream release (rhbz 1586072) + +* Wed May 30 2018 Jeremy Cline - 1.22-10 +- Backport patch to support Python 3.7 (rhbz 1584112) + +* Thu May 03 2018 Lukas Slebodnik - 1.22-9 +- Do not lowercase hostnames with custom-protocol (rhbz 1567862) +- upstream: https://github.com/urllib3/urllib3/issues/1267 + +* Wed Apr 18 2018 Jeremy Cline - 1.22-8 +- Drop the dependency on idna and cryptography (rhbz 1567862) + +* Mon Apr 16 2018 Jeremy Cline - 1.22-7 +- Drop the dependency on PyOpenSSL, it's not needed (rhbz 1567862) + +* Fri Feb 09 2018 Fedora Release Engineering - 1.22-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Iryna Shcherbina - 1.22-5 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Thu Jan 25 2018 Tomas Hoger - 1.22-4 +- Fix FTBFS - Move RECENT_DATE to 2017-06-30 + +* Fri Dec 01 2017 Jeremy Cline - 1.22-3 +- Symlink the Python 3 bytecode for six (rbhz 1519147) + +* Thu Jul 27 2017 Fedora Release Engineering - 1.22-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Jeremy Cline - 1.22-1 +- Update to 1.22 (#1473293) + +* Wed May 17 2017 Jeremy Cline - 1.21.1-1 +- Update to 1.21.1 (#1445280) + +* Thu Feb 09 2017 Jeremy Cline - 1.20-1 +- Update to 1.20 (#1414775) + +* Tue Dec 13 2016 Stratakis Charalampos - 1.19.1-2 +- Rebuild for Python 3.6 + +* Thu Nov 17 2016 Jeremy Cline 1.19.1-1 +- Update to 1.19.1 +- Clean up the specfile to only support Fedora 26 + +* Wed Aug 10 2016 Kevin Fenzi - 1.16-3 +- Rebuild now that python-requests is ready to update. + +* Tue Jul 19 2016 Fedora Release Engineering - 1.16-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Jun 15 2016 Kevin Fenzi - 1.16-1 +- Update to 1.16 + +* Thu Jun 02 2016 Ralph Bean - 1.15.1-3 +- Create python2 subpackage to comply with guidelines. + +* Wed Jun 01 2016 Ralph Bean - 1.15.1-2 +- Remove broken symlinks to unbundled python3-six files + https://bugzilla.redhat.com/show_bug.cgi?id=1295015 + +* Fri Apr 29 2016 Ralph Bean - 1.15.1-1 +- Removed patch for ipv6 support, now applied upstream. +- Latest version. +- New dep on pysocks. + +* Fri Feb 26 2016 Ralph Bean - 1.13.1-3 +- Apply patch from upstream to fix ipv6. + +* Thu Feb 04 2016 Fedora Release Engineering - 1.13.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Dec 21 2015 Ralph Bean - 1.13.1-1 +- new version + +* Fri Dec 18 2015 Ralph Bean - 1.13-1 +- new version + +* Mon Dec 14 2015 Ralph Bean - 1.12-1 +- new version + +* Thu Oct 15 2015 Robert Kuska - 1.10.4-7 +- Rebuilt for Python3.5 rebuild + +* Sat Oct 10 2015 Ralph Bean - 1.10.4-6 +- Sync from PyPI instead of a git checkout. + +* Tue Sep 08 2015 Ralph Bean - 1.10.4-5.20150503gita91975b +- Drop requirement on python-backports-ssl_match_hostname on F22 and newer. + +* Thu Jun 18 2015 Fedora Release Engineering - 1.10.4-4.20150503gita91975b +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 08 2015 Ralph Bean - 1.10.4-3.20150503gita91975b +- Apply pyopenssl injection for an outdated cpython as per upstream advice + https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning + https://urllib3.readthedocs.org/en/latest/security.html#pyopenssl + +* Tue May 19 2015 Ralph Bean - 1.10.4-2.20150503gita91975b +- Specify symlinks for six.py{c,o}, fixing rhbz #1222142. + +* Sun May 03 2015 Ralph Bean - 1.10.4-1.20150503gita91975b +- Latest release for python-requests-2.7.0 + +* Wed Apr 29 2015 Ralph Bean - 1.10.3-2.20150429git585983a +- Grab a git snapshot to get around this chunked encoding failure. + +* 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 + +* Mon Oct 28 2013 Ralph Bean - 1.7.1-2 +- Update patch to find ca_certs in the correct location. + +* Wed Sep 25 2013 Ralph Bean - 1.7.1-1 +- Latest upstream with support for a new timeout class and py3.4. + +* Wed Aug 28 2013 Ralph Bean - 1.7-3 +- Bump release again, just to push an unpaired update. + +* Mon Aug 26 2013 Ralph Bean - 1.7-2 +- Bump release to pair an update with python-requests. + +* Thu Aug 22 2013 Ralph Bean - 1.7-1 +- Update to latest upstream. +- Removed the accept-header proxy patch which is included in upstream now. +- Removed py2.6 compat patch which is included in upstream now. + +* Sun Aug 04 2013 Fedora Release Engineering - 1.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jun 11 2013 Toshio Kuratomi - 1.5-6 +- Fix Requires of python-ordereddict to only apply to RHEL + +* Fri Mar 1 2013 Toshio Kuratomi - 1.5-5 +- Unbundling finished! + +* Fri Mar 01 2013 Ralph Bean - 1.5-4 +- Upstream patch to fix Accept header when behind a proxy. +- Reorganize patch numbers to more clearly distinguish them. + +* Wed Feb 27 2013 Ralph Bean - 1.5-3 +- Renamed patches to python-urllib3-* +- Fixed ssl check patch to use the correct cert path for Fedora. +- Included dependency on ca-certificates +- Cosmetic indentation changes to the .spec file. + +* Tue Feb 5 2013 Toshio Kuratomi - 1.5-2 +- python3-tornado BR and run all unittests on python3 + +* Mon Feb 04 2013 Toshio Kuratomi 1.5-1 +- Initial fedora build. diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..2bb6f53 --- /dev/null +++ b/plans.fmf @@ -0,0 +1,4 @@ +discover: + how: fmf +execute: + how: tmt \ No newline at end of file diff --git a/python-urllib3.rpmlintrc b/python-urllib3.rpmlintrc new file mode 100644 index 0000000..e9bd352 --- /dev/null +++ b/python-urllib3.rpmlintrc @@ -0,0 +1 @@ +addFilter(r"spelling-error \('(gzip|brotli|zstd)',") diff --git a/python-urllib3.spec b/python-urllib3.spec index f9547fc..5b863bf 100644 --- a/python-urllib3.spec +++ b/python-urllib3.spec @@ -1,303 +1,188 @@ -%global srcname urllib3 +# When bootstrapping Python, we cannot test this yet +# RHEL does not include the test dependencies and the dependencies for extras +%bcond tests %{undefined rhel} +%bcond extras %[%{undefined rhel} || %{defined eln}] +%bcond extradeps %{undefined rhel} -Name: python-%{srcname} -Version: 1.20 -Release: 3%{?dist} -Summary: Python HTTP library with thread-safe connection pooling and file post +Name: python-urllib3 +Version: 2.6.3 +Release: %autorelease +Summary: HTTP library with thread-safe connection pooling, file post, and more +# SPDX License: MIT -URL: https://github.com/shazow/urllib3 -Source0: %{url}/archive/%{version}/%{srcname}-%{version}.tar.gz -# Used with Python 3.5+ -Source1: ssl_match_hostname_py3.py -# https://github.com/urllib3/urllib3/commit/b67976b2a85b0d5f5c3dc53ec4ad41f22e2992f6 -Patch0001: 0001-only-normalize-http-s-urls.patch -# https://github.com/urllib3/urllib3/commit/9f09cb4b9d69bd8944c881f61b8fe933ad425b5b -Patch0002: 0002-Do-not-lowercase-hostnames-with-custom-protocol.patch -# https://github.com/urllib3/urllib3/commit/4bff1e93d2dd4663d422d7e290473d9189cec5db -Patch0003: 0003-Move-RECENT_DATE-to-2017-06-30.patch +URL: https://github.com/urllib3/urllib3 +Source0: %{url}/archive/%{version}/urllib3-%{version}.tar.gz +# A special forked copy of Hypercorn is required for testing. We asked about +# the possiblility of using a released version in the future in: +# Path toward testing with a released version of hypercorn? +# https://github.com/urllib3/urllib3/3334 +# Upstream would like to get the necessary changes merged into Hypercorn, but +# explained clearly why the forked copy is needed for now. +# +# Note that tool.uv.sources.hypercorn in pyproject.toml references the +# urllib3-changes branch of https://github.com/urllib3/hypercorn/, and we +# should use the latest commit from that branch, but we package using a commit +# hash for reproducibility. +# +# We do not need to treat this as a bundled dependency because it is not +# installed in the buildroot or otherwise included in any of the binary RPMs. +%global hypercorn_url https://github.com/urllib3/hypercorn +%global hypercorn_commit d1719f8c1570cbd8e6a3719ffdb14a4d72880abb +Source1: %{hypercorn_url}/archive/%{hypercorn_commit}/hypercorn-%{hypercorn_commit}.tar.gz + BuildArch: noarch -%description -Python HTTP module with connection pooling and file POST abilities. - -%package -n python2-%{srcname} -Summary: Python2 HTTP library with thread-safe connection pooling and file post -%{?python_provide:%python_provide python2-%{srcname}} - -Requires: ca-certificates - -# Previously bundled things: -Requires: python-six -Requires: python-backports-ssl_match_hostname - -# Secure extra requirements -Requires: python2-pyOpenSSL -Requires: python-cryptography -Requires: python-idna -Requires: python-ipaddress -Requires: python-pysocks - -BuildRequires: python2-devel -# For unittests -BuildRequires: python-nose -BuildRequires: python-nose-exclude -BuildRequires: python-coverage -BuildRequires: python-mock -BuildRequires: python-six -BuildRequires: python-psutil -BuildRequires: python-pysocks -BuildRequires: python-tornado - -%description -n python2-%{srcname} -Python2 HTTP module with connection pooling and file POST abilities. - - -%package -n python3-%{srcname} -Summary: Python3 HTTP library with thread-safe connection pooling and file post - BuildRequires: python3-devel -# For unittests -BuildRequires: python3-nose -BuildRequires: python3-mock -BuildRequires: python3-six -BuildRequires: python3-pysocks -BuildRequires: python3-psutil -BuildRequires: python3-tornado +# The conditional is important: we benefit from tomcli for editing dependency +# groups, but we do not want it when bootstrapping or in RHEL. +%if %{with tests} +BuildRequires: tomcli +%endif +%global _description %{expand: +urllib3 is a powerful, user-friendly HTTP client for Python. urllib3 brings +many critical features that are missing from the Python standard libraries: + + • Thread safety. + • Connection pooling. + • Client-side SSL/TLS verification. + • File uploads with multipart encoding. + • Helpers for retrying requests and dealing with HTTP redirects. + • Support for gzip, deflate, brotli, and zstd encoding. + • Proxy support for HTTP and SOCKS. + • 100% test coverage.} + +%description %{_description} + + +%package -n python3-urllib3 +Summary: %{summary} + +BuildRequires: ca-certificates Requires: ca-certificates -Requires: python3-six -Requires: python3-pysocks -Requires: python3-pyOpenSSL -Requires: python3-cryptography -Requires: python3-idna -Requires: python3-pysocks -%description -n python3-%{srcname} -Python3 HTTP module with connection pooling and file POST abilities. +# There has historically been a manual hard dependency on python3-idna. +BuildRequires: %{py3_dist idna} +Requires: %{py3_dist idna} + +%if %{with extradeps} +# There has historically been a manual hard dependency on python3-pysocks; +# since bringing it in is the sole function of python3-urllib3+socks, +# we recommend it, so it is installed by default. +Recommends: python3-urllib3+socks +%endif + +%description -n python3-urllib3 %{_description} + + +%if %{with extras} +%pyproject_extras_subpkg -n python3-urllib3 brotli zstd socks h2 +%endif %prep -%setup -q -n %{srcname}-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%autosetup -n urllib3-%{version} +%setup -q -n urllib3-%{version} -T -D -b 1 + +# Make sure that the RECENT_DATE value doesn't get too far behind what the current date is. +# RECENT_DATE must not be older that 2 years from the build time, or else test_recent_date +# (from test/test_connection.py) would fail. However, it shouldn't be to close to the build time either, +# since a user's system time could be set to a little in the past from what build time is (because of timezones, +# corner cases, etc). As stated in the comment in src/urllib3/connection.py: +# When updating RECENT_DATE, move it to within two years of the current date, +# and not less than 6 months ago. +# Example: if Today is 2018-01-01, then RECENT_DATE should be any date on or +# after 2016-01-01 (today - 2 years) AND before 2017-07-01 (today - 6 months) +# There is also a test_ssl_wrong_system_time test (from test/with_dummyserver/test_https.py) that tests if +# user's system time isn't set as too far in the past, because it could lead to SSL verification errors. +# That is why we need RECENT_DATE to be set at most 2 years ago (or else test_ssl_wrong_system_time would +# result in false positive), but before at least 6 month ago (so this test could tolerate user's system time being +# set to some time in the past, but not to far away from the present). +# Next few lines update RECENT_DATE dynamically. +recent_date=$(date --date "7 month ago" +"%Y, %_m, %_d") +sed -i "s/^RECENT_DATE = datetime.date(.*)/RECENT_DATE = datetime.date($recent_date)/" src/urllib3/connection.py + +%if %{with tests} +# Possible improvements to dependency groups +# https://github.com/urllib3/urllib3/issues/3594 +# Adjust the contents of the "dev" dependency group by removing: +remove_from_dev() { + tomcli set pyproject.toml lists delitem 'dependency-groups.dev' "($1)\b.*" +} +# - Linters, coverage tools, profilers, etc.: +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters +remove_from_dev 'coverage|pytest-memray' +# - Dependencies for maintainer tasks +remove_from_dev 'build|towncrier' +# - Dependencies that are not packaged and not strictly required +remove_from_dev 'pytest-socket' +# - Hypercorn, because we have a special forked version we must use for +# testing instead, so we do not want to generate a dependency on the system +# copy. Note that the system copy is still an indirect dependency via quart +# and quart-trio. +remove_from_dev 'hypercorn' + +# Remove all version bounds for test dependencies. We must attempt to make do +# with what we have. (This also removes any python version or platform +# constraints, which is currently fine, but could theoretically cause trouble +# in the future. We’ll cross that bridge if we ever arrive at it.) +tomcli set pyproject.toml lists replace --type regex_search \ + 'dependency-groups.dev' '[>=]=.*' '' +%endif + + +%generate_buildrequires +export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' +# Generate BR’s from packaged extras even when tests are disabled, to ensure +# the extras metapackages are installable if the build succeeds. +%pyproject_buildrequires %{?with_extradeps:-x brotli,zstd,socks,h2} %{?with_tests:-g dev} -# Drop the dummyserver tests in koji. They fail there in real builds, but not -# in scratch builds (weird). -rm -rf test/with_dummyserver/ -# Lots of these tests started failing, even for old versions, so it has something -# to do with Fedora in particular. They don't fail in upstream build infrastructure -rm -rf test/contrib/ %build -%py2_build -%py3_build +export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' +%pyproject_wheel %install -%py2_install -%py3_install +%pyproject_install -# Unbundle the Python 2 build -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 ../../six.pyc %{buildroot}/%{python2_sitelib}/urllib3/packages/six.pyc -ln -s ../../six.pyo %{buildroot}/%{python2_sitelib}/urllib3/packages/six.pyo - -ln -s ../../backports/ssl_match_hostname %{buildroot}/%{python2_sitelib}/urllib3/packages/ssl_match_hostname - -# Unbundle the Python 3 build -rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/six.py* -rm -rf %{buildroot}/%{python3_sitelib}/urllib3/packages/__pycache__/six* -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 -ln -s ../../../__pycache__/six.cpython-%{python3_version_nodots}.opt-1.pyc %{buildroot}/%{python3_sitelib}/urllib3/packages/__pycache__/ -ln -s ../../../__pycache__/six.cpython-%{python3_version_nodots}.pyc %{buildroot}/%{python3_sitelib}/urllib3/packages/__pycache__/ -# urllib3 requires Python 3.5 to use the standard library's match_hostname, -# which we ship in Fedora 26, so we can safely replace the bundled version with -# this stub which imports the necessary objects. -cp %{SOURCE1} %{buildroot}/%{python3_sitelib}/urllib3/packages/ssl_match_hostname.py +%pyproject_save_files -l urllib3 %check -nosetests -nosetests-%{python3_version} +# urllib3.contrib.socks requires urllib3[socks] +# +# urllib3.contrib.emscripten is “special” (import js will fail) +# urllib3.contrib.ntlmpool is deprecated and requires ntlm +# urllib3.contrib.securetransport is macOS only +# urllib3.contrib.pyopenssl requires pyOpenSSL +%{pyproject_check_import %{!?with_extradeps:-e urllib3.contrib.socks -e urllib3.http2*} + -e urllib3.contrib.emscripten* + -e urllib3.contrib.ntlmpool + -e urllib3.contrib.securetransport + -e urllib3.contrib.pyopenssl} + +# Increase the “long timeout” for slower environments; as of this writing, it +# is increased from 0.1 to 0.5 second. +export CI=1 +# Interpose the special forked copy of Hypercorn. +hypercorndir="${PWD}/../hypercorn-%{hypercorn_commit}/src" +export PYTHONPATH="${hypercorndir}:%{buildroot}%{python3_sitelib}" + +%if %{with tests} +# This test still times out sometimes, especially on certain architectures, +# even when we export the CI environment variable to increase timeouts. +k="${k-}${k+ and }not (TestHTTPProxyManager and test_tunneling_proxy_request_timeout[https-https])" + +%pytest -v -rs ${ignore-} -k "${k-}" +%pytest -v -rs ${ignore-} -k "${k-}" --integration +%endif -%files -n python2-%{srcname} -%license LICENSE.txt -%doc CHANGES.rst README.rst CONTRIBUTORS.txt -%{python2_sitelib}/urllib3/ -%{python2_sitelib}/urllib3-*.egg-info - - -%files -n python3-%{srcname} -%license LICENSE.txt -%doc CHANGES.rst README.rst CONTRIBUTORS.txt -%{python3_sitelib}/urllib3/ -%{python3_sitelib}/urllib3-*.egg-info +%files -n python3-urllib3 -f %{pyproject_files} +%doc CHANGES.rst README.md %changelog -* Thu May 03 2018 Lukas Slebodnik - 1.20-3 -- Do not lowercase hostnames with custom-protocol (rhbz 1574684) -- upstream: https://github.com/urllib3/urllib3/issues/1267 - -* Fri Dec 01 2017 Jeremy Cline - 1.20-2 -- Symlink the Python 3 bytecode for six (rbhz 1519147) - -* Thu Feb 09 2017 Jeremy Cline - 1.20-1 -- Update to 1.20 (#1414775) - -* Tue Dec 13 2016 Stratakis Charalampos - 1.19.1-2 -- Rebuild for Python 3.6 - -* Thu Nov 17 2016 Jeremy Cline 1.19.1-1 -- Update to 1.19.1 -- Clean up the specfile to only support Fedora 26 - -* Wed Aug 10 2016 Kevin Fenzi - 1.16-3 -- Rebuild now that python-requests is ready to update. - -* Tue Jul 19 2016 Fedora Release Engineering - 1.16-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Wed Jun 15 2016 Kevin Fenzi - 1.16-1 -- Update to 1.16 - -* Thu Jun 02 2016 Ralph Bean - 1.15.1-3 -- Create python2 subpackage to comply with guidelines. - -* Wed Jun 01 2016 Ralph Bean - 1.15.1-2 -- Remove broken symlinks to unbundled python3-six files - https://bugzilla.redhat.com/show_bug.cgi?id=1295015 - -* Fri Apr 29 2016 Ralph Bean - 1.15.1-1 -- Removed patch for ipv6 support, now applied upstream. -- Latest version. -- New dep on pysocks. - -* Fri Feb 26 2016 Ralph Bean - 1.13.1-3 -- Apply patch from upstream to fix ipv6. - -* Thu Feb 04 2016 Fedora Release Engineering - 1.13.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Mon Dec 21 2015 Ralph Bean - 1.13.1-1 -- new version - -* Fri Dec 18 2015 Ralph Bean - 1.13-1 -- new version - -* Mon Dec 14 2015 Ralph Bean - 1.12-1 -- new version - -* Thu Oct 15 2015 Robert Kuska - 1.10.4-7 -- Rebuilt for Python3.5 rebuild - -* Sat Oct 10 2015 Ralph Bean - 1.10.4-6 -- Sync from PyPI instead of a git checkout. - -* Tue Sep 08 2015 Ralph Bean - 1.10.4-5.20150503gita91975b -- Drop requirement on python-backports-ssl_match_hostname on F22 and newer. - -* Thu Jun 18 2015 Fedora Release Engineering - 1.10.4-4.20150503gita91975b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon Jun 08 2015 Ralph Bean - 1.10.4-3.20150503gita91975b -- Apply pyopenssl injection for an outdated cpython as per upstream advice - https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning - https://urllib3.readthedocs.org/en/latest/security.html#pyopenssl - -* Tue May 19 2015 Ralph Bean - 1.10.4-2.20150503gita91975b -- Specify symlinks for six.py{c,o}, fixing rhbz #1222142. - -* Sun May 03 2015 Ralph Bean - 1.10.4-1.20150503gita91975b -- Latest release for python-requests-2.7.0 - -* Wed Apr 29 2015 Ralph Bean - 1.10.3-2.20150429git585983a -- Grab a git snapshot to get around this chunked encoding failure. - -* 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 - -* Mon Oct 28 2013 Ralph Bean - 1.7.1-2 -- Update patch to find ca_certs in the correct location. - -* Wed Sep 25 2013 Ralph Bean - 1.7.1-1 -- Latest upstream with support for a new timeout class and py3.4. - -* Wed Aug 28 2013 Ralph Bean - 1.7-3 -- Bump release again, just to push an unpaired update. - -* Mon Aug 26 2013 Ralph Bean - 1.7-2 -- Bump release to pair an update with python-requests. - -* Thu Aug 22 2013 Ralph Bean - 1.7-1 -- Update to latest upstream. -- Removed the accept-header proxy patch which is included in upstream now. -- Removed py2.6 compat patch which is included in upstream now. - -* Sun Aug 04 2013 Fedora Release Engineering - 1.5-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue Jun 11 2013 Toshio Kuratomi - 1.5-6 -- Fix Requires of python-ordereddict to only apply to RHEL - -* Fri Mar 1 2013 Toshio Kuratomi - 1.5-5 -- Unbundling finished! - -* Fri Mar 01 2013 Ralph Bean - 1.5-4 -- Upstream patch to fix Accept header when behind a proxy. -- Reorganize patch numbers to more clearly distinguish them. - -* Wed Feb 27 2013 Ralph Bean - 1.5-3 -- Renamed patches to python-urllib3-* -- Fixed ssl check patch to use the correct cert path for Fedora. -- Included dependency on ca-certificates -- Cosmetic indentation changes to the .spec file. - -* Tue Feb 5 2013 Toshio Kuratomi - 1.5-2 -- python3-tornado BR and run all unittests on python3 - -* Mon Feb 04 2013 Toshio Kuratomi 1.5-1 -- Initial fedora build. +%autochangelog diff --git a/sources b/sources index fa2ebe4..d7b27ef 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (urllib3-1.20.tar.gz) = 868242457689547a936ff52c9134588c0605faa6edebeb1c1c1addd127ac1d456499320dd3dad7ec3fb4ea5f98cd3c6d211ee721f0431b9bf16773e7cff55a7c +SHA512 (urllib3-2.6.3.tar.gz) = 554cedfd97d411fffa9a8ba46f592eab9e58c5fa8822ecd5a73ab45d6adfc188a6b9c4e238d02a4fbd3a1067a25a1de841a33d398d0641e22a32ea414876b615 +SHA512 (hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.tar.gz) = 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b diff --git a/ssl_match_hostname_py3.py b/ssl_match_hostname_py3.py deleted file mode 100644 index 99d425a..0000000 --- a/ssl_match_hostname_py3.py +++ /dev/null @@ -1 +0,0 @@ -from ssl import match_hostname, CertificateError diff --git a/tests/smoke/smoke.fmf b/tests/smoke/smoke.fmf new file mode 100644 index 0000000..69c01da --- /dev/null +++ b/tests/smoke/smoke.fmf @@ -0,0 +1,5 @@ +test: python3 test.py +framework: shell +require: +- python3 +- python3-urllib3 diff --git a/tests/smoke/test.py b/tests/smoke/test.py new file mode 100644 index 0000000..9ac5805 --- /dev/null +++ b/tests/smoke/test.py @@ -0,0 +1,8 @@ +import urllib3 + +http = urllib3.PoolManager() +r = http.request('GET', 'http://example.com/') +print('status = {0}'.format(r.status)) +print(r.data) +if r.status != 200 or not r.data: + raise SystemExit(1)