1 # TODO: use system six, [backports.]ssl_match_hostname
4 %bcond_without python2 # CPython 2.x module
5 %bcond_without python3 # CPython 3.x module
6 %bcond_without doc # Sphinx documentation
7 %bcond_with tests # test target (uses network etc., few failures)
10 Summary: HTTP library with thread-safe connection pooling, file post, and more
11 Summary(pl.UTF-8): Biblioteka HTTP z bezpieczną wątkowo pulą połączeń, wysyłaniem plików itd.
12 Name: python-%{module}
13 # note: maintain versions compatible with python-requests.spec
17 Group: Development/Languages/Python
18 #Source0Download: https://pypi.org/simple/urllib3/
19 Source0: https://files.pythonhosted.org/packages/source/u/urllib3/%{module}-%{version}.tar.gz
20 # Source0-md5: ba308b52b9092184cf4905bc59a88fc0
21 Patch0: %{name}-mock.patch
22 Patch1: %{name}-httplib.patch
23 URL: https://urllib3.readthedocs.io/
24 %if %(locale -a | grep -q '^C\.utf8$'; echo $?)
25 BuildRequires: glibc-localedb-all
28 BuildRequires: python-modules >= 1:2.7
30 BuildRequires: python-PySocks >= 1.7.1
31 BuildRequires: python-PySocks < 2.0
32 BuildRequires: python-cryptography >= 2.8
33 BuildRequires: python-dateutil >= 2.8.1
34 BuildRequires: python-flaky >= 3.6.1
36 #BuildRequires: python-gcp_devrel-py-tools >= 0.0.15
37 BuildRequires: python-mock >= 3.0.5
38 BuildRequires: python-pytest >= 4.6.9
39 BuildRequires: python-pytest-freezegun >= 0.3.0
40 BuildRequires: python-pytest-timeout >= 1.3.4
41 BuildRequires: python-tornado >= 5.1.1
42 BuildRequires: python-trustme >= 0.5.3
44 BuildRequires: uname(release) >= 3.9
48 BuildRequires: python3-modules >= 1:3.5
50 BuildRequires: python3-PySocks >= 1.7.1
51 BuildRequires: python3-PySocks < 2.0
52 BuildRequires: python3-cryptography >= 2.8
53 BuildRequires: python3-dateutil >= 2.8.1
54 BuildRequires: python3-flaky >= 3.6.1
55 #BuildRequires: python3-gcp_devrel-py-tools >= 0.0.15
56 BuildRequires: python3-pytest >= 4.6.9
57 BuildRequires: python3-pytest-freezegun >= 0.4.2
58 BuildRequires: python3-pytest-timeout >= 1.3.4
59 BuildRequires: python3-tornado >= 6.0.3
60 BuildRequires: python3-trustme >= 0.5.3
62 BuildRequires: uname(release) >= 3.9
65 BuildRequires: rpm-pythonprov
66 BuildRequires: rpmbuild(macros) >= 1.714
68 BuildRequires: python3-furo
69 BuildRequires: python3-requests >= 2
70 BuildRequires: sphinx-pdg-3 >= 3.0
72 Requires: python-modules >= 1:2.7
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 Python 2 HTTP module with connection pooling and file POST abilities.
79 - Re-use the same socket connection for multiple requests (with
80 optional client-side certificate verification).
81 - File posting (encode_multipart_formdata).
82 - Built-in redirection and retries (optional).
83 - Supports gzip and deflate decoding.
84 - Thread-safe and sanity-safe.
86 %description -l pl.UTF-8
87 Moduł HTTP dla Pythona 2 z pulą połączeń i możliwością wysyłania
88 plików metodą POST. Możliwości:
89 - używanie tego samego połączenia dla wielu żądań (z opcjonalną
90 weryfikacją certyfikatu po stronie klienta)
91 - wysyłanie plików (encode_multipart_formdata)
92 - wbudowane przekierowania i ponawianie prób (opcjonalne)
93 - obsługa kodowań gzip i deflate
94 - bezpieczeństwo względem wątków.
96 %package -n python3-urllib3
97 Summary: HTTP library with thread-safe connection pooling, file post, and more
98 Summary(pl.UTF-8): Biblioteka HTTP z bezpieczną wątkowo pulą połączeń, wysyłaniem plików itd.
99 Group: Development/Languages/Python
100 Requires: python3-modules >= 1:3.5
102 %description -n python3-urllib3
103 Python 3 HTTP module with connection pooling and file POST abilities.
105 - Re-use the same socket connection for multiple requests (with
106 optional client-side certificate verification).
107 - File posting (encode_multipart_formdata).
108 - Built-in redirection and retries (optional).
109 - Supports gzip and deflate decoding.
110 - Thread-safe and sanity-safe.
112 %description -n python3-urllib3 -l pl.UTF-8
113 Moduł HTTP dla Pythona 3 z pulą połączeń i możliwością wysyłania
114 plików metodą POST. Możliwości:
115 - używanie tego samego połączenia dla wielu żądań (z opcjonalną
116 weryfikacją certyfikatu po stronie klienta)
117 - wysyłanie plików (encode_multipart_formdata)
118 - wbudowane przekierowania i ponawianie prób (opcjonalne)
119 - obsługa kodowań gzip i deflate
120 - bezpieczeństwo względem wątków.
123 Summary: API documentation for Python urllib3 module
124 Summary(pl.UTF-8): Dokumentacja API modułu Pythona urllib3
128 API documentation for Python urllib3 module.
130 %description apidocs -l pl.UTF-8
131 Dokumentacja API modułu Pythona urllib3.
134 %setup -q -n %{module}-%{version}
143 # RECENT_DATE is too old
144 # test_retry.py: many failures with py2
145 # TestSSL: unknown ca, timeout errors etc.
147 PYTHONPATH=$(pwd)/src \
148 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
149 PYTEST_PLUGINS="flaky.flaky_pytest_plugin,pytest_freezegun,pytest_timeout" \
150 %{__python} -m pytest test -k 'not (test_recent_date or test_retry or test_ssl_read_timeout or test_ssl_failed_fingerprint_verification)'
159 # RECENT_DATE is too old
160 # TestSSL: verification errors
161 PYTHONPATH=$(pwd)/src \
162 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
163 PYTEST_PLUGINS="flaky.flaky_pytest_plugin,pytest_freezegun,pytest_timeout" \
164 %{__python3} -m pytest test -k 'not (test_recent_date or test_ssl_read_timeout or test_ssl_failed_fingerprint_verification)'
169 %{__make} -C docs html \
170 SPHINXBUILD=sphinx-build-3 \
175 rm -rf $RPM_BUILD_ROOT
188 rm -rf $RPM_BUILD_ROOT
192 %defattr(644,root,root,755)
193 %doc CHANGES.rst LICENSE.txt README.rst
194 %{py_sitescriptdir}/%{module}
195 %{py_sitescriptdir}/%{module}-%{version}-py*.egg-info
199 %files -n python3-urllib3
200 %defattr(644,root,root,755)
201 %doc CHANGES.rst LICENSE.txt README.rst
202 %{py3_sitescriptdir}/%{module}
203 %{py3_sitescriptdir}/%{module}-%{version}-py*.egg-info
208 %defattr(644,root,root,755)
209 %doc docs/_build/html/{_static,reference,*.html,*.js}