Accepting request 507839 from devel:languages:python
1 OBS-URL: https://build.opensuse.org/request/show/507839 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-requests?expand=0&rev=43
This commit is contained in:
commit
ed0ab381ed
@ -1,29 +0,0 @@
|
|||||||
Requests is a tricky package.
|
|
||||||
|
|
||||||
The unbundling of urllib3 is unsupported by upstream; AFAICT, mostly because
|
|
||||||
people are being unreasonable and *third-party packages* expect the bundled
|
|
||||||
urllib3 to exist. And requests upstream wants to support that usecase.
|
|
||||||
|
|
||||||
Therefore, extra care must be taken with the unbundling.
|
|
||||||
|
|
||||||
First, upstream also recognizes that we distributors will unbundle, and
|
|
||||||
actually include a helpful shim in requests/packages/__init__.py. This is to
|
|
||||||
make sure that importing `requests.packages.urllib3` works even if it is
|
|
||||||
unbundled, and also that you will get the identical import (unlike if we
|
|
||||||
installed symlinks, in which case Python would consider `r.p.urrlib3` and
|
|
||||||
`urllib3` to be different packages. See the file __init__.py for more
|
|
||||||
information.
|
|
||||||
|
|
||||||
We want to keep the shim, so we must install requests/packages/__init__.py
|
|
||||||
even though we don't install the subdirectories.
|
|
||||||
|
|
||||||
Second, it is our job to set requirements in the egg-info properly, so that
|
|
||||||
users of virtualenvs get the right thing in certain unusual configurations.
|
|
||||||
|
|
||||||
Third, requests are at times sensitive to version of urllib3. Historically,
|
|
||||||
requests even bundled pre-release versions. This will probably not happen
|
|
||||||
again, but it does mean that we must express requirements for a certain
|
|
||||||
version of urllib3. I have taken some pains to make the build fail if the
|
|
||||||
right version of urllib3 is not present. Make sure that urllib3 is updated
|
|
||||||
first, and run `set_urllib3_version.sh` to update the definition in the spec
|
|
||||||
file.
|
|
@ -1,60 +0,0 @@
|
|||||||
Index: requests-2.12.4/MANIFEST.in
|
|
||||||
===================================================================
|
|
||||||
--- requests-2.12.4.orig/MANIFEST.in
|
|
||||||
+++ requests-2.12.4/MANIFEST.in
|
|
||||||
@@ -1 +1 @@
|
|
||||||
-include README.rst LICENSE NOTICE HISTORY.rst test_requests.py requirements.txt requests/cacert.pem
|
|
||||||
+include README.rst LICENSE NOTICE HISTORY.rst test_requests.py requirements.txt
|
|
||||||
Index: requests-2.12.4/requests/adapters.py
|
|
||||||
===================================================================
|
|
||||||
--- requests-2.12.4.orig/requests/adapters.py
|
|
||||||
+++ requests-2.12.4/requests/adapters.py
|
|
||||||
@@ -213,15 +213,13 @@ class HTTPAdapter(BaseAdapter):
|
|
||||||
if verify is not True:
|
|
||||||
cert_loc = verify
|
|
||||||
|
|
||||||
- if not cert_loc:
|
|
||||||
- cert_loc = DEFAULT_CA_BUNDLE_PATH
|
|
||||||
-
|
|
||||||
- if not cert_loc:
|
|
||||||
- raise Exception("Could not find a suitable SSL CA certificate bundle.")
|
|
||||||
-
|
|
||||||
conn.cert_reqs = 'CERT_REQUIRED'
|
|
||||||
|
|
||||||
- if not os.path.isdir(cert_loc):
|
|
||||||
+ if cert_loc is None:
|
|
||||||
+ # use default context
|
|
||||||
+ conn.ca_certs = None
|
|
||||||
+ conn.ca_cert_dir = None
|
|
||||||
+ elif not os.path.isdir(cert_loc):
|
|
||||||
conn.ca_certs = cert_loc
|
|
||||||
else:
|
|
||||||
conn.ca_cert_dir = cert_loc
|
|
||||||
Index: requests-2.12.4/requests/certs.py
|
|
||||||
===================================================================
|
|
||||||
--- requests-2.12.4.orig/requests/certs.py
|
|
||||||
+++ requests-2.12.4/requests/certs.py
|
|
||||||
@@ -18,8 +18,9 @@ try:
|
|
||||||
except ImportError:
|
|
||||||
def where():
|
|
||||||
"""Return the preferred certificate bundle."""
|
|
||||||
- # vendored bundle inside Requests
|
|
||||||
- return os.path.join(os.path.dirname(__file__), 'cacert.pem')
|
|
||||||
+ # in openSUSE we rely on ca-certificates instead of
|
|
||||||
+ # having an another bundle
|
|
||||||
+ return '/etc/ssl/ca-bundle.pem'
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
print(where())
|
|
||||||
diff -rupN requests-2.10.0.orig/setup.py requests-2.10.0/setup.py
|
|
||||||
--- requests-2.10.0.orig/setup.py 2016-04-29 18:03:18.000000000 -0400
|
|
||||||
+++ requests-2.10.0/setup.py 2016-06-03 01:17:13.549030517 -0400
|
|
||||||
@@ -68,7 +68,7 @@ setup(
|
|
||||||
author_email='me@kennethreitz.com',
|
|
||||||
url='http://python-requests.org',
|
|
||||||
packages=packages,
|
|
||||||
- package_data={'': ['LICENSE', 'NOTICE'], 'requests': ['*.pem']},
|
|
||||||
+ package_data={'': ['LICENSE', 'NOTICE']},
|
|
||||||
package_dir={'requests': 'requests'},
|
|
||||||
include_package_data=True,
|
|
||||||
install_requires=requires,
|
|
@ -1,3 +1,92 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 3 11:36:40 UTC 2017 - tbechtold@suse.com
|
||||||
|
|
||||||
|
update to version v2.18.1
|
||||||
|
* 2.17.1
|
||||||
|
* Fix a typo: verison -> version
|
||||||
|
* fix
|
||||||
|
* Prepare v2.18.0
|
||||||
|
* Update requirements.txt
|
||||||
|
* cleanup models.py
|
||||||
|
* Preserve identity of unbundled deps
|
||||||
|
* ignore undefined names in flake8
|
||||||
|
* flake8 ignore lambda expressions
|
||||||
|
* Add the pytest .cache/ directory to .gitignore
|
||||||
|
* docutils
|
||||||
|
* try junit
|
||||||
|
* new installation location
|
||||||
|
* cleanup utils.py
|
||||||
|
* flake8report.txt
|
||||||
|
* empty commit
|
||||||
|
* no more pipenv
|
||||||
|
* Begin dev section of README
|
||||||
|
* Remove exec permission from files that shouldn't have it
|
||||||
|
* change development philosophy docs to reflect reality
|
||||||
|
* fix manifest file
|
||||||
|
* only flake8 the right directory
|
||||||
|
* update development documentation
|
||||||
|
* Remove session redirect cache
|
||||||
|
* no piping to a file
|
||||||
|
* Catch error if multiprocessing is not available or is unable to determine the number of CPUs
|
||||||
|
* todo
|
||||||
|
* cleanup sessions.py
|
||||||
|
* typo
|
||||||
|
* number of cores for travis
|
||||||
|
* ignore import statements for flake8
|
||||||
|
* Update README.rst
|
||||||
|
* better ci file
|
||||||
|
* bunk change
|
||||||
|
* that doesn't work on windows
|
||||||
|
* improve development instructions
|
||||||
|
* Fix a typo: paramters -> parameters
|
||||||
|
* Adds changelog entry for #4134
|
||||||
|
* ignore line continuations for flake8
|
||||||
|
* Allow Requests.Response to be used as a context manager
|
||||||
|
* Fix requests.packages not having package attributes
|
||||||
|
* remove note about cacerts.pem
|
||||||
|
* v2.17.3
|
||||||
|
* improve install documentation syntax
|
||||||
|
* improve installation instructions
|
||||||
|
* flake8: import statement improvements
|
||||||
|
* fix spaces in api.py
|
||||||
|
* v2.18.1
|
||||||
|
* skip for now
|
||||||
|
* v2.17.2
|
||||||
|
* fix flake8 for EOF in __init__.py
|
||||||
|
* improve flake8 help.py
|
||||||
|
* Prepare for next release cycle
|
||||||
|
* try this travis file
|
||||||
|
* remove "are you crazy?" section
|
||||||
|
* fix sidebars
|
||||||
|
* Update index.rst
|
||||||
|
* fix empty lines for flake8
|
||||||
|
* convert version compatibility checks to warning
|
||||||
|
* fix github stars
|
||||||
|
* v2.17.1
|
||||||
|
* improve line continuations for flake8
|
||||||
|
* attempt new ads
|
||||||
|
* speed up appveyor
|
||||||
|
* v2.17.0
|
||||||
|
* improve installation docs
|
||||||
|
* fix flake8 indent error
|
||||||
|
* Adds to AUTHORS
|
||||||
|
* Clearer makefile for building README
|
||||||
|
* flake8
|
||||||
|
* Fixes error swallowing in set_environ
|
||||||
|
* cleanup help.py (flake8)
|
||||||
|
* improve install docs
|
||||||
|
* new requests namespace
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 10 08:40:50 UTC 2017 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 2.16.5:
|
||||||
|
* unvendored bundled libraries
|
||||||
|
* for more changes, see https://pypi.python.org/pypi/requests
|
||||||
|
|
||||||
|
- drop no-default-cacert.patch: this is now in python-certifi
|
||||||
|
- drop requests-do-not-use-bundle.patch: obsolete
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri May 5 22:43:27 UTC 2017 - jengelh@inai.de
|
Fri May 5 22:43:27 UTC 2017 - jengelh@inai.de
|
||||||
|
|
||||||
|
@ -16,34 +16,27 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define urllib3_version 1.20
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
Name: python-requests
|
Name: python-requests
|
||||||
Version: 2.13.0
|
Version: 2.18.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Awesome Python HTTP Library That's Actually Usable
|
Summary: Awesome Python HTTP Library That's Actually Usable
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
Url: http://python-requests.org/
|
Url: http://python-requests.org/
|
||||||
#Source: https://files.pythonhosted.org/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
|
BuildRequires: %{python_module certifi}
|
||||||
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 devel}
|
||||||
BuildRequires: %{python_module py}
|
BuildRequires: %{python_module py}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module urllib3 >= %urllib3_version}
|
BuildRequires: %{python_module urllib3 >= 1.21.1}
|
||||||
BuildRequires: ca-certificates
|
BuildRequires: ca-certificates
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
# SECTION test requirements
|
# SECTION test requirements
|
||||||
BuildRequires: %{python_module PySocks >= 1.5.6}
|
BuildRequires: %{python_module PySocks >= 1.5.6}
|
||||||
BuildRequires: %{python_module chardet}
|
BuildRequires: %{python_module chardet >= 3.0.2}
|
||||||
BuildRequires: %{python_module idna >= 2.2}
|
BuildRequires: %{python_module idna >= 2.5}
|
||||||
BuildRequires: %{python_module pytest-httpbin}
|
BuildRequires: %{python_module pytest-httpbin}
|
||||||
BuildRequires: %{python_module pytest-mock}
|
BuildRequires: %{python_module pytest-mock}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
@ -55,10 +48,11 @@ Recommends: ca-certificates-mozilla
|
|||||||
Recommends: python-pyOpenSSL >= 0.14
|
Recommends: python-pyOpenSSL >= 0.14
|
||||||
Recommends: python-cryptography >= 1.3.4
|
Recommends: python-cryptography >= 1.3.4
|
||||||
Recommends: python-PySocks >= 1.5.6
|
Recommends: python-PySocks >= 1.5.6
|
||||||
Requires: python-chardet
|
Requires: python-certifi >= 2017.4.17
|
||||||
Requires: python-idna >= 2.2
|
Requires: python-chardet >= 3.0.2
|
||||||
|
Requires: python-idna >= 2.5
|
||||||
Requires: python-py
|
Requires: python-py
|
||||||
Requires: python-urllib3 >= %urllib3_version
|
Requires: python-urllib3 >= 1.21.1
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
@ -83,13 +77,7 @@ Features of Requests:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n requests-%{version}
|
%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
|
# drop shebang from certs.py
|
||||||
sed -i '1s/^#!.*$//' requests/certs.py
|
sed -i '1s/^#!.*$//' requests/certs.py
|
||||||
|
|
||||||
@ -102,24 +90,13 @@ sed -i '1s/^#!.*$//' requests/certs.py
|
|||||||
test ! -e %{buildroot}%{python3_sitelib}/requests/packages/urllib3
|
test ! -e %{buildroot}%{python3_sitelib}/requests/packages/urllib3
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# first check that we have a good version of urllib3
|
touch requirements.txt
|
||||||
# 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
|
# exclude tests connecting to TARPIT
|
||||||
%python_exec -m pytest tests -k "not (TestTimeout and connect)"
|
%python_exec -m pytest tests -k "not (TestTimeout and connect)"
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc HISTORY.rst LICENSE NOTICE README.rst
|
%doc HISTORY.rst LICENSE README.rst
|
||||||
%{python_sitelib}/requests/
|
%{python_sitelib}/requests/
|
||||||
%{python_sitelib}/requests-*
|
%{python_sitelib}/requests-*
|
||||||
|
|
||||||
|
3
requests-2.18.1.tar.gz
Normal file
3
requests-2.18.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9
|
||||||
|
size 124229
|
@ -1,32 +0,0 @@
|
|||||||
Index: requests-2.13.0/setup.py
|
|
||||||
===================================================================
|
|
||||||
--- requests-2.13.0.orig/setup.py
|
|
||||||
+++ requests-2.13.0/setup.py
|
|
||||||
@@ -36,17 +36,9 @@ if sys.argv[-1] == 'publish':
|
|
||||||
packages = [
|
|
||||||
'requests',
|
|
||||||
'requests.packages',
|
|
||||||
- 'requests.packages.chardet',
|
|
||||||
- 'requests.packages.idna',
|
|
||||||
- 'requests.packages.urllib3',
|
|
||||||
- 'requests.packages.urllib3.packages',
|
|
||||||
- 'requests.packages.urllib3.contrib',
|
|
||||||
- 'requests.packages.urllib3.util',
|
|
||||||
- 'requests.packages.urllib3.packages.ssl_match_hostname',
|
|
||||||
- 'requests.packages.urllib3.packages.backports',
|
|
||||||
]
|
|
||||||
|
|
||||||
-requires = []
|
|
||||||
+requires = ['chardet', 'idna', 'urllib3 >= #URLLIB3VERSION#']
|
|
||||||
test_requirements = ['pytest>=2.8.0', 'pytest-httpbin==0.0.7', 'pytest-cov', 'pytest-mock']
|
|
||||||
|
|
||||||
with open('requests/__init__.py', 'r') as fd:
|
|
||||||
@@ -72,7 +64,7 @@ setup(
|
|
||||||
packages=packages,
|
|
||||||
package_data={'': ['LICENSE', 'NOTICE']},
|
|
||||||
package_dir={'requests': 'requests'},
|
|
||||||
- include_package_data=True,
|
|
||||||
+ include_package_data=False,
|
|
||||||
install_requires=requires,
|
|
||||||
license='Apache 2.0',
|
|
||||||
zip_safe=False,
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
wd=$PWD
|
|
||||||
tmpdir=`mktemp -d`
|
|
||||||
cd $tmpdir
|
|
||||||
tar xzf $wd/requests-*.tar.gz
|
|
||||||
cd requests-*
|
|
||||||
version=`python3 -c 'from requests.packages.urllib3 import __version__; print(__version__, end="")'`
|
|
||||||
cd ../..
|
|
||||||
rm -rf $tmpdir
|
|
||||||
cd $wd
|
|
||||||
sed -i 's/%define urllib3_version .*$/%define urllib3_version '"$version"'/' python-requests.spec
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:48fd188aaa388b4193bf7b917cf861a00eafacad651148475bc65ffaef445627
|
|
||||||
size 3341123
|
|
Loading…
Reference in New Issue
Block a user