Compare commits
2 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7cd6e0b882 | ||
|
|
92407fc699 |
13 changed files with 494 additions and 578 deletions
|
|
@ -1 +0,0 @@
|
|||
1
|
||||
38
.gitignore
vendored
38
.gitignore
vendored
|
|
@ -17,41 +17,3 @@
|
|||
/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
|
||||
|
|
|
|||
62
0001-only-normalize-http-s-urls.patch
Normal file
62
0001-only-normalize-http-s-urls.patch
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
From b67976b2a85b0d5f5c3dc53ec4ad41f22e2992f6 Mon Sep 17 00:00:00 2001
|
||||
From: Nate Prewitt <Nate.Prewitt@gmail.com>
|
||||
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
|
||||
|
||||
120
0002-Do-not-lowercase-hostnames-with-custom-protocol.patch
Normal file
120
0002-Do-not-lowercase-hostnames-with-custom-protocol.patch
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
From d267a4d236f7676ffc2def28fdaa16538f7da6c6 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Slebodnik <lslebodn@fedoraproject.org>
|
||||
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
|
||||
|
||||
38
0003-Move-RECENT_DATE-to-2017-06-30.patch
Normal file
38
0003-Move-RECENT_DATE-to-2017-06-30.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From 4bff1e93d2dd4663d422d7e290473d9189cec5db Mon Sep 17 00:00:00 2001
|
||||
From: Dominique Leuenberger <dimstar@opensuse.org>
|
||||
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
|
||||
|
||||
362
changelog
362
changelog
|
|
@ -1,362 +0,0 @@
|
|||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.18-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.18-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Tue Oct 17 2023 Maxwell G <maxwell@gtmx.me> - 1.26.18-1
|
||||
- Update to 1.26.18.
|
||||
- Mitigates CVE-2023-45803 / GHSA-g4mx-q9vg-27p4.
|
||||
|
||||
* Mon Oct 09 2023 Miro Hrončok <mhroncok@redhat.com> - 1.26.17-2
|
||||
- Switch the hardcoded dependency on urllib3[socks] to a weak one
|
||||
|
||||
* Mon Oct 02 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.17-1
|
||||
- Update to 1.26.17: fix CVE-2023-43804 (GHSA-v845-jxx5-vc9f)
|
||||
|
||||
* Wed Aug 30 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.26.16-3
|
||||
- Use bundled six
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.16-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jul 01 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.16-1
|
||||
- Update to 1.26.16
|
||||
|
||||
* Sat Jul 01 2023 Python Maint <python-maint@redhat.com> - 1.26.15-3
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.26.15-2
|
||||
- Bootstrap for Python 3.12
|
||||
|
||||
* Thu May 18 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 1.26.15-1
|
||||
- Update to 1.26.15
|
||||
|
||||
* Thu May 18 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 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 <yselkowi@redhat.com> - 1.26.12-4
|
||||
- Disable tests by default in RHEL builds
|
||||
|
||||
* Tue May 16 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 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 <releng@fedoraproject.org> - 1.26.12-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Sep 15 2022 Kevin Fenzi <kevin@scrye.com> - 1.26.12-1
|
||||
- Update to 1.26.12. Fixes rhbz#2104964
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.9-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 1.26.9-3
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.26.9-2
|
||||
- Bootstrap for Python 3.11
|
||||
|
||||
* Mon May 30 2022 Kevin Fenzi <kevin@scrye.com> - 1.26.9-1
|
||||
- Update to 1.26.9. fixes rhbz#2064777
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Sat Jan 08 2022 Kevin Fenzi <kevin@scrye.com> - 1.26.8-1
|
||||
- Update to 1.26.8. Fixes rhbz#2038246
|
||||
|
||||
* Tue Jan 04 2022 Adam Williamson <awilliam@redhat.com> - 1.26.7-2
|
||||
- Stop unbundling ssl.match_hostname, it's deprecated upstream (#2009550)
|
||||
|
||||
* Sun Sep 26 2021 Kevin Fenzi <kevin@scrye.com> - 1.26.7-1
|
||||
- Update to 1.26.7. Fixes rhbz#2006973
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Sun Jul 11 2021 Kevin Fenzi <kevin@scrye.com> - 1.26.6-1
|
||||
- Update to 1.26.1. Fixes rhbz#1976190
|
||||
- Fix FTBFS. Fixes rhbz#1966120
|
||||
|
||||
* Wed Jun 30 2021 Yatin Karel <ykarel@redhat.com> - 1.26.5-2
|
||||
- Update minimal requirement of six to >= 1.16.0
|
||||
|
||||
* Wed Jun 16 2021 Karolina Surma <ksurma@redhat.com> - 1.26.5-1
|
||||
- Update to 1.26.5
|
||||
- Fixes rhbz#1965056
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.26.4-3
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 1.26.4-2
|
||||
- Bootstrap for Python 3.10
|
||||
|
||||
* Tue May 18 2021 Miro Hrončok <mhroncok@redhat.com> - 1.26.4-1
|
||||
- Update to 1.26.4
|
||||
- Fixes rhbz#1889391
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.10-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jan 15 2021 Miro Hrončok <mhroncok@redhat.com> - 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 <akhaitov@redhat.com> - 1.25.10-2
|
||||
- Update RECENT_DATE dynamically
|
||||
|
||||
* Sun Sep 27 2020 Kevin Fenzi <kevin@scrye.com> - 1.25.10-1
|
||||
- Update to 1.25.10. Fixed bug #1824900
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.8-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 1.25.8-3
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 1.25.8-2
|
||||
- Bootstrap for Python 3.9
|
||||
|
||||
* Sun Mar 22 2020 Carl George <carl@george.computer> - 1.25.8-1
|
||||
- Latest upstream rhbz#1771186
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.7-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Mon Nov 18 2019 Miro Hrončok <mhroncok@redhat.com> - 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 <jcline@redhat.com> - 1.25.6-1
|
||||
- Update to v1.25.6
|
||||
|
||||
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-7
|
||||
- Rebuilt for Python 3.8.0rc1 (#1748018)
|
||||
|
||||
* Sun Aug 18 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-6
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-5
|
||||
- Bootstrap for Python 3.8
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Jul 08 2019 Miro Hrončok <mhroncok@redhat.com> - 1.25.3-3
|
||||
- Set RECENT_DATE not to be older than 2 years (#1727796)
|
||||
|
||||
* Tue May 28 2019 Jeremy Cline <jcline@redhat.com> - 1.25.3-2
|
||||
- Drop the Python 2 tests since Tornado is going away
|
||||
|
||||
* Tue May 28 2019 Jeremy Cline <jcline@redhat.com> - 1.25.3-1
|
||||
- Update to 1.25.3
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Nov 13 2018 Jeremy Cline <jeremy@jcline.org> - 1.24.1-2
|
||||
- Adjust unbundling of ssl_match_hostname
|
||||
|
||||
* Mon Oct 29 2018 Jeremy Cline <jeremy@jcline.org> - 1.24.1-1
|
||||
- Update to v1.24.1
|
||||
|
||||
* Wed Jun 20 2018 Lumír Balhar <lbalhar@redhat.com> - 1.23-4
|
||||
- Removed unneeded dependency python[23]-psutil
|
||||
|
||||
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1.23-3
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Thu Jun 14 2018 Miro Hrončok <mhroncok@redhat.com> - 1.23-2
|
||||
- Bootstrap for Python 3.7
|
||||
|
||||
* Tue Jun 05 2018 Jeremy Cline <jeremy@jcline.org> - 1.23-1
|
||||
- Update to the latest upstream release (rhbz 1586072)
|
||||
|
||||
* Wed May 30 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-10
|
||||
- Backport patch to support Python 3.7 (rhbz 1584112)
|
||||
|
||||
* Thu May 03 2018 Lukas Slebodnik <lslebodn@fedoraproject.org> - 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 <jeremy@jcline.org> - 1.22-8
|
||||
- Drop the dependency on idna and cryptography (rhbz 1567862)
|
||||
|
||||
* Mon Apr 16 2018 Jeremy Cline <jeremy@jcline.org> - 1.22-7
|
||||
- Drop the dependency on PyOpenSSL, it's not needed (rhbz 1567862)
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Jan 31 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.22-5
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Thu Jan 25 2018 Tomas Hoger <thoger@redhat.com> - 1.22-4
|
||||
- Fix FTBFS - Move RECENT_DATE to 2017-06-30
|
||||
|
||||
* Fri Dec 01 2017 Jeremy Cline <jeremy@jcline.org> - 1.22-3
|
||||
- Symlink the Python 3 bytecode for six (rbhz 1519147)
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.22-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Jul 21 2017 Jeremy Cline <jeremy@jcline.org> - 1.22-1
|
||||
- Update to 1.22 (#1473293)
|
||||
|
||||
* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 1.21.1-1
|
||||
- Update to 1.21.1 (#1445280)
|
||||
|
||||
* Thu Feb 09 2017 Jeremy Cline <jeremy@jcline.org> - 1.20-1
|
||||
- Update to 1.20 (#1414775)
|
||||
|
||||
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 1.19.1-2
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Thu Nov 17 2016 Jeremy Cline <jeremy@jcline.org> 1.19.1-1
|
||||
- Update to 1.19.1
|
||||
- Clean up the specfile to only support Fedora 26
|
||||
|
||||
* Wed Aug 10 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-3
|
||||
- Rebuild now that python-requests is ready to update.
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16-2
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed Jun 15 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-1
|
||||
- Update to 1.16
|
||||
|
||||
* Thu Jun 02 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-3
|
||||
- Create python2 subpackage to comply with guidelines.
|
||||
|
||||
* Wed Jun 01 2016 Ralph Bean <rbean@redhat.com> - 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 <rbean@redhat.com> - 1.15.1-1
|
||||
- Removed patch for ipv6 support, now applied upstream.
|
||||
- Latest version.
|
||||
- New dep on pysocks.
|
||||
|
||||
* Fri Feb 26 2016 Ralph Bean <rbean@redhat.com> - 1.13.1-3
|
||||
- Apply patch from upstream to fix ipv6.
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Dec 21 2015 Ralph Bean <rbean@redhat.com> - 1.13.1-1
|
||||
- new version
|
||||
|
||||
* Fri Dec 18 2015 Ralph Bean <rbean@redhat.com> - 1.13-1
|
||||
- new version
|
||||
|
||||
* Mon Dec 14 2015 Ralph Bean <rbean@redhat.com> - 1.12-1
|
||||
- new version
|
||||
|
||||
* Thu Oct 15 2015 Robert Kuska <rkuska@redhat.com> - 1.10.4-7
|
||||
- Rebuilt for Python3.5 rebuild
|
||||
|
||||
* Sat Oct 10 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-6
|
||||
- Sync from PyPI instead of a git checkout.
|
||||
|
||||
* Tue Sep 08 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-5.20150503gita91975b
|
||||
- Drop requirement on python-backports-ssl_match_hostname on F22 and newer.
|
||||
|
||||
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.4-4.20150503gita91975b
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Jun 08 2015 Ralph Bean <rbean@redhat.com> - 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 <rbean@redhat.com> - 1.10.4-2.20150503gita91975b
|
||||
- Specify symlinks for six.py{c,o}, fixing rhbz #1222142.
|
||||
|
||||
* Sun May 03 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-1.20150503gita91975b
|
||||
- Latest release for python-requests-2.7.0
|
||||
|
||||
* Wed Apr 29 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-2.20150429git585983a
|
||||
- Grab a git snapshot to get around this chunked encoding failure.
|
||||
|
||||
* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-1
|
||||
- new version
|
||||
|
||||
* Thu Feb 26 2015 Ralph Bean <rbean@redhat.com> - 1.10.2-1
|
||||
- new version
|
||||
|
||||
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
|
||||
- new version
|
||||
|
||||
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
|
||||
- new version
|
||||
|
||||
* Mon Jan 05 2015 Ralph Bean <rbean@redhat.com> - 1.10-2
|
||||
- Copy in a shim for ssl_match_hostname on python3.
|
||||
|
||||
* 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.
|
||||
- Remove the with_dummyserver tests which fail only sometimes.
|
||||
|
||||
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 1.9.1-1
|
||||
- Latest upstream, 1.9.1 for latest python-requests.
|
||||
|
||||
* Mon Aug 4 2014 Tom Callaway <spot@fedoraproject.org> - 1.8.2-4
|
||||
- fix license handling
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.8.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
|
||||
|
||||
* Mon Apr 21 2014 Arun S A G <sagarun@gmail.com> - 1.8.2-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Mon Oct 28 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-2
|
||||
- Update patch to find ca_certs in the correct location.
|
||||
|
||||
* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-1
|
||||
- Latest upstream with support for a new timeout class and py3.4.
|
||||
|
||||
* Wed Aug 28 2013 Ralph Bean <rbean@redhat.com> - 1.7-3
|
||||
- Bump release again, just to push an unpaired update.
|
||||
|
||||
* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.7-2
|
||||
- Bump release to pair an update with python-requests.
|
||||
|
||||
* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.5-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue Jun 11 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-6
|
||||
- Fix Requires of python-ordereddict to only apply to RHEL
|
||||
|
||||
* Fri Mar 1 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-5
|
||||
- Unbundling finished!
|
||||
|
||||
* Fri Mar 01 2013 Ralph Bean <rbean@redhat.com> - 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 <rbean@redhat.com> - 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 <toshio@fedoraproject.org> - 1.5-2
|
||||
- python3-tornado BR and run all unittests on python3
|
||||
|
||||
* Mon Feb 04 2013 Toshio Kuratomi <toshio@fedoraproject.org> 1.5-1
|
||||
- Initial fedora build.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
|
|
@ -1 +0,0 @@
|
|||
addFilter(r"spelling-error \('(gzip|brotli|zstd)',")
|
||||
|
|
@ -1,188 +1,303 @@
|
|||
# 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}
|
||||
%global srcname urllib3
|
||||
|
||||
Name: python-urllib3
|
||||
Version: 2.6.3
|
||||
Release: %autorelease
|
||||
Summary: HTTP library with thread-safe connection pooling, file post, and more
|
||||
Name: python-%{srcname}
|
||||
Version: 1.20
|
||||
Release: 3%{?dist}
|
||||
Summary: Python HTTP library with thread-safe connection pooling and file post
|
||||
|
||||
# SPDX
|
||||
License: MIT
|
||||
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
|
||||
|
||||
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
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
# 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
|
||||
%description
|
||||
Python HTTP module with connection pooling and file POST abilities.
|
||||
|
||||
%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:
|
||||
%package -n python2-%{srcname}
|
||||
Summary: Python2 HTTP library with thread-safe connection pooling and file post
|
||||
%{?python_provide:%python_provide python2-%{srcname}}
|
||||
|
||||
• 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
|
||||
|
||||
# There has historically been a manual hard dependency on python3-idna.
|
||||
BuildRequires: %{py3_dist idna}
|
||||
Requires: %{py3_dist idna}
|
||||
# Previously bundled things:
|
||||
Requires: python-six
|
||||
Requires: python-backports-ssl_match_hostname
|
||||
|
||||
%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
|
||||
# Secure extra requirements
|
||||
Requires: python2-pyOpenSSL
|
||||
Requires: python-cryptography
|
||||
Requires: python-idna
|
||||
Requires: python-ipaddress
|
||||
Requires: python-pysocks
|
||||
|
||||
%description -n python3-urllib3 %{_description}
|
||||
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.
|
||||
|
||||
|
||||
%if %{with extras}
|
||||
%pyproject_extras_subpkg -n python3-urllib3 brotli zstd socks h2
|
||||
%endif
|
||||
%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
|
||||
|
||||
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.
|
||||
|
||||
|
||||
%prep
|
||||
%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}
|
||||
%setup -q -n %{srcname}-%{version}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
# 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
|
||||
export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}'
|
||||
%pyproject_wheel
|
||||
%py2_build
|
||||
%py3_build
|
||||
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%py2_install
|
||||
%py3_install
|
||||
|
||||
%pyproject_save_files -l urllib3
|
||||
# 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
|
||||
|
||||
|
||||
%check
|
||||
# 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
|
||||
nosetests
|
||||
nosetests-%{python3_version}
|
||||
|
||||
|
||||
%files -n python3-urllib3 -f %{pyproject_files}
|
||||
%doc CHANGES.rst README.md
|
||||
%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
|
||||
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
* Thu May 03 2018 Lukas Slebodnik <lslebodn@fedoraproject.org> - 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 <jeremy@jcline.org> - 1.20-2
|
||||
- Symlink the Python 3 bytecode for six (rbhz 1519147)
|
||||
|
||||
* Thu Feb 09 2017 Jeremy Cline <jeremy@jcline.org> - 1.20-1
|
||||
- Update to 1.20 (#1414775)
|
||||
|
||||
* Tue Dec 13 2016 Stratakis Charalampos <cstratak@redhat.com> - 1.19.1-2
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Thu Nov 17 2016 Jeremy Cline <jeremy@jcline.org> 1.19.1-1
|
||||
- Update to 1.19.1
|
||||
- Clean up the specfile to only support Fedora 26
|
||||
|
||||
* Wed Aug 10 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-3
|
||||
- Rebuild now that python-requests is ready to update.
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.16-2
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Wed Jun 15 2016 Kevin Fenzi <kevin@scrye.com> - 1.16-1
|
||||
- Update to 1.16
|
||||
|
||||
* Thu Jun 02 2016 Ralph Bean <rbean@redhat.com> - 1.15.1-3
|
||||
- Create python2 subpackage to comply with guidelines.
|
||||
|
||||
* Wed Jun 01 2016 Ralph Bean <rbean@redhat.com> - 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 <rbean@redhat.com> - 1.15.1-1
|
||||
- Removed patch for ipv6 support, now applied upstream.
|
||||
- Latest version.
|
||||
- New dep on pysocks.
|
||||
|
||||
* Fri Feb 26 2016 Ralph Bean <rbean@redhat.com> - 1.13.1-3
|
||||
- Apply patch from upstream to fix ipv6.
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Mon Dec 21 2015 Ralph Bean <rbean@redhat.com> - 1.13.1-1
|
||||
- new version
|
||||
|
||||
* Fri Dec 18 2015 Ralph Bean <rbean@redhat.com> - 1.13-1
|
||||
- new version
|
||||
|
||||
* Mon Dec 14 2015 Ralph Bean <rbean@redhat.com> - 1.12-1
|
||||
- new version
|
||||
|
||||
* Thu Oct 15 2015 Robert Kuska <rkuska@redhat.com> - 1.10.4-7
|
||||
- Rebuilt for Python3.5 rebuild
|
||||
|
||||
* Sat Oct 10 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-6
|
||||
- Sync from PyPI instead of a git checkout.
|
||||
|
||||
* Tue Sep 08 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-5.20150503gita91975b
|
||||
- Drop requirement on python-backports-ssl_match_hostname on F22 and newer.
|
||||
|
||||
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.4-4.20150503gita91975b
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Jun 08 2015 Ralph Bean <rbean@redhat.com> - 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 <rbean@redhat.com> - 1.10.4-2.20150503gita91975b
|
||||
- Specify symlinks for six.py{c,o}, fixing rhbz #1222142.
|
||||
|
||||
* Sun May 03 2015 Ralph Bean <rbean@redhat.com> - 1.10.4-1.20150503gita91975b
|
||||
- Latest release for python-requests-2.7.0
|
||||
|
||||
* Wed Apr 29 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-2.20150429git585983a
|
||||
- Grab a git snapshot to get around this chunked encoding failure.
|
||||
|
||||
* Wed Apr 22 2015 Ralph Bean <rbean@redhat.com> - 1.10.3-1
|
||||
- new version
|
||||
|
||||
* Thu Feb 26 2015 Ralph Bean <rbean@redhat.com> - 1.10.2-1
|
||||
- new version
|
||||
|
||||
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
|
||||
- new version
|
||||
|
||||
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 1.10.1-1
|
||||
- new version
|
||||
|
||||
* Mon Jan 05 2015 Ralph Bean <rbean@redhat.com> - 1.10-2
|
||||
- Copy in a shim for ssl_match_hostname on python3.
|
||||
|
||||
* 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.
|
||||
- Remove the with_dummyserver tests which fail only sometimes.
|
||||
|
||||
* Wed Nov 05 2014 Ralph Bean <rbean@redhat.com> - 1.9.1-1
|
||||
- Latest upstream, 1.9.1 for latest python-requests.
|
||||
|
||||
* Mon Aug 4 2014 Tom Callaway <spot@fedoraproject.org> - 1.8.2-4
|
||||
- fix license handling
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Wed May 14 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 1.8.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
|
||||
|
||||
* Mon Apr 21 2014 Arun S A G <sagarun@gmail.com> - 1.8.2-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Mon Oct 28 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-2
|
||||
- Update patch to find ca_certs in the correct location.
|
||||
|
||||
* Wed Sep 25 2013 Ralph Bean <rbean@redhat.com> - 1.7.1-1
|
||||
- Latest upstream with support for a new timeout class and py3.4.
|
||||
|
||||
* Wed Aug 28 2013 Ralph Bean <rbean@redhat.com> - 1.7-3
|
||||
- Bump release again, just to push an unpaired update.
|
||||
|
||||
* Mon Aug 26 2013 Ralph Bean <rbean@redhat.com> - 1.7-2
|
||||
- Bump release to pair an update with python-requests.
|
||||
|
||||
* Thu Aug 22 2013 Ralph Bean <rbean@redhat.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.5-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Tue Jun 11 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-6
|
||||
- Fix Requires of python-ordereddict to only apply to RHEL
|
||||
|
||||
* Fri Mar 1 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 1.5-5
|
||||
- Unbundling finished!
|
||||
|
||||
* Fri Mar 01 2013 Ralph Bean <rbean@redhat.com> - 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 <rbean@redhat.com> - 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 <toshio@fedoraproject.org> - 1.5-2
|
||||
- python3-tornado BR and run all unittests on python3
|
||||
|
||||
* Mon Feb 04 2013 Toshio Kuratomi <toshio@fedoraproject.org> 1.5-1
|
||||
- Initial fedora build.
|
||||
|
|
|
|||
3
sources
3
sources
|
|
@ -1,2 +1 @@
|
|||
SHA512 (urllib3-2.6.3.tar.gz) = 554cedfd97d411fffa9a8ba46f592eab9e58c5fa8822ecd5a73ab45d6adfc188a6b9c4e238d02a4fbd3a1067a25a1de841a33d398d0641e22a32ea414876b615
|
||||
SHA512 (hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.tar.gz) = 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b
|
||||
SHA512 (urllib3-1.20.tar.gz) = 868242457689547a936ff52c9134588c0605faa6edebeb1c1c1addd127ac1d456499320dd3dad7ec3fb4ea5f98cd3c6d211ee721f0431b9bf16773e7cff55a7c
|
||||
|
|
|
|||
1
ssl_match_hostname_py3.py
Normal file
1
ssl_match_hostname_py3.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
from ssl import match_hostname, CertificateError
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
test: python3 test.py
|
||||
framework: shell
|
||||
require:
|
||||
- python3
|
||||
- python3-urllib3
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue