diff --git a/README.suse b/README.suse new file mode 100644 index 0000000..a6e8212 --- /dev/null +++ b/README.suse @@ -0,0 +1,6 @@ +This package should always depend on the preferred numbered +version of tornado, so "python-tornadoX" where "X" is the +major version number. + +Currently that is python-tornado4 as other packages +transition to this format diff --git a/python-tornado.changes b/python-tornado.changes index 751c099..dd9ba59 100644 --- a/python-tornado.changes +++ b/python-tornado.changes @@ -1,45 +1,8 @@ -------------------------------------------------------------------- -Thu Sep 19 07:56:21 UTC 2019 - Tomáš Chvátal - -- Provide and obsolete python-toro that was integrated in tornado - -------------------------------------------------------------------- -Wed Sep 18 07:58:23 UTC 2019 - Tomáš Chvátal - -- Minimal version is 3.5 and as such remove 3.4 compat deps -- Change this package back to latest python tornado to use - same approach like we do with pytest - -------------------------------------------------------------------- -Tue Sep 17 11:03:40 UTC 2019 - Tomáš Chvátal - -- Provide %oldpython-tornado symbol too - -------------------------------------------------------------------- -Tue Sep 17 11:03:20 UTC 2019 - Tomáš Chvátal - -- Reduce the conflicts even more - -------------------------------------------------------------------- -Thu Sep 12 09:29:42 UTC 2019 - Tomáš Chvátal - -- Remove duplicate entry - -------------------------------------------------------------------- -Thu Sep 12 09:27:05 UTC 2019 - Tomáš Chvátal - -- Remove cruft dependencies that should not be needed - ------------------------------------------------------------------- Wed Aug 14 15:09:36 UTC 2019 - Todd R - Switch to tornado 4 temporarily. -------------------------------------------------------------------- -Fri Aug 9 17:26:02 UTC 2019 - Todd R - -- Conflicts fixes - ------------------------------------------------------------------- Fri Aug 9 16:49:01 UTC 2019 - Todd R @@ -56,555 +19,6 @@ Fri Aug 9 16:30:37 UTC 2019 - Todd R * skip-failing-tests.patch * tornado-testsuite_timeout.patch -------------------------------------------------------------------- -Fri Aug 9 15:59:16 UTC 2019 - Todd R - -- Use a different conflicts with other tornado versions. - -------------------------------------------------------------------- -Mon Jul 29 16:15:27 UTC 2019 - Todd R - -- Rename to python-tornado6 to handle version incompatibilities -- Update to 6.0.3 - + Bug fixes - * `.gen.with_timeout` always treats ``asyncio.CancelledError`` as a - ``quiet_exception`` (this improves compatibility with Python 3.8, - which changed ``CancelledError`` to a ``BaseException``). - * ``IOStream`` now checks for closed streams earlier, avoiding - spurious logged errors in some situations (mainly with websockets). -- Update to 6.0.2 - + Bug fixes - * `.WebSocketHandler.set_nodelay` works again. - * Accessing ``HTTPResponse.body`` now returns an empty byte string - instead of raising ``ValueError`` for error responses that don't - have a body (it returned None in this case in Tornado 5). -- Update to 6.0.1 - + Bug fixes - * Fixed issues with type annotations that caused errors while - importing Tornado on Python 3.5.2. -- Update to 6.0.0 - + Backwards-incompatible changes - * Python 2.7 and 3.4 are no longer supported; the minimum supported - Python version is 3.5.2. - * APIs deprecated in Tornado 5.1 have been removed. This includes the - ``tornado.stack_context`` module and most ``callback`` arguments - throughout the package. All removed APIs emitted - `DeprecationWarning` when used in Tornado 5.1, so running your - application with the ``-Wd`` Python command-line flag or the - environment variable ``PYTHONWARNINGS=d`` should tell you whether - your application is ready to move to Tornado 6.0. - * ``.WebSocketHandler.get`` is now a coroutine and must be called - accordingly in any subclasses that override this method (but note - that overriding ``get`` is not recommended; either ``prepare`` or - ``open`` should be used instead). - + General changes - * Tornado now includes type annotations compatible with ``mypy``. - These annotations will be used when type-checking your application - with ``mypy``, and may be usable in editors and other tools. - * Tornado now uses native coroutines internally, improving performance. - + tornado.auth - * All ``callback`` arguments in this package have been removed. Use - the coroutine interfaces instead. - * The ``OAuthMixin._oauth_get_user`` method has been removed. - Override `~.OAuthMixin._oauth_get_user_future` instead. - + tornado.concurrent - * The ``callback`` argument to `.run_on_executor` has been removed. - * ``return_future`` has been removed. - + tornado.gen - * Some older portions of this module have been removed. This includes - ``engine``, ``YieldPoint``, ``Callback``, ``Wait``, ``WaitAll``, - ``MultiYieldPoint``, and ``Task``. - * Functions decorated with ``@gen.coroutine`` no longer accept - ``callback`` arguments. - + tornado.httpclient - * The behavior of ``raise_error=False`` has changed. Now only - suppresses the errors raised due to completed responses with non-200 - status codes (previously it suppressed all errors). - * The ``callback`` argument to `.AsyncHTTPClient.fetch` has been removed. - + tornado.httputil - * ``HTTPServerRequest.write`` has been removed. Use the methods of - ``request.connection`` instead. - * Unrecognized ``Content-Encoding`` values now log warnings only for - content types that we would otherwise attempt to parse. - + tornado.ioloop - * ``IOLoop.set_blocking_signal_threshold``, - ``IOLoop.set_blocking_log_threshold``, ``IOLoop.log_stack``, - and ``IOLoop.handle_callback_exception`` have been removed. - * Improved performance of `.IOLoop.add_callback`. - + tornado.iostream - * All ``callback`` arguments in this module have been removed except - for `.BaseIOStream.set_close_callback`. - * ``streaming_callback`` arguments to `.BaseIOStream.read_bytes` and - `.BaseIOStream.read_until_close` have been removed. - * Eliminated unnecessary logging of "Errno 0". - + tornado.log - * Log files opened by this module are now explicitly set to UTF-8 encoding. - + tornado.netutil - * The results of ``getaddrinfo`` are now sorted by address family to - avoid partial failures and deadlocks. - + tornado.platform.twisted - * ``TornadoReactor`` and ``TwistedIOLoop`` have been removed. - + tornado.simple_httpclient - * The default HTTP client now supports the ``network_interface`` - request argument to specify the source IP for the connection. - * If a server returns a 3xx response code without a ``Location`` - header, the response is raised or returned directly instead of - trying and failing to follow the redirect. - * When following redirects, methods other than ``POST`` will no longer - be transformed into ``GET`` requests. 301 (permanent) redirects are - now treated the same way as 302 (temporary) and 303 (see other) - redirects in this respect. - * Following redirects now works with ``body_producer``. - + tornado.stack_context - * The ``tornado.stack_context`` module has been removed. - + tornado.tcpserver - * `.TCPServer.start` now supports a ``max_restarts`` argument (same as - `.fork_processes`). - + tornado.testing - * `.AsyncHTTPTestCase` now drops all references to the `.Application` - during ``tearDown``, allowing its memory to be reclaimed sooner. - * `.AsyncTestCase` now cancels all pending coroutines in ``tearDown``, - in an effort to reduce warnings from the python runtime about - coroutines that were not awaited. Note that this may cause - ``asyncio.CancelledError`` to be logged in other places. Coroutines - that expect to be running at test shutdown may need to catch this - exception. - + tornado.web - * The ``asynchronous`` decorator has been removed. - * The ``callback`` argument to `.RequestHandler.flush` has been removed. - * `.StaticFileHandler` now supports large negative values for the - ``Range`` header and returns an appropriate error for ``end > - start``. - * It is now possible to set ``expires_days`` in ``xsrf_cookie_kwargs``. - + tornado.websocket - * Pings and other messages sent while the connection is closing are - now silently dropped instead of logging exceptions. - * Errors raised by ``open()`` are now caught correctly when this method - is a coroutine. - + tornado.wsgi - * ``WSGIApplication`` and ``WSGIAdapter`` have been removed. -- Rebase patches: - * tornado-testsuite_timeout.patch - * skip-failing-tests.patch -- Remove upstream-included openssl-cert-size.patch - - -------------------------------------------------------------------- -Mon Jul 29 16:04:26 UTC 2019 - Todd R - -- Rename to python-tornado5 to handle version incompatibilities -- Update to 5.1.1 - + Bug fixes - * Fixed an case in which the `.Future` returned by - `.RequestHandler.finish` could fail to resolve. - * The `.TwitterMixin.authenticate_redirect` method works again. - * Improved error handling in the `tornado.auth` module, fixing hanging - requests when a network or other error occurs. -- Update to 5.1.0 - + Deprecation notice - * Tornado 6.0 will drop support for Python 2.7 and 3.4. The minimum - supported Python version will be 3.5.2. - * The ``tornado.stack_context`` module is deprecated and will be removed - in Tornado 6.0. The reason for this is that it is not feasible to - provide this module's semantics in the presence of ``async def`` - native coroutines. ``ExceptionStackContext`` is mainly obsolete - thanks to coroutines. ``StackContext`` lacks a direct replacement - although the new ``contextvars`` package (in the Python standard - library beginning in Python 3.7) may be an alternative. - * Callback-oriented code often relies on ``ExceptionStackContext`` to - handle errors and prevent leaked connections. In order to avoid the - risk of silently introducing subtle leaks (and to consolidate all of - Tornado's interfaces behind the coroutine pattern), ``callback`` - arguments throughout the package are deprecated and will be removed - in version 6.0. All functions that had a ``callback`` argument - removed now return a `.Future` which should be used instead. - * Where possible, deprecation warnings are emitted when any of these - deprecated interfaces is used. However, Python does not display - deprecation warnings by default. To prepare your application for - Tornado 6.0, run Python with the ``-Wd`` argument or set the - environment variable ``PYTHONWARNINGS`` to ``d``. If your - application runs on Python 3 without deprecation warnings, it should - be able to move to Tornado 6.0 without disruption. - + tornado.auth - * `.OAuthMixin._oauth_get_user_future` may now be a native coroutine. - * All ``callback`` arguments in this package are deprecated and will - be removed in 6.0. Use the coroutine interfaces instead. - * The ``OAuthMixin._oauth_get_user`` method is deprecated and will be removed in - 6.0. Override `~.OAuthMixin._oauth_get_user_future` instead. - + tornado.autoreload - * The command-line autoreload wrapper is now preserved if an internal - autoreload fires. - * The command-line wrapper no longer starts duplicated processes on windows - when combined with internal autoreload. - + tornado.concurrent - * `.run_on_executor` now returns `.Future` objects that are compatible - with ``await``. - * The ``callback`` argument to `.run_on_executor` is deprecated and will - be removed in 6.0. - * ``return_future`` is deprecated and will be removed in 6.0. - + tornado.gen - * Some older portions of this module are deprecated and will be removed - in 6.0. This includes ``engine``, ``YieldPoint``, ``Callback``, - ``Wait``, ``WaitAll``, ``MultiYieldPoint``, and ``Task``. - * Functions decorated with ``@gen.coroutine`` will no longer accept - ``callback`` arguments in 6.0. - + tornado.httpclient - * The behavior of ``raise_error=False`` is changing in 6.0. Currently - it suppresses all errors; in 6.0 it will only suppress the errors - raised due to completed responses with non-200 status codes. - * The ``callback`` argument to `.AsyncHTTPClient.fetch` is deprecated - and will be removed in 6.0. - * `tornado.httpclient.HTTPError` has been renamed to - `.HTTPClientError` to avoid ambiguity in code that also has to deal - with `tornado.web.HTTPError`. The old name remains as an alias. - * ``tornado.curl_httpclient`` now supports non-ASCII characters in - username and password arguments. - * ``.HTTPResponse.request_time`` now behaves consistently across - ``simple_httpclient`` and ``curl_httpclient``, excluding time spent - in the ``max_clients`` queue in both cases (previously this time was - included in ``simple_httpclient`` but excluded in - ``curl_httpclient``). In both cases the time is now computed using - a monotonic clock where available. - * `.HTTPResponse` now has a ``start_time`` attribute recording a - wall-clock (`time.time`) timestamp at which the request started - (after leaving the ``max_clients`` queue if applicable). - + tornado.httputil - * `.parse_multipart_form_data` now recognizes non-ASCII filenames in - RFC 2231/5987 (``filename*=``) format. - * ``HTTPServerRequest.write`` is deprecated and will be removed in 6.0. Use - the methods of ``request.connection`` instead. - * Malformed HTTP headers are now logged less noisily. - + tornado.ioloop - * `.PeriodicCallback` now supports a ``jitter`` argument to randomly - vary the timeout. - * ``IOLoop.set_blocking_signal_threshold``, - ``IOLoop.set_blocking_log_threshold``, ``IOLoop.log_stack``, - and ``IOLoop.handle_callback_exception`` are deprecated and will - be removed in 6.0. - * Fixed a `KeyError` in `.IOLoop.close` when `.IOLoop` objects are - being opened and closed in multiple threads. - + tornado.iostream - * All ``callback`` arguments in this module are deprecated except for - `.BaseIOStream.set_close_callback`. They will be removed in 6.0. - * ``streaming_callback`` arguments to `.BaseIOStream.read_bytes` and - `.BaseIOStream.read_until_close` are deprecated and will be removed - in 6.0. - + tornado.netutil - * Improved compatibility with GNU Hurd. - + tornado.options - * `tornado.options.parse_config_file` now allows setting options to - strings (which will be parsed the same way as - `tornado.options.parse_command_line`) in addition to the specified - type for the option. - + tornado.platform.twisted - * ``TornadoReactor`` and ``TwistedIOLoop`` are deprecated and will be - removed in 6.0. Instead, Tornado will always use the asyncio event loop - and twisted can be configured to do so as well. -``tornado.stack_context`` - * The ``tornado.stack_context`` module is deprecated and will be removed - in 6.0. - + tornado.testing - * `.AsyncHTTPTestCase.fetch` now takes a ``raise_error`` argument. - This argument has the same semantics as `.AsyncHTTPClient.fetch`, - but defaults to false because tests often need to deal with non-200 - responses (and for backwards-compatibility). - * The `.AsyncTestCase.stop` and `.AsyncTestCase.wait` methods are - deprecated. - + tornado.web - * New method `.RequestHandler.detach` can be used from methods - that are not decorated with ``@asynchronous`` (the decorator - was required to use ``self.request.connection.detach()``. - * `.RequestHandler.finish` and `.RequestHandler.render` now return - ``Futures`` that can be used to wait for the last part of the - response to be sent to the client. - * `.FallbackHandler` now calls ``on_finish`` for the benefit of - subclasses that may have overridden it. - * The ``asynchronous`` decorator is deprecated and will be removed in 6.0. - * The ``callback`` argument to `.RequestHandler.flush` is deprecated - and will be removed in 6.0. - + tornado.websocket - * When compression is enabled, memory limits now apply to the - post-decompression size of the data, protecting against DoS attacks. - * `.websocket_connect` now supports subprotocols. - * `.WebSocketHandler` and `.WebSocketClientConnection` now have - ``selected_subprotocol`` attributes to see the subprotocol in use. - * The `.WebSocketHandler.select_subprotocol` method is now called with - an empty list instead of a list containing an empty string if no - subprotocols were requested by the client. - * `.WebSocketHandler.open` may now be a coroutine. - * The ``data`` argument to `.WebSocketHandler.ping` is now optional. - * Client-side websocket connections no longer buffer more than one - message in memory at a time. - * Exception logging now uses `.RequestHandler.log_exception`. - + tornado.wsgi - * ``WSGIApplication`` and ``WSGIAdapter`` are deprecated and will be removed - in Tornado 6.0. -- Update to 5.0.2 - + Bug fixes - * Fixed a memory leak when `.IOLoop` objects are created and destroyed. - * If `.AsyncTestCase.get_new_ioloop` returns a reference to a - preexisting event loop (typically when it has been overridden to - return `.IOLoop.current()`), the test's ``tearDown`` method will not - close this loop. - * Fixed a confusing error message when the synchronous `.HTTPClient` - fails to initialize because an event loop is already running. - * `.PeriodicCallback` no longer executes twice in a row due to - backwards clock adjustments. -- Update to 5.0.1 - + Bug fix - * This release restores support for versions of Python 3.4 prior to - 3.4.4. This is important for compatibility with Debian Jessie which - has 3.4.2 as its version of Python 3. - + Highlights - * The focus of this release is improving integration with `asyncio`. - On Python 3, the `.IOLoop` is always a wrapper around the `asyncio` - event loop, and `asyncio.Future` and `asyncio.Task` are used instead - of their Tornado counterparts. This means that libraries based on - `asyncio` can be mixed relatively seamlessly with those using - Tornado. While care has been taken to minimize the disruption from - this change, code changes may be required for compatibility with - Tornado 5.0, as detailed in the following section. - * Tornado 5.0 supports Python 2.7.9+ and 3.4+. Python 2.7 and 3.4 are - deprecated and support for them will be removed in Tornado 6.0, - which will require Python 3.5+. -+ Backwards-compatibility notes - * Python 3.3 is no longer supported. - * Versions of Python 2.7 that predate the `ssl` module update are no - longer supported. (The `ssl` module was updated in version 2.7.9, - although in some distributions the updates are present in builds - with a lower version number. Tornado requires `ssl.SSLContext`, - `ssl.create_default_context`, and `ssl.match_hostname`) - * Versions of Python 3.5 prior to 3.5.2 are no longer supported due to - a change in the async iterator protocol in that version. - * The ``trollius`` project (`asyncio` backported to Python 2) is no - longer supported. - * `tornado.concurrent.Future` is now an alias for `asyncio.Future` - when running on Python 3. This results in a number of minor - behavioral changes: - > `.Future` objects can only be created while there is a current - `.IOLoop` - > The timing of callbacks scheduled with - ``Future.add_done_callback`` has changed. - `tornado.concurrent.future_add_done_callback` can be used to - make the behavior more like older versions of Tornado (but not - identical). Some of these changes are also present in the Python - 2 version of `tornado.concurrent.Future` to minimize the - difference between Python 2 and 3. - > Cancellation is now partially supported, via - `asyncio.Future.cancel`. A canceled `.Future` can no longer have - its result set. Applications that handle `~asyncio.Future` - objects directly may want to use - `tornado.concurrent.future_set_result_unless_cancelled`. In - native coroutines, cancellation will cause an exception to be - raised in the coroutine. - > The ``exc_info`` and ``set_exc_info`` methods are no longer - present. Use `tornado.concurrent.future_set_exc_info` to replace - the latter, and raise the exception with - `~asyncio.Future.result` to replace the former. - * ``io_loop`` arguments to many Tornado functions have been removed. - Use `.IOLoop.current()` instead of passing `.IOLoop` objects - explicitly. - * On Python 3, `.IOLoop` is always a wrapper around the `asyncio` - event loop. ``IOLoop.configure`` is effectively removed on Python 3 - (for compatibility, it may be called to redundantly specify the - `asyncio`-backed `.IOLoop`) - * `.IOLoop.instance` is now a deprecated alias for `.IOLoop.current`. - Applications that need the cross-thread communication behavior - facilitated by `.IOLoop.instance` should use their own global variable - instead. - + Other notes - * The ``futures`` (`concurrent.futures` backport) package is now required - on Python 2.7. - * The ``certifi`` and ``backports.ssl-match-hostname`` packages are no - longer required on Python 2.7. - * Python 3.6 or higher is recommended, because it features more - efficient garbage collection of `asyncio.Future` objects. - + tornado.auth - * `.GoogleOAuth2Mixin` now uses a newer set of URLs. - + tornado.autoreload - * On Python 3, uses ``__main__.__spec`` to more reliably reconstruct - the original command line and avoid modifying ``PYTHONPATH``. - * The ``io_loop`` argument to `tornado.autoreload.start` has been removed. - + tornado.concurrent - * `tornado.concurrent.Future` is now an alias for `asyncio.Future` - when running on Python 3. See "Backwards-compatibility notes" for - more. - * Setting the result of a ``Future`` no longer blocks while callbacks - are being run. Instead, the callbacks are scheduled on the next - `.IOLoop` iteration. - * The deprecated alias ``tornado.concurrent.TracebackFuture`` has been - removed. - * `tornado.concurrent.chain_future` now works with all three kinds of - ``Futures`` (Tornado, `asyncio`, and `concurrent.futures`) - * The ``io_loop`` argument to `tornado.concurrent.run_on_executor` has - been removed. - * New functions `.future_set_result_unless_cancelled`, - `.future_set_exc_info`, and `.future_add_done_callback` help mask - the difference between `asyncio.Future` and Tornado's previous - ``Future`` implementation. - + tornado.curl_httpclient - * Improved debug logging on Python 3. - * The ``time_info`` response attribute now includes ``appconnect`` in - addition to other measurements. - * Closing a `.CurlAsyncHTTPClient` now breaks circular references that - could delay garbage collection. - * The ``io_loop`` argument to the `.CurlAsyncHTTPClient` constructor - has been removed. - + tornado.gen - * ``tornado.gen.TimeoutError`` is now an alias for - `tornado.util.TimeoutError`. - * Leak detection for ``Futures`` created by this module now attributes - them to their proper caller instead of the coroutine machinery. - * Several circular references that could delay garbage collection have - been broken up. - * On Python 3, `asyncio.Task` is used instead of the Tornado coroutine - runner. This improves compatibility with some `asyncio` libraries - and adds support for cancellation. - * The ``io_loop`` arguments to ``YieldFuture`` and `.with_timeout` have - been removed. - + tornado.httpclient - * The ``io_loop`` argument to all `.AsyncHTTPClient` constructors has - been removed. - + tornado.httpserver - * It is now possible for a client to reuse a connection after sending - a chunked request. - * If a client sends a malformed request, the server now responds with - a 400 error instead of simply closing the connection. - * ``Content-Length`` and ``Transfer-Encoding`` headers are no longer - sent with 1xx or 204 responses (this was already true of 304 - responses). - * When closing a connection to a HTTP/1.1 client, the ``Connection: - close`` header is sent with the response. - * The ``io_loop`` argument to the `.HTTPServer` constructor has been - removed. - * If more than one ``X-Scheme`` or ``X-Forwarded-Proto`` header is - present, only the last is used. - + tornado.httputil - * The string representation of `.HTTPServerRequest` objects (which are - sometimes used in log messages) no longer includes the request - headers. - * New function `.qs_to_qsl` converts the result of - `urllib.parse.parse_qs` to name-value pairs. - + tornado.ioloop - * ``tornado.ioloop.TimeoutError`` is now an alias for - `tornado.util.TimeoutError`. - * `.IOLoop.instance` is now a deprecated alias for `.IOLoop.current`. - * `.IOLoop.install` and `.IOLoop.clear_instance` are deprecated. - * The ``IOLoop.initialized`` method has been removed. - * On Python 3, the `asyncio`-backed `.IOLoop` is always used and - alternative `.IOLoop` implementations cannot be configured. - `.IOLoop.current` and related methods pass through to - `asyncio.get_event_loop`. - * `~.IOLoop.run_sync` cancels its argument on a timeout. This - results in better stack traces (and avoids log messages about leaks) - in native coroutines. - * New methods `.IOLoop.run_in_executor` and - `.IOLoop.set_default_executor` make it easier to run functions in - other threads from native coroutines (since - `concurrent.futures.Future` does not support ``await``). - * ``PollIOLoop`` (the default on Python 2) attempts to detect misuse - of `.IOLoop` instances across `os.fork`. - * The ``io_loop`` argument to `.PeriodicCallback` has been removed. - * It is now possible to create a `.PeriodicCallback` in one thread - and start it in another without passing an explicit event loop. - * The ``IOLoop.set_blocking_signal_threshold`` and - ``IOLoop.set_blocking_log_threshold`` methods are deprecated because - they are not implemented for the `asyncio` event loop`. Use the - ``PYTHONASYNCIODEBUG=1`` environment variable instead. - * `.IOLoop.clear_current` now works if it is called before any - current loop is established. - + tornado.iostream - * The ``io_loop`` argument to the `.IOStream` constructor has been removed. - * New method `.BaseIOStream.read_into` provides a minimal-copy alternative to - `.BaseIOStream.read_bytes`. - * `.BaseIOStream.write` is now much more efficient for very large amounts of data. - * Fixed some cases in which ``IOStream.error`` could be inaccurate. - * Writing a `memoryview` can no longer result in "BufferError: - Existing exports of data: object cannot be re-sized". - + tornado.locks - * As a side effect of the ``Future`` changes, waiters are always - notified asynchronously with respect to `.Condition.notify`. - + tornado.netutil - * The default `.Resolver` now uses `.IOLoop.run_in_executor`. - `.ExecutorResolver`, `.BlockingResolver`, and `.ThreadedResolver` are - deprecated. - * The ``io_loop`` arguments to `.add_accept_handler`, - `.ExecutorResolver`, and `.ThreadedResolver` have been removed. - * `.add_accept_handler` returns a callable which can be used to remove - all handlers that were added. - * `.OverrideResolver` now accepts per-family overrides. - + tornado.options - * Duplicate option names are now detected properly whether they use - hyphens or underscores. - + tornado.platform.asyncio - * `.AsyncIOLoop` and `.AsyncIOMainLoop` are now used automatically - when appropriate; referencing them explicitly is no longer - recommended. - * Starting an `.IOLoop` or making it current now also sets the - `asyncio` event loop for the current thread. Closing an `.IOLoop` - closes the corresponding `asyncio` event loop. - * `.to_tornado_future` and `.to_asyncio_future` are deprecated since - they are now no-ops. - * `~.AnyThreadEventLoopPolicy` can now be used to easily allow the creation - of event loops on any thread (similar to Tornado's prior policy). - + tornado.platform.caresresolver - * The ``io_loop`` argument to `.CaresResolver` has been removed. - + tornado.platform.twisted - * The ``io_loop`` arguments to ``TornadoReactor``, `.TwistedResolver`, - and ``tornado.platform.twisted.install`` have been removed. - + tornado.process - * The ``io_loop`` argument to the `.Subprocess` constructor and - `.Subprocess.initialize` has been removed. - + tornado.routing - * A default 404 response is now generated if no delegate is found for - a request. - + tornado.simple_httpclient - * The ``io_loop`` argument to `.SimpleAsyncHTTPClient` has been removed. - * TLS is now configured according to `ssl.create_default_context` by - default. - + tornado.tcpclient - * The ``io_loop`` argument to the `.TCPClient` constructor has been - removed. - * `.TCPClient.connect` has a new ``timeout`` argument. - + tornado.tcpserver - * The ``io_loop`` argument to the `.TCPServer` constructor has been - removed. - * `.TCPServer` no longer logs ``EBADF`` errors during shutdown. - + tornado.testing - * The deprecated ``tornado.testing.get_unused_port`` and - ``tornado.testing.LogTrapTestCase`` have been removed. - * `.AsyncHTTPTestCase.fetch` now supports absolute URLs. - * `.AsyncHTTPTestCase.fetch` now connects to ``127.0.0.1`` - instead of ``localhost`` to be more robust against faulty - ipv6 configurations. - + tornado.util - * `tornado.util.TimeoutError` replaces ``tornado.gen.TimeoutError`` - and ``tornado.ioloop.TimeoutError``. - * `.Configurable` now supports configuration at multiple levels of an - inheritance hierarchy. - + tornado.web - * `.RequestHandler.set_status` no longer requires that the given - status code appear in `http.client.responses`. - * It is no longer allowed to send a body with 1xx or 204 responses. - * Exception handling now breaks up reference cycles that could delay - garbage collection. - * `.RedirectHandler` now copies any query arguments from the request - to the redirect location. - * If both ``If-None-Match`` and ``If-Modified-Since`` headers are present - in a request to `.StaticFileHandler`, the latter is now ignored. - + tornado.websocket - * The C accelerator now operates on multiple bytes at a time to - improve performance. - * Requests with invalid websocket headers now get a response with - status code 400 instead of a closed connection. - * `.WebSocketHandler.write_message` now raises `.WebSocketClosedError` if - the connection closes while the write is in progress. - * The ``io_loop`` argument to `.websocket_connect` has been removed. -- Rebase patches: - * tornado-testsuite_timeout.patch - * skip-failing-tests.patch -- Remove upstream-included asyncio.patch - ------------------------------------------------------------------- Thu Mar 7 11:27:44 UTC 2019 - Tomáš Chvátal diff --git a/python-tornado.spec b/python-tornado.spec index 1a3ee6c..9d9e285 100644 --- a/python-tornado.spec +++ b/python-tornado.spec @@ -17,33 +17,19 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define skip_python2 1 Name: python-tornado -Version: 6.0.3 +Version: 4.5.3 Release: 0 Summary: Open source version of scalable, non-blocking web server that power FriendFeed License: Apache-2.0 +Source0: README.suse Group: Development/Languages/Python -URL: http://www.tornadoweb.org -Source: https://files.pythonhosted.org/packages/source/t/tornado/tornado-%{version}.tar.gz -Patch1: tornado-testsuite_timeout.patch -Patch2: skip-failing-tests.patch -BuildRequires: %{python_module base >= 3.5} -BuildRequires: %{python_module certifi} -BuildRequires: %{python_module devel} -BuildRequires: %{python_module pycurl} -BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module simplejson} -BuildRequires: fdupes +Url: http://www.tornadoweb.org +BuildRequires: %{pythons} BuildRequires: python-rpm-macros -Requires: python -Requires: python-simplejson -Recommends: python-Twisted -Recommends: python-pycares -Recommends: python-pycurl -Recommends: python-service_identity -Provides: python-toro = %{version} -Obsoletes: python-toro < %{version} +Requires: python-tornado-impl = %{version} +Requires: python-tornado-impl = %{version} +BuildArch: noarch %python_subpackages %description @@ -63,36 +49,16 @@ FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem.) %prep -%setup -q -n tornado-%{version} -# Fix non-executable script rpmlint issue: -find demos tornado -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \; -%patch1 -p1 -%patch2 -p1 - -%pre -# remove egg-info _file_, being replaced by an egg-info directory -if [ -f %{python_sitearch}/tornado-%{version}-py%{python_version}.egg-info ]; then - rm %{python_sitearch}/tornado-%{version}-py%{python_version}.egg-info -fi +%setup -q -T -c +cp %{SOURCE0} . %build -%python_build +# None %install -%python_install -%fdupes -s demos -%python_expand rm -r %{buildroot}%{$python_sitearch}/tornado/test -%python_expand %fdupes %{buildroot}%{$python_sitearch} - -%check -export ASYNC_TEST_TIMEOUT=30 -export PYTHONDONTWRITEBYTECODE=1 -%python_exec -m tornado.test.runtests +# None %files %{python_files} -%license LICENSE -%doc demos -%{python_sitearch}/tornado -%{python_sitearch}/tornado-%{version}-py*.egg-info +%doc README.suse %changelog diff --git a/skip-failing-tests.patch b/skip-failing-tests.patch deleted file mode 100644 index bb7a1df..0000000 --- a/skip-failing-tests.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Benjamin Drung -Date: Tue, 18 Dec 2018 18:35:28 +0100 -Subject: [PATCH] Skip failing openssl 1.1.1 tests (for now) - -Four tests fail when using openssl 1.1.1 with TLS 1.3 support. Disable -these tests for now. Please fix the bug and re-enable them again. - -Bug: https://github.com/tornadoweb/tornado/issues/2536 ---- - tornado/test/iostream_test.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/tornado/test/iostream_test.py b/tornado/test/iostream_test.py -index 56fffe6..b1d5f5d 100644 ---- a/tornado/test/iostream_test.py -+++ b/tornado/test/iostream_test.py -@@ -166,6 +166,7 @@ class TestReadWriteMixin(object): - raise NotImplementedError - - @gen_test -+ @unittest.skip("Failing when using openssl 1.1.1 with TLS 1.3 support. See https://github.com/tornadoweb/tornado/issues/2536") - def test_write_zero_bytes(self): - # Attempting to write zero bytes should run the callback without - # going into an infinite loop. -@@ -217,6 +218,7 @@ class TestReadWriteMixin(object): - rs.close() - - @gen_test -+ @unittest.skip("Failing when using openssl 1.1.1 with TLS 1.3 support. See https://github.com/tornadoweb/tornado/issues/2536") - def test_read_until_close_after_close(self): - # Similar to test_delayed_close_callback, but read_until_close takes - # a separate code path so test it separately. -@@ -736,6 +738,7 @@ class TestIOStreamMixin(object): - @skipIfNonUnix - @skipPypy3V58 - @gen_test -+ @unittest.skip("Failing when using openssl 1.1.1 with TLS 1.3 support. See https://github.com/tornadoweb/tornado/issues/2536") - def test_inline_read_error(self): - # An error on an inline read is raised without logging (on the - # assumption that it will eventually be noticed or logged further diff --git a/tornado-6.0.3.tar.gz b/tornado-6.0.3.tar.gz deleted file mode 100644 index 381d2d0..0000000 --- a/tornado-6.0.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9 -size 482444 diff --git a/tornado-testsuite_timeout.patch b/tornado-testsuite_timeout.patch deleted file mode 100644 index 1b8bb1b..0000000 --- a/tornado-testsuite_timeout.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- tornado-6.0.3/tornado/test/testing_test.py 2018/03/16 13:18:44 1.1 -+++ tornado-6.0.3/tornado/test/testing_test.py 2018/03/16 13:18:56 -@@ -54,7 +54,7 @@ - self.io_loop.add_timeout(self.io_loop.time() + 0.00, self.stop) - self.wait(timeout=0.02) - self.io_loop.add_timeout(self.io_loop.time() + 0.03, self.stop) -- self.wait(timeout=0.15) -+ self.wait(timeout=0.25) - - - class LeakTest(AsyncTestCase): -@@ -262,7 +262,7 @@ - self.finished = True - - def test_timeout_environment_variable(self): -- @gen_test(timeout=0.5) -+ @gen_test(timeout=0.9) - def test_long_timeout(self): - yield gen.sleep(0.25) -