forked from pool/python-requests
		
	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:
		| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -16,34 +16,27 @@ | ||||
| # | ||||
|  | ||||
|  | ||||
| %define urllib3_version 1.20 | ||||
| %{?!python_module:%define python_module() python-%{**} python3-%{**}} | ||||
| Name:           python-requests | ||||
| Version:        2.13.0 | ||||
| Version:        2.18.1 | ||||
| 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 | ||||
| Source:         https://files.pythonhosted.org/packages/source/r/requests/requests-%{version}.tar.gz | ||||
| BuildRequires:  %{python_module certifi} | ||||
| BuildRequires:  %{python_module devel} | ||||
| BuildRequires:  %{python_module py} | ||||
| BuildRequires:  %{python_module setuptools} | ||||
| BuildRequires:  %{python_module urllib3 >= %urllib3_version} | ||||
| BuildRequires:  %{python_module urllib3 >= 1.21.1} | ||||
| 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 chardet >= 3.0.2} | ||||
| BuildRequires:  %{python_module idna >= 2.5} | ||||
| BuildRequires:  %{python_module pytest-httpbin} | ||||
| BuildRequires:  %{python_module pytest-mock} | ||||
| BuildRequires:  %{python_module pytest} | ||||
| @@ -55,10 +48,11 @@ 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-certifi >= 2017.4.17 | ||||
| Requires:       python-chardet >= 3.0.2 | ||||
| Requires:       python-idna >= 2.5 | ||||
| Requires:       python-py | ||||
| Requires:       python-urllib3 >= %urllib3_version | ||||
| Requires:       python-urllib3 >= 1.21.1 | ||||
| BuildArch:      noarch | ||||
|  | ||||
| %python_subpackages | ||||
| @@ -83,13 +77,7 @@ Features of Requests: | ||||
|  | ||||
| %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 | ||||
|  | ||||
| @@ -102,24 +90,13 @@ sed -i '1s/^#!.*$//' requests/certs.py | ||||
| 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 | ||||
|  | ||||
| touch requirements.txt | ||||
| # 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 | ||||
| %doc HISTORY.rst LICENSE README.rst | ||||
| %{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 | ||||
		Reference in New Issue
	
	Block a user