From f810c55a4fa0faa2cb7ad10e9ca0649d7174fd3fb0210a02a4eaaa2da848143d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 1 Oct 2019 13:26:17 +0000 Subject: [PATCH] osc copypac from project:devel:languages:python package:python-tornado revision:115, using expand OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-tornado6?expand=0&rev=1 --- .gitattributes | 24 + .gitignore | 4 + python-tornado.changes | 1183 +++++++++++++++++++++++++++++++ python-tornado.spec | 98 +++ skip-failing-tests.patch | 40 ++ tornado-6.0.3.tar.gz | 3 + tornado-testsuite_timeout.patch | 20 + 7 files changed, 1372 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 python-tornado.changes create mode 100644 python-tornado.spec create mode 100644 skip-failing-tests.patch create mode 100644 tornado-6.0.3.tar.gz create mode 100644 tornado-testsuite_timeout.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..37a8eaa --- /dev/null +++ b/.gitattributes @@ -0,0 +1,24 @@ +*.changes merge=merge-changes +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b731c3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.obscpio +*.osc +_build.* +.pbuild diff --git a/python-tornado.changes b/python-tornado.changes new file mode 100644 index 0000000..751c099 --- /dev/null +++ b/python-tornado.changes @@ -0,0 +1,1183 @@ +------------------------------------------------------------------- +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 + +- Fix package name + +------------------------------------------------------------------- +Fri Aug 9 16:30:37 UTC 2019 - Todd R + +- Split tornado versions into their own packages. + This package now depends on the current preferred version. +- Remove patches since there is no longer a source here: + * asyncio.patch + * openssl-cert-size.patch + * 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 + +- Fix fdupes macro expansion + +------------------------------------------------------------------- +Wed Jan 30 11:13:17 UTC 2019 - Tomáš Chvátal + +- Add patch to skip tests failing with openss-1.1.1; this happens + only when using TLS 1.3 so if user wants to use tornado they + can hand disable the TLS and continue: + * skip-failing-tests.patch + +------------------------------------------------------------------- +Mon Jan 28 18:28:14 UTC 2019 - Jonathan Brownell + +- Import necessary dependencies on Red Hat platforms + +------------------------------------------------------------------- +Thu Jan 10 14:50:55 UTC 2019 - Tomáš Chvátal + +- Add patch really fixing the tests/tool to work on py3.7: + * asyncio.patch +- Add patch to enlarge key size for openssl 1.1.1: + * openssl-cert-size.patch + +------------------------------------------------------------------- +Thu Jan 10 14:47:39 UTC 2019 - Tomáš Chvátal + +- Drop patch tornado-async-deprecations.patch that does not fix + stuff on py3.7 + +------------------------------------------------------------------- +Thu May 10 16:35:09 UTC 2018 - toddrme2178@gmail.com + +- Fix building on SLE + +------------------------------------------------------------------- +Wed Apr 18 17:10:06 UTC 2018 - toddrme2178@gmail.com + +- Don't require backport_abc for python >= 3.5 + +------------------------------------------------------------------- +Fri Mar 16 14:46:55 CET 2018 - ro@suse.de + +- add tornado-testsuite_timeout.patch (bsc#1085661) + extend timeouts in testsuite to allow successful build on ppc64le + +------------------------------------------------------------------- +Wed Mar 7 15:38:39 UTC 2018 - aplanas@suse.com + +- Allows Recommends and Suggest in Fedora + +------------------------------------------------------------------- +Tue Feb 27 18:38:27 UTC 2018 - aplanas@suse.com + +- Recommends only for SUSE + +------------------------------------------------------------------- +Tue Feb 13 19:19:32 UTC 2018 - toddrme2178@gmail.com + +- Update to version 4.5.3 + + tornado.curl_httpclient + * Improved debug logging on Python 3. + + tornado.httpserver + * ``Content-Length`` and ``Transfer-Encoding`` headers are no longer + sent with 1xx or 204 responses (this was already true of 304 + responses). + * Reading chunked requests no longer leaves the connection in a broken + state. + + tornado.iostream + * Writing a `memoryview` can no longer result in "BufferError: + Existing exports of data: object cannot be re-sized". + + tornado.options + * Duplicate option names are now detected properly whether they use + hyphens or underscores. + + tornado.testing + * `.AsyncHTTPTestCase.fetch` now uses ``127.0.0.1`` instead of + ``localhost``, improving compatibility with systems that have + partially-working ipv6 stacks. + + tornado.web + * It is no longer allowed to send a body with 1xx or 204 responses. + + tornado.websocket + * Requests with invalid websocket headers now get a response with + status code 400 instead of a closed connection. + +------------------------------------------------------------------- +Thu Jan 4 15:56:26 UTC 2018 - jmatejek@suse.com + +- only buildrequire futures / singledispatch if python2 is present + (fixes build in environments that don't have python2 at all) + +------------------------------------------------------------------- +Wed Dec 6 13:59:31 UTC 2017 - tchvatal@suse.com + +- Distribute license file + +------------------------------------------------------------------- +Wed Nov 22 22:55:01 UTC 2017 - arun@gmx.de + +- specfile: + * removed tornado-configtest.patch: fixed upstream + * update tornado-async-deprecation.patch (partly integrated) + +- update to version 4.5.2: + * Tornado now sets the FD_CLOEXEC flag on all file descriptors it + creates. This prevents hanging client connections and resource + leaks when the tornado.autoreload module (or + Application(debug=True)) is used. + +- changes from version 4.5.1: + * tornado.log + + Improved detection of libraries for colorized logging. + * tornado.httputil + + url_concat once again treats None as equivalent to an empty + sequence. + +- changes from version 4.5.0: + * long changelog, see http://www.tornadoweb.org/en/stable/releases/v4.5.0.html + for details + +------------------------------------------------------------------- +Tue Oct 17 10:03:04 UTC 2017 - opensuse_buildservice@ojkastl.de + +- added %{python_module backports.ssl_match_hostname} + on SLES12 GA aka SP0, to avoid build errors +- explicit BuildRequires for certifi on SLES12 GA aka SP0 only + +------------------------------------------------------------------- +Tue Oct 17 09:24:48 UTC 2017 - opensuse_buildservice@ojkastl.de + +- added certifi to BuildRequires, to fix 'ImportError: No module named certifi' + +------------------------------------------------------------------- +Wed Aug 9 19:03:51 UTC 2017 - toddrme2178@gmail.com + +- Fix tests + +------------------------------------------------------------------- +Fri Jun 23 17:41:45 UTC 2017 - jmatejek@suse.com + +- in %pre, remove egg-info file if installed, because it's being + replaced by a directory (bsc#1035604) + +------------------------------------------------------------------- +Tue Jun 13 14:57:15 UTC 2017 - jmatejek@suse.com + +- replace the complicated condition for requiring backports.ssl_match_hostname + with unconditional requirement for Python >= 2.7.9 + +------------------------------------------------------------------- +Wed May 31 19:25:46 UTC 2017 - dmueller@suse.com + +- require python-backports.ssl_hostname only on python 2.x + +------------------------------------------------------------------- +Fri Apr 7 19:59:28 UTC 2017 - toddrme2178@gmail.com + +- update to 4.4.3 + * The `tornado.auth` module has been updated for compatibility with `a + change to Facebook's access_token endpoint. + +------------------------------------------------------------------- +Thu Apr 6 15:30:33 UTC 2017 - jmatejek@suse.com + +- tornado-configtest.patch: fix test failure when __file__ is not absolute +- tornado-async-deprecations.patch: filter test failures due to async + deprecation warnings, to fix build on python 3.6 +- update for multipython build +- enable test suite + +------------------------------------------------------------------- +Mon Nov 14 14:39:26 UTC 2016 - dmueller@suse.com + +- update to 4.4.2: + * Tornado now requires Python 2.7 or 3.3+; versions 2.6 and 3.2 are no + longer supported. Pypy3 is still supported even though its latest + release is mainly based on Python 3.2. + * The `monotonic `_ package is + now supported as an alternative to `Monotime + `_ for monotonic clock support + on Python 2. + +------------------------------------------------------------------- +Wed Dec 23 12:48:58 UTC 2015 - jmassaguerpla@suse.com + +- add singledispatch and backports_abc dependencies + +as stated in docs/releases/v4.3.0.rst + + +* Tornado has several new dependencies: (...) + ``singledispatch`` on all Python versions prior to 3.4 (This was an + optional dependency in prior versions of Tornado, and is now + mandatory), and ``backports_abc>=0.4`` on all versions prior to + 3.5 + +Since this python module works with python version >= 2.7.9 (otherwise it would be called python3-tornado, afaiu) + +------------------------------------------------------------------- +Wed Dec 9 11:26:45 UTC 2015 - toddrme2178@gmail.com + +- Switch to pypi tarball. It uses "4.3" instead of "4.3.0" + +------------------------------------------------------------------- +Tue Dec 8 10:51:12 UTC 2015 - kkaempf@suse.com + +- Update to 4.3.0 + - The new async/await keywords in Python 3.5 are supported. + + Deprecation notice + - This will be the last release of Tornado to support Python 2.6 + or 3.2. + + See http://www.tornadoweb.org/en/stable/releases/v4.3.0.html + +------------------------------------------------------------------- +Sat Oct 17 11:45:08 UTC 2015 - mc@suse.com + +- fix macro +- use package name python-backports-ssl_match_hostname on rhel7 +- define py_ver where it does not exist + +------------------------------------------------------------------- +Wed Sep 30 09:11:37 UTC 2015 - fcastelli@suse.com + +- python-certifi is an optional depedency when python 2.7.9 is available. + +------------------------------------------------------------------- +Sat Sep 26 10:21:28 UTC 2015 - toddrme2178@gmail.com + +- python-certifi is a hard dependency, not an optional one. + +------------------------------------------------------------------- +Wed Sep 23 10:39:53 UTC 2015 - tampakrap@opensuse.org + +- Remove python-Twisted BuildRequires. It causes a python-cryptography build + dependency, which is currently broken on SLE11SP4 due to old OpenSSL version + +------------------------------------------------------------------- +Thu Sep 10 19:39:18 UTC 2015 - aboe76@gmail.com + +- Update to 4.2.1: + Security fix: + * This release fixes a path traversal vulnerability in StaticFileHandler, + in which files whose names started with the static_path directory + but were not actually in that directory could be accessed. +- Update to 4.2: + Backwards-compatibility: + * SSLIOStream.connect and IOStream.start_tls now + validate certificates by default. + * Certificate validation will now use the system CA root certificates + instead of certifi when possible (i.e. Python 2.7.9+ or 3.4+). + This includes IOStream and simple_httpclient, but not curl_httpclient + * The default SSL configuration has become stricter, + using ssl.create_default_context where available on the client side. + (On the server side, applications are encouraged to migrate from + the ssl_options dict-based API to pass an ssl.SSLContext instead). + * The deprecated classes in the tornado.auth module, GoogleMixin, + FacebookMixin, and FriendFeedMixin have been removed. + * see more details: + http://www.tornadoweb.org/en/stable/releases/v4.2.0.html + +------------------------------------------------------------------- +Wed Aug 12 14:29:56 UTC 2015 - seife+obs@b1-systems.com + +- fix build with non-SUSE distributions + +------------------------------------------------------------------- +Wed Apr 22 13:21:19 UTC 2015 - mcihar@suse.cz + +- Update to 4.1: + * If a `.Future` contains an exception but that exception is never + examined or re-raised (e.g. by yielding the `.Future`), a stack + trace will be logged when the `.Future` is garbage-collected. + * New class `tornado.gen.WaitIterator` provides a way to iterate + over ``Futures`` in the order they resolve. + * The `tornado.websocket` module now supports compression via the + "permessage-deflate" extension. Override + `.WebSocketHandler.get_compression_options` to enable on the server + side, and use the ``compression_options`` keyword argument to + `.websocket_connect` on the client side. + * When the appropriate packages are installed, it is possible to yield + `asyncio.Future` or Twisted ``Defered`` objects in Tornado coroutines. + +------------------------------------------------------------------- +Thu Oct 2 16:05:54 UTC 2014 - toddrme2178@gmail.com + +- Remove python-pycares BuildRequires since it is optional and + not in openSUSE:Factory + +------------------------------------------------------------------- +Wed Oct 1 15:23:31 UTC 2014 - toddrme2178@gmail.com + +- Update to version 4.0.2 + + Bug fixes + * Fixed a bug that could sometimes cause a timeout to fire after being + cancelled. + * `.AsyncTestCase` once again passes along arguments to test methods, + making it compatible with extensions such as Nose's test generators. + * `.StaticFileHandler` can again compress its responses when gzip is enabled. + * ``simple_httpclient`` passes its ``max_buffer_size`` argument to the + underlying stream. + * Fixed a reference cycle that can lead to increased memory consumption. + * `.add_accept_handler` will now limit the number of times it will call + `~socket.socket.accept` per `.IOLoop` iteration, addressing a potential + starvation issue. + * Improved error handling in `.IOStream.connect` (primarily for FreeBSD + systems) +- Update to version 4.0.1 + + Bug fixes + * The build will now fall back to pure-python mode if the C extension + fails to build for any reason (previously it would fall back for some + errors but not others). + * `.IOLoop.call_at` and `.IOLoop.call_later` now always return + a timeout handle for use with `.IOLoop.remove_timeout`. + * If any callback of a `.PeriodicCallback` or `.IOStream` returns a + `.Future`, any error raised in that future will now be logged + (similar to the behavior of `.IOLoop.add_callback`). + * Fixed an exception in client-side websocket connections when the + connection is closed. + * ``simple_httpclient`` once again correctly handles 204 status + codes with no content-length header. + * Fixed a regression in ``simple_httpclient`` that would result in + timeouts for certain kinds of errors. +- Update to version 4.0.0 + + Highlights + * The `tornado.web.stream_request_body` decorator allows large files to be + uploaded with limited memory usage. + * Coroutines are now faster and are used extensively throughout Tornado itself. + More methods now return `Futures <.Future>`, including most `.IOStream` + methods and `.RequestHandler.flush`. + * Many user-overridden methods are now allowed to return a `.Future` + for flow control. + * HTTP-related code is now shared between the `tornado.httpserver`, + ``tornado.simple_httpclient`` and `tornado.wsgi` modules, making support + for features such as chunked and gzip encoding more consistent. + `.HTTPServer` now uses new delegate interfaces defined in `tornado.httputil` + in addition to its old single-callback interface. + * New module `tornado.tcpclient` creates TCP connections with non-blocking + DNS, SSL handshaking, and support for IPv6. + + See more release details at + http://www.tornadoweb.org/en/stable/releases/v4.0.0.html +- Update to version 3.2.2 + + Security fixes + * The XSRF token is now encoded with a random mask on each request. + This makes it safe to include in compressed pages without being + vulnerable to the `BREACH attack `_. + This applies to most applications that use both the ``xsrf_cookies`` + and ``gzip`` options (or have gzip applied by a proxy). + + Backwards-compatibility notes + * If Tornado 3.2.2 is run at the same time as older versions on the same + domain, there is some potential for issues with the differing cookie + versions. The `.Application` setting ``xsrf_cookie_version=1`` can + be used for a transitional period to generate the older cookie format + on newer servers. + + Other changes + * ``tornado.platform.asyncio`` is now compatible with ``trollius`` version 0.3. + +------------------------------------------------------------------- +Tue May 20 13:05:18 UTC 2014 - toddrme2178@gmail.com + +- Update dependencies + +------------------------------------------------------------------- +Sun May 11 14:00:00 UTC 2014 - andrea@opensuse.org + +- new upstream version 3.2.1 + - several new modules and bugfixes check website for details + http://www.tornadoweb.org/en/stable/releases.html + +------------------------------------------------------------------- +Sun Nov 17 16:07:37 UTC 2013 - p.drouand@gmail.com + +- Update to version 3.1.1 + + StaticFileHandler no longer fails if the client requests a Range that + is larger than the entire file (Facebook has a crawler that does this). + + RequestHandler.on_connection_close now works correctly on subsequent + requests of a keep-alive connection. + +------------------------------------------------------------------- +Thu Aug 15 11:03:17 UTC 2013 - speilicke@suse.com + +- Update to version 3.1: + + See http://www.tornadoweb.org/en/stable/releases/v3.1.0.html +- Fix rpmlint issues properly +- Use upstream URL + +------------------------------------------------------------------- +Thu Apr 11 16:47:30 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0.1: + - The interface of tornado.auth.FacebookGraphMixin is now + consistent with its documentation and the rest of the module. + The get_authenticated_user and facebook_request methods return + a Future and the callback argument is optional. + - The tornado.testing.gen_test decorator will no longer be + recognized as a (broken) test by nose. + - Work around a bug in Ubuntu 13.04 betas involving an + incomplete backport of the ssl.match_hostname function. + - tornado.websocket.websocket_connect now fails cleanly when it + attempts to connect to a non-websocket url. + - tornado.testing.LogTrapTestCase once again works with byte + strings on Python 2. + - The request attribute of tornado.httpclient.HTTPResponse is + now always an HTTPRequest, never a _RequestProxy. + - Exceptions raised by the tornado.gen module now have better + messages when tuples are used as callback keys. + +------------------------------------------------------------------- +Sat Mar 30 17:46:48 UTC 2013 - alexandre@exatati.com.br + +- Update to 3.0: + - Please read full changelog at + http://www.tornadoweb.org/en/stable/releases/v3.0.0.html + +------------------------------------------------------------------- +Sun Nov 25 11:41:29 UTC 2012 - alexandre@exatati.com.br + +- Update to 2.4.1: + - Fixed a memory leak in tornado.stack_context that was especially + likely with long-running @gen.engine functions. + - tornado.auth.TwitterMixin now works on Python 3. + - Fixed a bug in which IOStream.read_until_close with a streaming + callback would sometimes pass the last chunk of data to the + final callback instead of the streaming callback. + +------------------------------------------------------------------- +Wed Sep 5 03:54:59 UTC 2012 - alexandre@exatati.com.br + +- Update to 2.4: + - Please check changelog at + http://www.tornadoweb.org/documentation/releases/v2.4.0.html + +------------------------------------------------------------------- +Fri Jun 1 11:59:36 UTC 2012 - alexandre@exatati.com.br + +- Update to 2.3: + - Please check changelog at + http://www.tornadoweb.org/documentation/releases/v2.3.0.html + +------------------------------------------------------------------- +Fri May 18 15:27:08 UTC 2012 - toddrme2178@gmail.com + +- Fix rpmlint warnings +- Improve openSUSE 11.4 build fix +- Clean up spec file + +------------------------------------------------------------------- +Mon Apr 30 13:06:58 UTC 2012 - toddrme2178@gmail.com + +- Fix building python 3 package on openSUSE 11.4 x86_64 + +------------------------------------------------------------------- +Sat Apr 28 05:42:29 UTC 2012 - highwaystar.ru@gmail.com + +- added python3 package + +------------------------------------------------------------------- +Tue Apr 24 11:01:28 UTC 2012 - alexandre@exatati.com.br + +- Update to 2.2.1: + - tornado.web.RequestHandler.set_header now properly sanitizes + input values to protect against header injection, response + splitting, etc. (it has always attempted to do this, but the + check was incorrect). Note that redirects, the most likely + source of such bugs, are protected by a separate check in + RequestHandler.redirect. + - Colored logging configuration in tornado.options is compatible + with Python 3.2.3 (and 3.3). + +------------------------------------------------------------------- +Wed Mar 21 18:51:00 UTC 2012 - saschpe@gmx.de + +- Update requires on python-curl to python-pycurl + +------------------------------------------------------------------- +Mon Mar 12 21:38:08 UTC 2012 - saschpe@gmx.de + +- Simplified macro usage +- Use upstream tarball + +------------------------------------------------------------------- +Mon Jan 30 23:17:07 UTC 2012 - alexandre@exatati.com.br + +- Update to 2.2: + - Please read http://www.tornadoweb.org/documentation/releases/v2.2.0.html + for all changes in this release. + +------------------------------------------------------------------- +Tue Oct 4 23:57:09 UTC 2011 - alexandre@exatati.com.br + +- Update to 2.1.1 + Bug fixes: + - Fixed handling of closed connections with the epoll + (i.e. Linux) IOLoop. Previously, closed connections could be + shut down too early, which most often manifested as “Stream + is closed” exceptions in SimpleAsyncHTTPClient. + - Fixed a case in which chunked responses could be closed + prematurely, leading to truncated output. + - IOStream.connect now reports errors more consistently via + logging and the close callback (this affects e.g. connections + to localhost on FreeBSD). + - IOStream.read_bytes again accepts both int and long arguments. + - PeriodicCallback no longer runs repeatedly when IOLoop + iterations complete faster than the resolution of time.time() + (mainly a problem on Windows). + Backwards-compatibility note + - Listening for IOLoop.ERROR alone is no longer sufficient for + detecting closed connections on an otherwise unused socket. + IOLoop.ERROR must always be used in combination with READ or + WRITE. + +------------------------------------------------------------------- +Wed Sep 21 11:27:02 UTC 2011 - alexandre@exatati.com.br + +- Update to 2.1: + - There are security fixes, backwards-incompatible changes, + new modules, and bug fixes. + For full changes please read + http://www.tornadoweb.org/documentation/releases/v2.1.0.html + +------------------------------------------------------------------- +Thu Jul 7 20:19:08 UTC 2011 - saschpe@gmx.de + +- Added README and examples to documentation +- Fixed license string to "Apache-2.0" + +------------------------------------------------------------------- +Wed Jun 22 11:47:26 UTC 2011 - alexandre@exatati.com.br + +- Update to 2.0: + Major changes: + * Template output is automatically escaped by default; see backwards + compatibility note below. + * The default AsyncHTTPClient implementation is now simple_httpclient. + * Python 3.2 is now supported. + For backwards compatibility and other changes in this release, + please read http://www.tornadoweb.org/documentation/releases/v2.0.0.html +- Regenerate spec file with py2pack. + +------------------------------------------------------------------- +Fri Mar 4 04:10:43 UTC 2011 - alexandre@exatati.com.br + +- Update to 1.2.1. + +------------------------------------------------------------------- +Sun Feb 20 21:25:09 UTC 2011 - alexandre@exatati.com.br + +- Update to 1.2. + +------------------------------------------------------------------- +Wed Feb 9 10:51:01 UTC 2011 - alexandre@exatati.com.br + +- Update to 1.1.1. + +------------------------------------------------------------------- +Fri Sep 10 05:14:00 UTC 2010 - alexandre@exatati.com.br + +- Update to 1.1. + +------------------------------------------------------------------- +Tue May 18 12:22:11 UTC 2010 - alexandre@exatati.com.br + +- New tarball release on PyPI. + +------------------------------------------------------------------- +Fri Nov 13 00:54:15 UTC 2009 - alexandre@exatati.com.br + +- Update to 0.2; +- Building as noarch for openSUSE >= 11.2. + +------------------------------------------------------------------- +Mon Sep 14 11:50:08 UTC 2009 - alexandre@exatati.com.br + +- Initial package (0.1) for openSUSE. diff --git a/python-tornado.spec b/python-tornado.spec new file mode 100644 index 0000000..1a3ee6c --- /dev/null +++ b/python-tornado.spec @@ -0,0 +1,98 @@ +# +# spec file for package python-tornado +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%define skip_python2 1 +Name: python-tornado +Version: 6.0.3 +Release: 0 +Summary: Open source version of scalable, non-blocking web server that power FriendFeed +License: Apache-2.0 +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 +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} +%python_subpackages + +%description +Tornado is an open source version of the scalable, non-blocking web server and +tools that power FriendFeed. The FriendFeed application is written using a web +framework that looks a bit like web.py or Google's webapp, but with additional +tools and optimizations to take advantage of the underlying non-blocking +infrastructure. + +The framework is distinct from most mainstream web server frameworks (and +certainly most Python frameworks) because it is non-blocking and reasonably +fast. Because it is non-blocking and uses epoll, it can handle thousands of +simultaneous standing connections, which means it is ideal for real-time web +services. We built the web server specifically to handle FriendFeed's real-time +features — every active user of FriendFeed maintains an open connection to the +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 + +%build +%python_build + +%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 + +%files %{python_files} +%license LICENSE +%doc demos +%{python_sitearch}/tornado +%{python_sitearch}/tornado-%{version}-py*.egg-info + +%changelog diff --git a/skip-failing-tests.patch b/skip-failing-tests.patch new file mode 100644 index 0000000..bb7a1df --- /dev/null +++ b/skip-failing-tests.patch @@ -0,0 +1,40 @@ +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 new file mode 100644 index 0000000..381d2d0 --- /dev/null +++ b/tornado-6.0.3.tar.gz @@ -0,0 +1,3 @@ +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 new file mode 100644 index 0000000..1b8bb1b --- /dev/null +++ b/tornado-testsuite_timeout.patch @@ -0,0 +1,20 @@ +--- 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) +