python-requests/python-requests.spec

127 lines
4.3 KiB
RPMSpec
Raw Normal View History

#
# 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 HTTP library, written in Python, as an alternative
to Python's builtin urllib2 which requires a work (even
method overrides) to perform basic tasks.
Features of Requests:
- GET, HEAD, POST, PUT, DELETE Requests:
+ HTTP Header Request Attachment.
+ Data/Params Request Attachment.
+ Multipart File Uploads.
+ CookieJar Support.
+ Redirection History.
+ Redirection Recursion Urllib Fix.
+ Automatic Decompression of GZipped Content.
+ Unicode URL Support.
- Authentication:
+ 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