commit ea5a0f3b2eee4480198800f199202c901aff561f Author: Adrian Schröter Date: Mon Feb 19 15:49:30 2024 +0100 Sync from SUSE:ALP:Source:Standard:1.0 python-tornado6 revision 8a1f3d9dde0e9ccc6ad777a2b7bac4e9 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.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 +*.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/ignore-resourcewarning-doctests.patch b/ignore-resourcewarning-doctests.patch new file mode 100644 index 0000000..f421b3f --- /dev/null +++ b/ignore-resourcewarning-doctests.patch @@ -0,0 +1,37 @@ +Index: tornado-6.0.4/tornado/util.py +=================================================================== +--- tornado-6.0.4.orig/tornado/util.py 2020-03-11 11:42:49.610254636 +0100 ++++ tornado-6.0.4/tornado/util.py 2020-03-11 11:43:51.470603323 +0100 +@@ -468,5 +468,7 @@ else: + def doctests(): + # type: () -> unittest.TestSuite + import doctest ++ import warnings ++ warnings.simplefilter("ignore", ResourceWarning) + + return doctest.DocTestSuite() +Index: tornado-6.0.4/tornado/httputil.py +=================================================================== +--- tornado-6.0.4.orig/tornado/httputil.py 2020-03-11 11:42:49.610254636 +0100 ++++ tornado-6.0.4/tornado/httputil.py 2020-03-11 11:44:46.178911693 +0100 +@@ -1032,6 +1032,8 @@ def encode_username_password( + def doctests(): + # type: () -> unittest.TestSuite + import doctest ++ import warnings ++ warnings.simplefilter("ignore", ResourceWarning) + + return doctest.DocTestSuite() + +Index: tornado-6.0.4/tornado/iostream.py +=================================================================== +--- tornado-6.0.4.orig/tornado/iostream.py 2020-03-11 11:42:49.610254636 +0100 ++++ tornado-6.0.4/tornado/iostream.py 2020-03-11 11:45:31.015164413 +0100 +@@ -1677,5 +1677,7 @@ class PipeIOStream(BaseIOStream): + + def doctests() -> Any: + import doctest ++ import warnings ++ warnings.simplefilter("ignore", ResourceWarning) + + return doctest.DocTestSuite() diff --git a/openssl-3.2.patch b/openssl-3.2.patch new file mode 100644 index 0000000..b7645a2 --- /dev/null +++ b/openssl-3.2.patch @@ -0,0 +1,13 @@ +Index: tornado-6.4/tornado/iostream.py +=================================================================== +--- tornado-6.4.orig/tornado/iostream.py ++++ tornado-6.4/tornado/iostream.py +@@ -1374,7 +1374,7 @@ class SSLIOStream(IOStream): + return + elif err.args[0] in (ssl.SSL_ERROR_EOF, ssl.SSL_ERROR_ZERO_RETURN): + return self.close(exc_info=err) +- elif err.args[0] == ssl.SSL_ERROR_SSL: ++ elif err.args[0] in (ssl.SSL_ERROR_SSL, ssl.SSL_ERROR_SYSCALL): + try: + peer = self.socket.getpeername() + except Exception: diff --git a/python-tornado6-rpmlintrc b/python-tornado6-rpmlintrc new file mode 100644 index 0000000..c29e97d --- /dev/null +++ b/python-tornado6-rpmlintrc @@ -0,0 +1,2 @@ +# keep the empty javascript resource for the demo +addFilter("zero-length .*demos/facebook/static/facebook.js") diff --git a/python-tornado6.changes b/python-tornado6.changes new file mode 100644 index 0000000..8ff1b18 --- /dev/null +++ b/python-tornado6.changes @@ -0,0 +1,1530 @@ +------------------------------------------------------------------- +Thu Jan 11 13:28:34 UTC 2024 - Daniel Garcia + +- Add patch openssl-3.2.patch gh#tornadoweb/tornado#3355 + +------------------------------------------------------------------- +Wed Jan 3 10:27:22 UTC 2024 - Dirk Müller + +- update to 6.4: + * https://www.tornadoweb.org/en/stable/releases/v6.4.0.html + * Python 3.12 is now supported. +- drop py312-datetime.patch (upstream) + +------------------------------------------------------------------- +Thu Sep 21 10:04:28 UTC 2023 - Markéta Machová + +- Update to 6.3.3 + * The Content-Length header and chunked Transfer-Encoding sizes + are now parsed more strictly (according to the relevant RFCs) + to avoid potential request-smuggling vulnerabilities when + deployed behind certain proxies. +- Add py312-datetime.patch to fix build with Python 3.12 + +------------------------------------------------------------------- +Tue May 30 08:04:10 UTC 2023 - Dan Čermák + +- New upstream release 6.3.2 (bsc#1211741, CVE-2023-28370) + - Security improvements + - Fixed an open redirect vulnerability in StaticFileHandler + under certain configurations. + - ``tornado.web`` + - `.RequestHandler.set_cookie` once again accepts capitalized + keyword arguments for backwards compatibility. This is + deprecated and in Tornado 7.0 only lowercase arguments will + be accepted. + - What's new in Tornado 6.3.0 + - The new `.Application` setting ``xsrf_cookie_name`` + can now be used to take advantage of the ``__Host`` + cookie prefix for improved security. To use it, add + ``{"xsrf_cookie_name": "__Host-xsrf", "xsrf_cookie_kwargs": + {"secure": True}}`` to your `.Application` settings. Note + that this feature currently only works when HTTPS is used. + - `.WSGIContainer` now supports running the application in + a ``ThreadPoolExecutor`` so the event loop is no longer + blocked. + - `.AsyncTestCase` and `.AsyncHTTPTestCase`, which were + deprecated in Tornado 6.2, are no longer deprecated. + - WebSockets are now much faster at receiving large messages + split into many fragments. + - General changes + - Python 3.7 is no longer supported; the minimum supported . + Python version is 3.8 Python 3.12 is now supported . + - To avoid spurious deprecation warnings, users of Python + 3.10 should upgrade to at least version 3.10.9, and users + of Python 3.11 should upgrade to at least version 3.11.1. + - Tornado submodules are now imported automatically on + demand. This means it is now possible to use a single + ``import tornado`` statement and refer to objects in + submodules such as `tornado.web.RequestHandler`. + - Deprecation notices + - In Tornado 7.0, `tornado.testing.ExpectLog` will match + ``WARNING`` and above regardless of the current logging + configuration, unless the ``level`` argument is used. + - `.RequestHandler.get_secure_cookie` is now a deprecated + alias for `.RequestHandler.get_signed_cookie`. + `.RequestHandler.set_secure_cookie` is now a deprecated + alias for `.RequestHandler.set_signed_cookie`. + - `.RequestHandler.clear_all_cookies` is + deprecated. No direct replacement is provided; + `.RequestHandler.clear_cookie` should be used on individual + cookies. + - Calling the `.IOLoop` constructor without a + ``make_current`` argument, which was deprecated in Tornado + 6.2, is no longer deprecated. + - `.AsyncTestCase` and `.AsyncHTTPTestCase`, which were + deprecated in Tornado 6.2, are no longer deprecated. + - `.AsyncTestCase.get_new_ioloop` is deprecated. + - ``tornado.auth`` + - New method `.GoogleOAuth2Mixin.get_google_oauth_settings` + can now be overridden to get credentials from a source + other than the `.Application` settings. + - ``tornado.gen`` + - `contextvars` now work properly when a ``@gen.coroutine`` + calls a native coroutine. + - ``tornado.options`` + - `~.OptionParser.parse_config_file` now recognizes single + comma-separated strings (in addition to lists of strings) + for options with ``multiple=True``. + - ``tornado.web`` + - New `.Application` setting ``xsrf_cookie_name`` can be used + to change the name of the XSRF cookie. This is most useful + to take advantage of the ``__Host-`` cookie prefix. + - `.RequestHandler.get_secure_cookie` and + `.RequestHandler.set_secure_cookie` (and related + methods and attributes) have been renamed + to `~.RequestHandler.get_signed_cookie` and + `~.RequestHandler.set_signed_cookie`. This makes it + more explicit what kind of security is provided, and + avoids confusion with the ``Secure`` cookie attribute + and ``__Secure-`` cookie prefix. The old names remain + supported as deprecated aliases. + - `.RequestHandler.clear_cookie` now accepts all keyword + arguments accepted by `~.RequestHandler.set_cookie`. In + some cases clearing a cookie requires certain arguments to + be passed the same way in which it was set. + - `.RequestHandler.clear_all_cookies` now accepts + additional keyword arguments for the same reason as + ``clear_cookie``. However, since the requirements for + additional arguments mean that it cannot reliably clear all + cookies, this method is now deprecated. + - ``tornado.websocket`` + - It is now much faster (no longer quadratic) to receive + large messages that have been split into many fragments. + - `.websocket_connect` now accepts a ``resolver`` parameter. + - ``tornado.wsgi`` + - `.WSGIContainer` now accepts an ``executor`` parameter + which can be used to run the WSGI application on a thread + pool. + - What's new in Tornado 6.2.0 + - Deprecation notice + - Python 3.10 has begun the process of significant changes + to the APIs for managing the event loop. Calls to + methods such as `asyncio.get_event_loop` may now raise + `DeprecationWarning` if no event loop is running. This + has significant impact on the patterns for initializing + applications, and in particular invalidates patterns that + have long been the norm in Tornado's documentation and + actual usage. In the future (with some as-yet-unspecified + future version of Python), the old APIs will be + removed. The new recommended pattern is to start the event + loop with `asyncio.run`. More detailed migration guides + will be coming in the future. + - The `.IOLoop` constructor is deprecated unless + the ``make_current=False`` argument is used. Use + `.IOLoop.current` when the loop is already running + instead. + - `.AsyncTestCase` (and `.AsyncHTTPTestCase`) are + deprecated. Use `unittest.IsolatedAsyncioTestCase` + instead. + - Multi-process `.TCPServer.bind`/`.TCPServer.start` + is deprecated. See `.TCPServer` docs for supported + alternatives. + - `.AnyThreadEventLoopPolicy` is deprecated. This class + controls the creation of the "current" event loop so it + will be removed when that concept is no longer supported. + - `.IOLoop.make_current` and `.IOLoop.clear_current` are + deprecated. In the future the concept of a "current" + event loop as distinct from one that is currently running + will be removed. + - ``TwistedResolver`` and ``CaresResolver`` are deprecated + and will be removed in Tornado 7.0. + - General changes + - The minimum supported Python version is now 3.7. + - Wheels are now published with the Python stable ABI + (``abi3``) for compatibility across versions of Python. + - SSL certificate verfication and hostname checks are now + enabled by default in more places (primarily in client-side + usage of `.SSLIOStream`). + - Various improvements to type hints throughout the package. + - CI has moved from Travis and Appveyor to Github Actions. + - `tornado.gen` + - Fixed a bug in which ``WaitIterator.current_index`` could + be incorrect. + - ``tornado.gen.TimeoutError``` is now an alias for + `asyncio.TimeoutError`. + - `tornado.http1connection` + - ``max_body_size`` may now be set to zero to disallow a + non-empty body. + - ``Content-Encoding: gzip`` is now recognized + case-insensitively. + - `tornado.httpclient` + - ``curl_httpclient`` now supports non-ASCII (ISO-8859-1) + header values, same as ``simple_httpclient``. + - `tornado.ioloop` + - `.PeriodicCallback` now understands coroutines and will not + start multiple copies if a previous invocation runs too + long. + - `.PeriodicCallback` now accepts `datetime.timedelta` + objects in addition to numbers of milliseconds. + - Avoid logging "Event loop is closed" during + shutdown-related race conditions. + - Tornado no longer calls `logging.basicConfig` when starting + an IOLoop; this has been unnecessary since Python 3.2 added + a logger of last resort. + - The `.IOLoop` constructor now accepts an ``asyncio_loop`` + keyword argument to initialize with a specfied asyncio + event loop. + - It is now possible to construct an `.IOLoop` on one thread + (with ``make_current=False``) and start it on a different + thread. + - `tornado.iostream` + - `.SSLIOStream` now supports reading more than 2GB at a + time. + - ``IOStream.write`` now supports typed `memoryview` objects. + - `tornado.locale` + - `.load_gettext_translations` no longer logs errors when + language directories exist but do not contain the expected + file. + - `tornado.netutil` + - `.is_valid_ip` no longer raises exceptions when the input + is too long. + - The default resolver now uses the same methods (and thread + pool) as `asyncio`. + - `tornado.tcpserver` + - `.TCPServer.listen` now supports more arguments to pass + through to `.netutil.bind_sockets`. + - `tornado.testing` + - `.bind_unused_port` now takes an optional ``address`` + argument. + - Wrapped test methods now include the ``__wrapped__`` + attribute. + - `tornado.web` + - When using a custom `.StaticFileHandler` subclass, the + ``reset()`` method is now called on this subclass instead + of the base class. + - Improved handling of the ``Accept-Language`` header. + - `.Application.listen` now supports more arguments to pass + through to `.netutil.bind_sockets`. + - `tornado.websocket` + - `.WebSocketClientConnection.write_message` now + accepts `dict` arguments for consistency with + `.WebSocketHandler.write_message`. + - `.WebSocketClientConnection.write_message` now raises + an exception as documented if the connection is already + closed. +- Gave rpmlint a hug +- Remove upstreamed ignore-py310-deprecation-warnings.patch + +------------------------------------------------------------------- +Fri Apr 21 12:37:44 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Fri Aug 19 16:29:16 UTC 2022 - Dirk Müller + +- update to 6.2: + * https://www.tornadoweb.org/en/stable/releases/v6.2.0.html +- drop remove-multiheader-http-test.patch (upstream) + +------------------------------------------------------------------- +Thu Apr 28 07:13:53 UTC 2022 - Steve Kowalik + +- Add patch remove-multiheader-http-test.patch: + * Do not test multi-line headers. + +------------------------------------------------------------------- +Sat Dec 11 16:16:20 UTC 2021 - Ben Greiner + +- Filter Python 3.10 deprecation warnings during testing + * ignore-py310-deprecation-warnings.patch + * gh#tornadoweb/tornado#3033 + +------------------------------------------------------------------- +Thu Aug 5 12:51:05 UTC 2021 - Ben Greiner + +- Remove exec bits from demos: fix boo#1189066 +- Add python-tornado6-rpmlintrc for empty JS resource in demo + +------------------------------------------------------------------- +Mon Feb 8 20:46:57 UTC 2021 - Ben Greiner + +- back to version 6.1. Tornado pin in distributed is removed. +- Dear bot, here are the patch names: + * re-drop python-tornado6-httpclient-test.patch + * re-drop skip-failing-tests.patch + * re-drop tornado-testsuite_timeout.patch + * refreshed ignore-resourcewarning-doctests.patch + +------------------------------------------------------------------- +Sun Feb 7 12:53:21 UTC 2021 - Matej Cepl + +- Revert back to 6.0.4 for incompatibility with python-distributed. +- Adds back patches: + * python-tornado6-httpclient-test.patch + * skip-failing-tests.patch + * tornado-testsuite_timeout.patch + +------------------------------------------------------------------- +Sat Jan 30 20:22:29 UTC 2021 - Ben Greiner + +- Update to version 6.1.0 + * Full changelog can be found at + https://www.tornadoweb.org/en/stable/releases/v6.1.0.html +- Drop patches not applying anymore. + * python-tornado6-httpclient-test.patch + * skip-failing-tests.patch + * tornado-testsuite_timeout.patch +- Refresh and comment ignore-resourcewarning-doctests.patch +- Fix documentation deduplication + +------------------------------------------------------------------- +Tue May 5 16:36:45 UTC 2020 - Pedro Monreal Gonzalez + +- Fix build with curl 7.70.0: + * Revert commit c443fb7bf8a87ba8ab02b9a6af9e140cabc0ab0d which + introduces test_method_after_redirect() test. +- Add python-tornado6-httpclient-test.patch + +------------------------------------------------------------------- +Wed Mar 11 10:47:24 UTC 2020 - pgajdos@suse.com + +- version update to 6.0.4 + General changes + ~~~~~~~~~~~~~~ + ``asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())`` for + this platform/version. + Bug fixes + ~~~~~~~~ + - Fixed an issue in `.IOStream` (introduced in 6.0.0) that resulted in + ``StreamClosedError`` being incorrectly raised if a stream is closed mid-read + but there is enough buffered data to satisfy the read. + - `.AnyThreadEventLoopPolicy` now always uses the selector event loop on Windows. +- modified patches + % ignore-resourcewarning-doctests.patch (refreshed) + % skip-failing-tests.patch (refreshed) + % tornado-testsuite_timeout.patch (refreshed) + +------------------------------------------------------------------- +Mon Nov 18 04:00:14 UTC 2019 - Steve Kowalik + +- Add ignore-resourcewarning-doctests.patch to ignore ResourceWarnings + when running doctests. +- Use %autopatch macro instead of specific patch number macros + +------------------------------------------------------------------- +Fri Nov 8 13:28:37 UTC 2019 - Andreas Schwab + +- Define TRAVIS to disable unreliable tests + +------------------------------------------------------------------- +Mon Oct 14 14:45:59 UTC 2019 - Matej Cepl + +- Replace %fdupes -s with plain %fdupes; hardlinks are better. + +------------------------------------------------------------------- +Thu Oct 10 14:11:48 UTC 2019 - Dominique Leuenberger + +- Provide versioned python-tornado symbol, making this package a + full option in case the meta package is not applicable. + +------------------------------------------------------------------- +Tue Oct 1 13:21:22 UTC 2019 - Tomáš Chvátal + +- Per discussion with RM switch back to python-tornado + system with python-tornado standing in as a metapkg + +------------------------------------------------------------------- +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-tornado6.spec b/python-tornado6.spec new file mode 100644 index 0000000..2b35ce5 --- /dev/null +++ b/python-tornado6.spec @@ -0,0 +1,111 @@ +# +# spec file for package python-tornado6 +# +# Copyright (c) 2024 SUSE LLC +# +# 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/ +# + + +%{?sle15_python_module_pythons} +%define skip_python2 1 +Name: python-tornado6 +Version: 6.4 +Release: 0 +Summary: Open source version of scalable, non-blocking web server that power FriendFeed +License: Apache-2.0 +URL: https://www.tornadoweb.org +Source: https://files.pythonhosted.org/packages/source/t/tornado/tornado-%{version}.tar.gz +Source99: python-tornado6-rpmlintrc +# PATCH-FIX-OPENSUSE ignore-resourcewarning-doctests.patch -- ignore resource warnings on OBS +Patch0: ignore-resourcewarning-doctests.patch +# PATCH-FIX-OPENSUSE openssl-3.2.patch gh#tornadoweb/tornado#3355 +Patch1: openssl-3.2.patch +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module devel} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pycares} +BuildRequires: %{python_module pycurl} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python +Recommends: python-Twisted +Recommends: python-pycares +Recommends: python-pycurl +Recommends: python-service_identity +Conflicts: python-tornado-impl +Provides: python-tornado = %{version} +Provides: python-tornado-impl = %{version} +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 +%autosetup -p1 -n tornado-%{version} +# Fix non-executable script rpmlint issue: +find tornado -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \; + +%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 +%pyproject_wheel + +%install +%pyproject_install +%{python_expand # +# do not install tests +rm -r %{buildroot}%{$python_sitearch}/tornado/test +# deduplicate files in python platlibdir +%fdupes %{buildroot}%{$python_sitearch} +# install demos into docdir and deduplicate +pdocdir=%{buildroot}%{_docdir}/$python-tornado6 +mkdir -p ${pdocdir} +find ${pdocdir} -name "*.py" -exec sed -i "1{s|^#!.*$|%{_bindir}/$python|}" {} \; +find ${pdocdir} -type f -exec chmod a-x {} \; +%fdupes ${pdocdir} +} + +%check +export ASYNC_TEST_TIMEOUT=30 +export PYTHONDONTWRITEBYTECODE=1 +export TRAVIS=1 +%python_exec -m tornado.test.runtests --verbose + +%files %{python_files} +%license LICENSE +%doc %{_docdir}/%{python_prefix}-tornado6 +%{python_sitearch}/tornado +%{python_sitearch}/tornado-%{version}*-info + +%changelog diff --git a/tornado-6.4.tar.gz b/tornado-6.4.tar.gz new file mode 100644 index 0000000..8c4613a --- /dev/null +++ b/tornado-6.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee +size 498845