From 2aacf83de77aba613272adc86c82e5fb6c53ce0c24c66622b408e066099a748e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20S=C3=BAkup?= Date: Thu, 29 Oct 2020 10:37:40 +0000 Subject: [PATCH] Accepting request 844659 from home:jayvdb:branches:devel:languages:python - Re-activate tests - Update to v3.7.2 OBS-URL: https://build.opensuse.org/request/show/844659 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-aiohttp?expand=0&rev=54 --- aiohttp-3.6.2.tar.gz | 3 -- aiohttp-3.7.2.tar.gz | 3 ++ python-aiohttp.changes | 101 +++++++++++++++++++++++++++++++++++++ python-aiohttp.spec | 21 +++++--- unbundle-http-parser.patch | 30 ++++++----- 5 files changed, 133 insertions(+), 25 deletions(-) delete mode 100644 aiohttp-3.6.2.tar.gz create mode 100644 aiohttp-3.7.2.tar.gz diff --git a/aiohttp-3.6.2.tar.gz b/aiohttp-3.6.2.tar.gz deleted file mode 100644 index fe54025..0000000 --- a/aiohttp-3.6.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326 -size 1076923 diff --git a/aiohttp-3.7.2.tar.gz b/aiohttp-3.7.2.tar.gz new file mode 100644 index 0000000..e3cbb25 --- /dev/null +++ b/aiohttp-3.7.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6da1af59841e6d43255d386a2c4bfb59c0a3b262bdb24325cc969d211be6070 +size 1111049 diff --git a/python-aiohttp.changes b/python-aiohttp.changes index c7ad942..9332e69 100644 --- a/python-aiohttp.changes +++ b/python-aiohttp.changes @@ -1,3 +1,104 @@ +------------------------------------------------------------------- +Wed Oct 28 15:33:18 UTC 2020 - John Vandenberg + +- Re-activate tests +- Update to v3.7.2 + * Fixed static files handling for loops without .sendfile() support +- from v3.7.1 + * Fixed a type error caused by the conditional import of Protocol + * Server doesn't send Content-Length for 1xx or 204 + * Fix run_app typing + * Always require typing_extensions library + * Fix a variable-shadowing bug causing ThreadedResolver.resolve + to return the resolved IP as the ``hostname`` in each record, + which prevented validation of HTTPS connections + * Added annotations to all public attributes + * Fix flaky test_when_timeout_smaller_second + * Ensure sending a zero byte file does not throw an exception +- from v3.7.0 + * Response headers are now prepared prior to running + ``on_response_prepare`` hooks, directly before headers are + sent to the client + * Add a ``quote_cookie`` option to ``CookieJar``, a way to skip + quotation wrapping of cookies containing special characters + * Call AccessLogger.log with the current exception available + from sys.exc_info() + * web.UrlDispatcher.add_routes and web.Application.add_routes + return a list of registered AbstractRoute instances. + `AbstractRouteDef.register` (and all subclasses) return a + list of registered resources registered resource + * Added properties of default ClientSession params to + ClientSession class so it is available for introspection + * Don't cancel web handler on peer disconnection, raise + `OSError` on reading/writing instead. + * Implement BaseRequest.get_extra_info() to access a protocol + transports' extra info. + * Added `ClientSession.timeout` property + * Allow use of SameSite in cookies + * Use loop.sendfile() instead of custom implementation if available + * Apply SO_REUSEADDR to test server's socket + * Use .raw_host instead of slower .host in client API + * Allow configuring the buffer size of input stream by passing + ``read_bufsize`` argument + * Add method and url attributes to TraceRequestChunkSentParams + and TraceResponseChunkReceivedParams. + * Add ClientResponse.ok property for checking status code under 400 + * Don't ceil timeouts that are smaller than 5 seconds. + * TCPSite now listens by default on all interfaces instead + of just IPv4 when `None` is passed in as the host + * Bump ``http_parser`` to 2.9.4 + * Fix keepalive connections not being closed in time + * Fix failed websocket handshake leaving connection hanging. + * Fix tasks cancellation order on exit. + The run_app task needs to be cancelled first for cleanup hooks + to run with all tasks intact. + * Don't start heartbeat until _writer is set + * Fix handling of multipart file uploads without a content type + * Preserve view handler function attributes across middlewares + * Fix the string representation of ServerDisconnectedError + * Raising RuntimeError when trying to get encoding from not read body + * Remove warning messages from noop. + * Raise ClientPayloadError if FormData re-processed. + * Fix a warning about unfinished task in web_protocol.py + * Fixed 'deflate' compression. According to RFC 2616 now. + * Fixed OverflowError on platforms with 32-bit time_t + * Fixed request.body_exists returns wrong value for methods + without body + * Fix connecting to link-local IPv6 addresses. + * Fix a problem with connection waiters that are never awaited + * Always make sure transport is not closing before reuse a + connection. + Reuse a protocol based on keepalive in headers is unreliable. + For example, uWSGI will not support keepalive even it serves a + HTTP 1.1 request, except explicitly configure uWSGI with a + ``--http-keepalive`` option. + Servers designed like uWSGI could cause aiohttp intermittently + raise a ConnectionResetException when the protocol poll runs + out and some protocol is reused. + * Handle the last CRLF correctly even if it is received via + separate TCP segment. + * Fix the register_resource function to validate route name + before splitting it so that route name can include python + keywords + * Fix resolver task is not awaited when connector is cancelled + * Fix Aiohttp doesn't return any error on invalid request methods + * Fix HEAD requests for static content. + * Fix incorrect size calculation for memoryview + * Add HTTPMove to _all__. + * Fixed the type annotations in the ``tracing`` module. + * Fix typing for multipart ``__aiter__``. + * Fix for race condition on connections in BaseConnector that + leads to exceeding the connection limit. + * Add forced UTF-8 encoding for ``application/rdap+json`` + responses. + * Fix inconsistency between Python and C http request parsers + in parsing pct-encoded URL + * Fix connection closing issue in HEAD request. + * Fix type hint on BaseRunner.addresses + (from ``List[str]`` to ``List[Any]``) +- from v3.6.3 + * Pin yarl to `<1.6.0` to avoid buggy behavior + ------------------------------------------------------------------- Tue Mar 10 08:33:15 UTC 2020 - Tomáš Chvátal diff --git a/python-aiohttp.spec b/python-aiohttp.spec index f70cc5f..743f5ba 100644 --- a/python-aiohttp.spec +++ b/python-aiohttp.spec @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 Name: python-aiohttp -Version: 3.6.2 +Version: 3.7.2 Release: 0 Summary: Asynchronous HTTP client/server framework License: Apache-2.0 @@ -31,6 +31,7 @@ BuildRequires: %{python_module async_timeout >= 3.0} BuildRequires: %{python_module attrs >= 17.3.0} BuildRequires: %{python_module chardet >= 2.0} BuildRequires: %{python_module devel >= 3.5.3} +BuildRequires: %{python_module freezegun} BuildRequires: %{python_module multidict >= 4.5} BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -43,28 +44,28 @@ Requires: python-brotlipy Requires: python-chardet >= 2.0 Requires: python-gunicorn Requires: python-multidict >= 4.5 +Requires: python-typing_extensions >= 3.6.5 Requires: python-yarl >= 1.0 Recommends: python-aiodns Recommends: python-cChardet Suggests: %{name}-doc %if 0%{?suse_version} < 1550 BuildRequires: %{python_module idna_ssl >= 1.0} -BuildRequires: %{python_module typing_extensions >= 3.6.5} Requires: python-idna_ssl -Requires: python-typing_extensions %endif # SECTION test requirements +BuildRequires: %{python_module aiodns} BuildRequires: %{python_module async_generator} BuildRequires: %{python_module brotlipy} BuildRequires: %{python_module gunicorn} BuildRequires: %{python_module pluggy} -BuildRequires: %{python_module pytest-cov} +BuildRequires: %{python_module pytest-asyncio} BuildRequires: %{python_module pytest-mock} -BuildRequires: %{python_module pytest-runner} BuildRequires: %{python_module pytest-timeout} -BuildRequires: %{python_module pytest-xdist} BuildRequires: %{python_module pytest} +BuildRequires: %{python_module re-assert} BuildRequires: %{python_module trustme} +BuildRequires: %{python_module typing_extensions >= 3.6.5} BuildRequires: %{python_module yarl >= 1.0} # /SECTION # SECTION docs @@ -94,6 +95,8 @@ HTML documentation on the API and examples for %{name}. %prep %setup -q -n aiohttp-%{version} %patch0 -p1 +# Prevent building with vendor version +rm vendor/http-parser/*.c %build export CFLAGS="%{optflags}" @@ -110,8 +113,10 @@ find %{buildroot}%{$python_sitearch} -name "*.c" -delete } %check -# rm setup.cfg -#%%python_exec setup.py test +rm setup.cfg +mv aiohttp .aiohttp +%pytest_arch -rs -k 'not (test_aiohttp_request_coroutine or test_mark_formdata_as_processed or test_aiohttp_plugin_async)' +mv .aiohttp aiohttp %files %{python_files} %license LICENSE.txt diff --git a/unbundle-http-parser.patch b/unbundle-http-parser.patch index 849657a..3cdb724 100644 --- a/unbundle-http-parser.patch +++ b/unbundle-http-parser.patch @@ -1,6 +1,7 @@ -diff -Nur aiohttp-3.6.1/aiohttp/_cparser.pxd aiohttp-3.6.1.new/aiohttp/_cparser.pxd ---- aiohttp-3.6.1/aiohttp/_cparser.pxd 2019-09-19 17:52:35.000000000 +0200 -+++ aiohttp-3.6.1.new/aiohttp/_cparser.pxd 2019-09-21 15:54:52.313964294 +0200 +Index: aiohttp-3.7.2/aiohttp/_cparser.pxd +=================================================================== +--- aiohttp-3.7.2.orig/aiohttp/_cparser.pxd ++++ aiohttp-3.7.2/aiohttp/_cparser.pxd @@ -1,7 +1,7 @@ from libc.stdint cimport uint16_t, uint32_t, uint64_t @@ -10,14 +11,15 @@ diff -Nur aiohttp-3.6.1/aiohttp/_cparser.pxd aiohttp-3.6.1.new/aiohttp/_cparser. ctypedef int (*http_data_cb) (http_parser*, const char *at, size_t length) except -1 -diff -Nur aiohttp-3.6.1/setup.py aiohttp-3.6.1.new/setup.py ---- aiohttp-3.6.1/setup.py 2019-09-19 17:52:35.000000000 +0200 -+++ aiohttp-3.6.1.new/setup.py 2019-09-21 15:55:15.423495152 +0200 -@@ -27,7 +27,6 @@ - extensions = [Extension('aiohttp._websocket', ['aiohttp/_websocket.c']), - Extension('aiohttp._http_parser', - ['aiohttp/_http_parser.c', -- 'vendor/http-parser/http_parser.c', - 'aiohttp/_find_header.c'], - define_macros=[('HTTP_PARSER_STRICT', 0)], - ), +Index: aiohttp-3.7.2/setup.py +=================================================================== +--- aiohttp-3.7.2.orig/setup.py ++++ aiohttp-3.7.2/setup.py +@@ -27,7 +27,6 @@ extensions = [ + "aiohttp._http_parser", + [ + "aiohttp/_http_parser.c", +- "vendor/http-parser/http_parser.c", + "aiohttp/_find_header.c", + ], + define_macros=[("HTTP_PARSER_STRICT", 0)],