forked from pool/python-requests
Accepting request 486162 from devel:languages:python:singlespec
- update for multipython build - synchronize with python 3 version - debundle urllib3 and chardet - enable test suite - update urllib3 requirement to 1.19.1 - add idna requirement, refresh unbundling patch OBS-URL: https://build.opensuse.org/request/show/486162 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requests?expand=0&rev=96
This commit is contained in:
committed by
Git OBS Bridge
parent
ef72fbb351
commit
8c0d90828d
@@ -16,9 +16,8 @@
|
||||
#
|
||||
|
||||
|
||||
%if 0%{?suse_version} < 1120
|
||||
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
||||
%endif
|
||||
%define urllib3_version 1.20
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
Name: python-requests
|
||||
Version: 2.13.0
|
||||
Release: 0
|
||||
@@ -26,35 +25,43 @@ Summary: Awesome Python HTTP Library That's Actually Usable
|
||||
License: Apache-2.0
|
||||
Group: Development/Languages/Python
|
||||
Url: http://python-requests.org/
|
||||
Source: https://pypi.io/packages/source/r/requests/requests-%{version}.tar.gz
|
||||
#Source: https://files.pythonhosted.org/packages/source/r/requests/requests-%{version}.tar.gz
|
||||
Source: https://github.com/kennethreitz/requests/archive/v%{version}.tar.gz
|
||||
Source100: PACKAGING_NOTES
|
||||
Source101: set_urllib3_version.sh
|
||||
# PATCH-FIX-OPENSUSE no-default-cacert.patch -- Completely ignore the internal CA bundle.
|
||||
Patch0: no-default-cacert.patch
|
||||
# PATCH-FIX-UPSTREAM update urllib3 to do the proper passthrough to set_default_verify_paths
|
||||
Patch1: urllib3-ssl-default-context.patch
|
||||
# PATCH-FIX-OPENSUSE requests-do-not-use-bundle.patch -- Use system libraries instead of bundled ones.
|
||||
Patch1: requests-do-not-use-bundle.patch
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module py}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module urllib3 >= %urllib3_version}
|
||||
BuildRequires: ca-certificates
|
||||
BuildRequires: python
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python-py
|
||||
BuildRequires: python-setuptools
|
||||
BuildRequires: python-rpm-macros
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module PySocks >= 1.5.6}
|
||||
BuildRequires: %{python_module chardet}
|
||||
BuildRequires: %{python_module idna >= 2.2}
|
||||
BuildRequires: %{python_module pytest-httpbin}
|
||||
BuildRequires: %{python_module pytest-mock}
|
||||
BuildRequires: %{python_module pytest}
|
||||
# /SECTION
|
||||
Requires: ca-certificates
|
||||
Requires: python
|
||||
# for good measure, at least recommend an actual set of certificates
|
||||
Recommends: ca-certificates-mozilla
|
||||
Recommends: python-cryptography >= 1.3.4
|
||||
# requirements for pyopenssl fallback of bundled urllib3
|
||||
Recommends: python-ndg-httpsclient
|
||||
Recommends: python-pyOpenSSL >= 0.14
|
||||
Recommends: python-pyasn1
|
||||
%if 0%{?suse_version} <= 1200
|
||||
BuildRequires: openssl-certs
|
||||
Requires: openssl-certs
|
||||
%else
|
||||
BuildRequires: ca-certificates
|
||||
Requires: ca-certificates
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1120
|
||||
Recommends: python-cryptography >= 1.3.4
|
||||
Recommends: python-PySocks >= 1.5.6
|
||||
Requires: python-chardet
|
||||
Requires: python-idna >= 2.2
|
||||
Requires: python-py
|
||||
Requires: python-urllib3 >= %urllib3_version
|
||||
BuildArch: noarch
|
||||
%else
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%endif
|
||||
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Requests is an ISC Licensed HTTP library, written in Python, for
|
||||
@@ -82,23 +89,40 @@ Features:
|
||||
%prep
|
||||
%setup -q -n requests-%{version}
|
||||
%patch0 -p1
|
||||
pushd requests/packages
|
||||
%patch1 -p1
|
||||
popd
|
||||
rm -f requests/cacert.pem
|
||||
|
||||
# fill out required urllib3 version
|
||||
sed -i s/#URLLIB3VERSION#/%{urllib3_version}/ setup.py
|
||||
echo "urllib3 >= %{urllib3_version}" >> requirements.txt
|
||||
# drop shebang from certs.py
|
||||
sed -i '1s/^#!.*$//' requests/certs.py
|
||||
|
||||
%build
|
||||
python setup.py build
|
||||
%python_build
|
||||
|
||||
%install
|
||||
python setup.py install \
|
||||
--root=%{buildroot} --prefix=%{_prefix}
|
||||
%python_install
|
||||
# check that urllib3 is not installed
|
||||
test ! -e %{buildroot}%{python3_sitelib}/requests/packages/urllib3
|
||||
|
||||
# Tests require network access.
|
||||
# %check
|
||||
# python test_requests.py
|
||||
%check
|
||||
# first check that we have a good version of urllib3
|
||||
# DO NOT DISABLE THIS TEST unless you know what you are doing
|
||||
# see PACKAGING_NOTES for details
|
||||
python3 <<END
|
||||
import sys, pkg_resources
|
||||
from requests.packages.urllib3 import __version__
|
||||
required = "urllib3 >= {}".format(__version__)
|
||||
dist = pkg_resources.get_distribution(required)
|
||||
if dist is None or not dist.location.startswith("%{_prefix}"):
|
||||
sys.exit(1)
|
||||
END
|
||||
|
||||
%files
|
||||
# exclude tests connecting to TARPIT
|
||||
%python_exec -m pytest tests -k "not (TestTimeout and connect)"
|
||||
|
||||
%files %{python_files}
|
||||
%defattr(-,root,root)
|
||||
%doc HISTORY.rst LICENSE NOTICE README.rst
|
||||
%{python_sitelib}/requests/
|
||||
|
||||
Reference in New Issue
Block a user