# # spec file for package python-urllib3 # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define oldpython python %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "test" %define test 1 %bcond_without test %else %bcond_with test %endif %if %{with test} Name: python-urllib3-%{flavor} %else Name: python-urllib3 %endif Version: 1.24 Release: 0 Summary: HTTP library with thread-safe connection pooling, file post, and more License: MIT Group: Development/Languages/Python URL: http://urllib3.readthedocs.org/ Source: https://files.pythonhosted.org/packages/source/u/urllib3/urllib3-%{version}.tar.gz # PATCH-FEATURE-UPSTREAM -- use set_default_verify_paths() if no certificate path is supplied # should be removed in the future, see SR#437853 Patch2: urllib3-ssl-default-context.patch # PATCH-FIX-OPENSUSE -- do not use unsupported SSLv3 in tests Patch3: urllib3-test-ssl-drop-sslv3.patch # PATCH-FIX-UPSTREAM python-urllib3-recent-date.patch gh#shazow/urllib3#1303, boo#1074247 dimstar@opensuse.org -- Fix test suite, use correct date Patch4: python-urllib3-recent-date.patch BuildRequires: %{python_module PySocks} BuildRequires: %{python_module psutil} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros %if %{with test} BuildRequires: %{python_module mock >= 1.3.0} BuildRequires: %{python_module pytest} BuildRequires: %{python_module tornado >= 4.2.1} %endif #!BuildIgnore: python-requests BuildArch: noarch %if 0%{?suse_version} >= 1000 || 0%{?fedora_version} >= 24 Recommends: ca-certificates-mozilla Recommends: python-cryptography Recommends: python-idna Recommends: python-ndg-httpsclient Recommends: python-pyOpenSSL %endif # for SSL module on older distros BuildRequires: %{oldpython} BuildRequires: python2-ipaddress %ifpython2 Requires: python-ipaddress %endif %python_subpackages %description Highlights - Re-use the same socket connection for multiple requests (HTTPConnectionPool and HTTPSConnectionPool) (with optional client-side certificate verification). - File posting (encode_multipart_formdata). - Built-in redirection and retries (optional). - Supports gzip and deflate decoding. - Thread-safe and sanity-safe. - Works with AppEngine, gevent, and eventlib. - Tested on Python 2.6+ and Python 3.3+, 100% unit test coverage. - Small and easy to understand codebase perfect for extending and building upon. For a more comprehensive solution, have a look at Requests which is also powered by urllib3. %prep %setup -q -n urllib3-%{version} %patch2 -p1 %patch3 -p1 %patch4 -p1 find . -type f -exec chmod a-x '{}' \; %build %python_build %install %python_install %{python_expand \ $python -m compileall -d %{$python_sitelib} %{buildroot}%{$python_sitelib}/urllib3/ $python -O -m compileall -d %{$python_sitelib} %{buildroot}%{$python_sitelib}/urllib3/ %fdupes %{buildroot}%{$python_sitelib} } %check %if %{with test} skiplist='not test_select_interrupt_exception and not test_selector_error and not timeout and not test_request_host_header_ignores_fqdn_dot and not test_dotted_fqdn' case $(uname -m) in ppc*) skiplist="$skiplist and not test_select_timing and not test_select_multiple_interrupts_with_event and not test_interrupt_wait_for_read_with_event and not test_select_interrupt_with_event";; esac rm -rf build # pretend to be TRAVIS (this triggers timing tolerance) export TRAVIS=1 %{python_expand PYTHONPATH="%{buildroot}%{$python_sitelib}" py.test-%$python_bin_suffix \ --ignore=test/appengine \ --ignore=test/with_dummyserver/test_proxy_poolmanager.py \ --ignore=test/with_dummyserver/test_poolmanager.py \ -k "${skiplist}" \ src/urllib3 test} rm -rf %{buildroot}%{_libexecdir}/python* %endif %files %{python_files} %license LICENSE.txt %doc CHANGES.rst CONTRIBUTORS.txt README.rst %if ! %{with test} %{python_sitelib}/urllib3 %{python_sitelib}/urllib3-%{version}-py*.egg-info %endif %changelog