8c0d90828d
- 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
132 lines
4.5 KiB
RPMSpec
132 lines
4.5 KiB
RPMSpec
#
|
|
# spec file for package python-requests
|
|
#
|
|
# Copyright (c) 2017 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 http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define urllib3_version 1.20
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
Name: python-requests
|
|
Version: 2.13.0
|
|
Release: 0
|
|
Summary: Awesome Python HTTP Library That's Actually Usable
|
|
License: Apache-2.0
|
|
Group: Development/Languages/Python
|
|
Url: http://python-requests.org/
|
|
#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-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-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-pyOpenSSL >= 0.14
|
|
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
|
|
|
|
%python_subpackages
|
|
|
|
%description
|
|
Requests is an ISC Licensed HTTP library, written in Python, for
|
|
human beings.
|
|
|
|
Most existing Python modules for sending HTTP requests are
|
|
extremely verbose and cumbersome. Python's builtin urllib2 module
|
|
provides most of the HTTP capabilities you should need, but the api
|
|
is thoroughly broken. It requires an enormous amount of work (even
|
|
method overrides) to perform the simplest of tasks.
|
|
|
|
Features:
|
|
- Extremely simple GET, HEAD, POST, PUT, DELETE Requests:
|
|
+ Simple HTTP Header Request Attachment.
|
|
+ Simple Data/Params Request Attachment.
|
|
+ Simple Multipart File Uploads.
|
|
+ CookieJar Support.
|
|
+ Redirection History.
|
|
+ Redirection Recursion Urllib Fix.
|
|
+ Auto Decompression of GZipped Content.
|
|
+ Unicode URL Support.
|
|
- Simple Authentication:
|
|
+ Simple URL + HTTP Auth Registry.
|
|
|
|
%prep
|
|
%setup -q -n requests-%{version}
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
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_build
|
|
|
|
%install
|
|
%python_install
|
|
# check that urllib3 is not installed
|
|
test ! -e %{buildroot}%{python3_sitelib}/requests/packages/urllib3
|
|
|
|
%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
|
|
|
|
# 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/
|
|
%{python_sitelib}/requests-*
|
|
|
|
%changelog
|