Hello community, here is the log from the commit of package python3-requests for openSUSE:Factory checked in at 2015-10-24 10:23:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-requests (Old) and /work/SRC/openSUSE:Factory/.python3-requests.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-requests" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-requests/python3-requests.changes 2015-05-11 19:49:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python3-requests.new/python3-requests.changes 2015-10-24 10:23:50.000000000 +0200 @@ -1,0 +2,64 @@ +Thu Oct 15 11:35:49 UTC 2015 - toddrme2...@gmail.com + +- Update to 2.8.1 + * Update certificate bundle to match certifi 2015.9.6.2’s weak + certificate bundle. + * Fix a bug in 2.8.0 where requests would raise ConnectTimeout + instead of ConnectionError + * When using the PreparedRequest flow, requests will now + correctly respect the json parameter. Broken in 2.8.0. + When using the PreparedRequest flow, requests will now + correctly handle a Unicode-string method name on Python 2. + Broken in 2.8.0. +- Rebase requests-do-not-use-bundle.patch +- Disable tests. They fail due to a lack of network access. + +------------------------------------------------------------------- +Fri Oct 9 19:11:09 UTC 2015 - sor.ale...@meowr.ru + +- Use (rebased) fix from Ludwig Nussel for no-default-cacert.patch + (do not hardcode a ca cert location). +- Only indicate Apache2 license: no other licenses are present. +- Do not apply no-default-cacert-sles.patch on openSUSE Leap 42.x. +- Fix requests-do-not-use-bundle.patch. +- Small spec cleanup. + +------------------------------------------------------------------- +Thu Oct 8 16:45:31 UTC 2015 - a...@gmx.de + +- updated requests-do-not-use-bundle.patch + +- update to version 2.8.0: + * Requests now supports per-host proxies. This allows the proxies + dictionary to have entries of the form {'<scheme>://<hostname>': + '<proxy>'}. Host-specific proxies will be used in preference to the + previously-supported scheme-specific ones, but the previous syntax + will continue to work. + * Response.raise_for_status now prints the URL that failed as part of + the exception message. + * requests.utils.get_netrc_auth now takes an raise_errors kwarg, + defaulting to False. When True, errors parsing .netrc files cause + exceptions to be thrown. + * Change to bundled projects import logic to make it easier to + unbundle requests downstream. + * Changed the default User-Agent string to avoid leaking data on + Linux: now contains only the requests version. + * The json parameter to post() and friends will now only be used if + neither data nor files are present, consistent with the + documentation. + * We now ignore empty fields in the NO_PROXY enviroment variable. + * Fixed problem where httplib.BadStatusLine would get raised if + combining stream=True with contextlib.closing. + * Prevented bugs where we would attempt to return the same connection + back to the connection pool twice when sending a Chunked body. + * Miscellaneous minor internal changes. + * Digest Auth support is now thread safe. + * Updated urllib3 to 1.12. + +------------------------------------------------------------------- +Mon Oct 5 17:27:46 UTC 2015 - p.drou...@gmail.com + +- Unbundle python-chardet and python-urllib3 (boo#947357) + requests-do-not-use-bundle.patch + +------------------------------------------------------------------- Old: ---- requests-2.7.0.tar.gz New: ---- requests-2.8.1.tar.gz requests-do-not-use-bundle.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-requests.spec ++++++ --- /var/tmp/diff_new_pack.axMP6O/_old 2015-10-24 10:23:51.000000000 +0200 +++ /var/tmp/diff_new_pack.axMP6O/_new 2015-10-24 10:23:51.000000000 +0200 @@ -17,72 +17,82 @@ Name: python3-requests -Version: 2.7.0 +Version: 2.8.1 Release: 0 -Url: http://python-requests.org Summary: Awesome Python HTTP Library That's Actually Usable -License: Apache-2.0 and LGPL-2.1+ and MIT +License: Apache-2.0 Group: Development/Languages/Python -#TODO/FIXME: Maybe split out charade and urllib3 into sub-packages to simplify: +Url: http://python-requests.org Source: http://pypi.python.org/packages/source/r/requests/requests-%{version}.tar.gz -# PATCH-FIX-OPENSUSE no-default-cacert.patch -- completely ignore the internal CA bundle +# PATCH-FIX-OPENSUSE no-default-cacert.patch -- Completely ignore the internal CA bundle. Patch0: no-default-cacert.patch +# PATCH-FIX-SLE no-default-cacert-sles.patch -- Completely ignore the internal CA bundle (SLE version). Patch1: no-default-cacert-sles.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build +# PATCH-FIX-OPENSUSE requests-do-not-use-bundle.patch -- Use system libraries instead of bundled ones. +Patch2: requests-do-not-use-bundle.patch BuildRequires: python3 BuildRequires: python3-devel -BuildRequires: python3-py BuildRequires: python3-setuptools +BuildRequires: python3-pytest +BuildRequires: python3-chardet +BuildRequires: python3-py +BuildRequires: python3-urllib3 +Requires: python3-chardet Requires: python3-py +Requires: python3-urllib3 BuildArch: noarch %description -Requests is an ISC Licensed HTTP library, written in Python, for human -beings. +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. +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 + - 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} # For rpmlint warning: remove shebang from python library: sed -i '/^#!/d' ./requests/certs.py -%if %{suse_version} == 1315 +%if 0%{?suse_version} == 1315 && !0%{?is_opensuse} %patch1 -p1 %else %patch0 -p1 %endif -rm ./requests/cacert.pem +%patch2 -p1 +rm -f requests/cacert.pem %build python3 setup.py build -%check -python3 setup.py test - %install -python3 setup.py install --prefix=%{_prefix} --root=%{buildroot} +python3 setup.py install \ + --root=%{buildroot} --prefix=%{_prefix} +rm -rf %{buildroot}%{python3_sitelib}/requests/packages/ + +# Tests require network access +# %check +# python3 test_requests.py %files %defattr(-,root,root) -%doc README.rst HISTORY.rst LICENSE NOTICE -%{python3_sitelib}/* +%doc HISTORY.rst LICENSE NOTICE README.rst +%{python3_sitelib}/requests/ +%{python3_sitelib}/requests-* %changelog ++++++ no-default-cacert.patch ++++++ --- /var/tmp/diff_new_pack.axMP6O/_old 2015-10-24 10:23:51.000000000 +0200 +++ /var/tmp/diff_new_pack.axMP6O/_new 2015-10-24 10:23:51.000000000 +0200 @@ -1,6 +1,11 @@ +--- a/MANIFEST.in ++++ b/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 --- a/requests/adapters.py +++ b/requests/adapters.py -@@ -132,9 +132,6 @@ +@@ -180,9 +180,6 @@ class HTTPAdapter(BaseAdapter): if not cert_loc: cert_loc = DEFAULT_CA_BUNDLE_PATH @@ -12,18 +17,26 @@ else: --- a/requests/certs.py +++ b/requests/certs.py -@@ -19,7 +19,7 @@ +@@ -18,8 +18,9 @@ try: + except ImportError: def where(): """Return the preferred certificate bundle.""" - # vendored bundle inside Requests +- # vendored bundle inside Requests - return os.path.join(os.path.dirname(__file__), 'cacert.pem') -+ return '/etc/ssl/certs/' ++ # in openSUSE we rely on openssl's default instead of ++ # hardcoding stuff elsewhere ++ return None if __name__ == '__main__': print(where()) ---- a/MANIFEST.in -+++ b/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 +--- a/requests/packages/urllib3/util/ssl_.py ++++ b/requests/packages/urllib3/util/ssl_.py +@@ -278,6 +278,8 @@ def ssl_wrap_socket(sock, keyfile=None, + if e.errno == errno.ENOENT: + raise SSLError(e) + raise ++ elif cert_reqs != CERT_NONE: ++ context.set_default_verify_paths() + if certfile: + context.load_cert_chain(certfile, keyfile) ++++++ requests-2.7.0.tar.gz -> requests-2.8.1.tar.gz ++++++ ++++ 5005 lines of diff (skipped) ++++++ requests-do-not-use-bundle.patch ++++++ --- a/requests/adapters.py +++ b/requests/adapters.py @@ -11,25 +11,25 @@ and maintain connections. import socket from .models import Response -from .packages.urllib3.poolmanager import PoolManager, proxy_from_url -from .packages.urllib3.response import HTTPResponse -from .packages.urllib3.util import Timeout as TimeoutSauce -from .packages.urllib3.util.retry import Retry +from urllib3.poolmanager import PoolManager, proxy_from_url +from urllib3.response import HTTPResponse +from urllib3.util import Timeout as TimeoutSauce +from urllib3.util.retry import Retry from .compat import urlparse, basestring from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers, prepend_scheme_if_needed, get_auth_from_url, urldefragauth, select_proxy) from .structures import CaseInsensitiveDict -from .packages.urllib3.exceptions import ClosedPoolError -from .packages.urllib3.exceptions import ConnectTimeoutError -from .packages.urllib3.exceptions import HTTPError as _HTTPError -from .packages.urllib3.exceptions import MaxRetryError -from .packages.urllib3.exceptions import NewConnectionError -from .packages.urllib3.exceptions import ProxyError as _ProxyError -from .packages.urllib3.exceptions import ProtocolError -from .packages.urllib3.exceptions import ReadTimeoutError -from .packages.urllib3.exceptions import SSLError as _SSLError -from .packages.urllib3.exceptions import ResponseError +from urllib3.exceptions import ClosedPoolError +from urllib3.exceptions import ConnectTimeoutError +from urllib3.exceptions import HTTPError as _HTTPError +from urllib3.exceptions import MaxRetryError +from urllib3.exceptions import NewConnectionError +from urllib3.exceptions import ProxyError as _ProxyError +from urllib3.exceptions import ProtocolError +from urllib3.exceptions import ReadTimeoutError +from urllib3.exceptions import SSLError as _SSLError +from urllib3.exceptions import ResponseError from .cookies import extract_cookies_to_jar from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, ProxyError, RetryError) --- a/requests/compat.py +++ b/requests/compat.py @@ -4,8 +4,7 @@ pythoncompat """ -from .packages import chardet - +import chardet import sys # ------- @@ -39,7 +38,7 @@ if is_py2: import cookielib from Cookie import Morsel from StringIO import StringIO - from .packages.urllib3.packages.ordered_dict import OrderedDict + from urllib3.packages.ordered_dict import OrderedDict builtin_str = str bytes = str --- a/requests/exceptions.py +++ b/requests/exceptions.py @@ -7,7 +7,7 @@ requests.exceptions This module contains the set of Requests' exceptions. """ -from .packages.urllib3.exceptions import HTTPError as BaseHTTPError +from urllib3.exceptions import HTTPError as BaseHTTPError class RequestException(IOError): --- a/requests/__init__.py +++ b/requests/__init__.py @@ -50,7 +50,7 @@ __copyright__ = 'Copyright 2015 Kenneth # Attempt to enable urllib3's SNI support, if possible try: - from .packages.urllib3.contrib import pyopenssl + from urllib3.contrib import pyopenssl pyopenssl.inject_into_urllib3() except ImportError: pass --- a/requests/models.py +++ b/requests/models.py @@ -16,10 +16,10 @@ from .structures import CaseInsensitiveD from .auth import HTTPBasicAuth from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar -from .packages.urllib3.fields import RequestField -from .packages.urllib3.filepost import encode_multipart_formdata -from .packages.urllib3.util import parse_url -from .packages.urllib3.exceptions import ( +from urllib3.fields import RequestField +from urllib3.filepost import encode_multipart_formdata +from urllib3.util import parse_url +from urllib3.exceptions import ( DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) from .exceptions import ( HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, --- a/requests/sessions.py +++ b/requests/sessions.py @@ -21,7 +21,7 @@ from .hooks import default_hooks, dispat from .utils import to_key_val_list, default_headers, to_native_string from .exceptions import ( TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) -from .packages.urllib3._collections import RecentlyUsedContainer +from urllib3._collections import RecentlyUsedContainer from .structures import CaseInsensitiveDict from .adapters import HTTPAdapter