Hello community, here is the log from the commit of package python-gevent for openSUSE:Factory checked in at 2020-10-29 09:47:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gevent (Old) and /work/SRC/openSUSE:Factory/.python-gevent.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gevent" Thu Oct 29 09:47:10 2020 rev:32 rq:840263 version:20.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gevent/python-gevent.changes 2020-03-08 22:20:58.599960444 +0100 +++ /work/SRC/openSUSE:Factory/.python-gevent.new.3463/python-gevent.changes 2020-10-29 09:47:15.008108767 +0100 @@ -1,0 +2,254 @@ +Thu Oct 8 10:03:45 UTC 2020 - Hans-Peter Jansen <[email protected]> + +- Disable more tests failing for Python 3.6 +- Don't bother with python2 tests + +------------------------------------------------------------------- +Sat Oct 3 16:09:59 UTC 2020 - Hans-Peter Jansen <[email protected]> + +- Update to version 20.9.0 (2020-09-22) + + Features + * The embedded libev is now asked to detect the availability of + clock_gettime and use the realtime and/or monotonic clocks, + if they are available. + * On Linux, this can reduce the number of system calls libev + makes. Originally provided by Josh Snyder. See + :issue:`issue1648`. + + Bugfixes + * On CPython, depend on greenlet >= 0.4.17. This version is + binary incompatible with earlier releases on CPython 3.7 and + later. + * On Python 3.7 and above, the module gevent.contextvars is no + longer monkey-patched into the standard library. contextvars + are now both greenlet and asyncio task local. See + :issue:`1656`. See :issue:`issue1674`. + * The DummyThread objects created automatically by certain + operations when the standard library threading module is + monkey-patched now match the naming convention the standard + library uses ("Dummy-12345"). Previously (since gevent 1.2a2) + they used "DummyThread-12345". See :issue:`1659`. + * Fix compatibility with dnspython 2. + * Caution! + * This currently means that it can be imported. But it cannot + yet be used. gevent has a pinned dependency on dnspython < 2 + for now. + * See :issue:`1661`. + +- Update to version 20.6.2 (2020-06-16) + + Features + * It is now possible to build and use the embedded libuv on a + Cygwin platform. + * Note that Cygwin is not an officially supported platform of + upstream libuv and is not tested by gevent, so the actual + working status is unknown, and this may bitrot in future + releases. + * Thanks to berkakinci for the patch. See :issue:`issue1645`. + + Bugfixes + * Relax the version constraint for psutil on PyPy. + * Previously it was pinned to 5.6.3 for PyPy2, except for on + Windows, where it was excluded. It is now treated the same as + CPython again. See :issue:`issue1643`. + +- Update to version 20.6.1 (2020-06-10) + + Features + * gevent's CI is now tested on Ubuntu 18.04 (Bionic), an + upgrade from 16.04 (Xenial). See :issue:`1623`. + + Bugfixes + * On Python 2, the dnspython resolver can be used without + having selectors2 installed. Previously, an ImportError would + be raised. See :issue:`issue1641`. + * Python 3 gevent.ssl.SSLSocket objects no longer attempt to + catch ConnectionResetError and treat it the same as an + SSLError with SSL_ERROR_EOF (typically by suppressing it). + * This was a difference from the way the standard library + behaved (which is to raise the exception). It was added to + gevent during early testing of OpenSSL 1.1 and TLS 1.3. See + :issue:`1637`. + +- Update to version 20.6.0 (2020-06-06) + + Features + * Add gevent.selectors containing GeventSelector. This selector + implementation uses gevent details to attempt to reduce + overhead when polling many file descriptors, only some of + which become ready at any given time. + * This is monkey-patched as selectors.DefaultSelector by + default. + * This is available on Python 2 if the selectors2 backport is + installed. (This backport is installed automatically using + the recommended extra.) When monkey-patching, selectors is + made available as an alias to this module. See :issue:`1532`. + * Depend on greenlet >= 0.4.16. This is required for CPython + 3.9 and 3.10a0. See :issue:`1627`. + * Add support for Python 3.9. + * No binary wheels are available yet, however. See + :issue:`1628`. + + Bugfixes + * gevent.socket.create_connection and + gevent.socket.socket.connect no longer ignore IPv6 scope IDs. + * Any IP address (IPv4 or IPv6) is no longer subject to an + extra call to getaddrinfo. Depending on the resolver in use, + this is likely to change the number and order of greenlet + switches. (On Windows, in particular test cases when there + are no other greenlets running, it has been observed to lead + to LoopExit in scenarios that didn't produce that before.) + See :issue:`1634`. + +- Update to version 20.5.2 (2020-05-28) + + Bugfixes + * Forking a process that had use the threadpool to run tasks + that created their own hub would fail to clean up the + threadpool by raising greenlet.error. See :issue:`1631`. + +- Update to version 20.5.1 (2020-05-26) + + Features + * Waiters on Event and Semaphore objects that call wait() or + acquire(), respectively, that find the Event already set, or + the Semaphore available, no longer "cut in line" and run + before any previously scheduled greenlets. They now run in + the order in which they arrived, just as waiters that had to + block in those methods do. See :issue:`1520`. + * Update tested PyPy version from 7.3.0 to 7.3.1 on Linux. See + :issue:`1569`. + * Make zope.interface, zope.event and (by extension) setuptools + required dependencies. The events install extra now does + nothing and will be removed in 2021. See :issue:`1619`. + * Update bundled libuv from 1.36.0 to 1.38.0. See + :issue:`1621`. + * Update bundled c-ares from 1.16.0 to 1.16.1. + * On macOS, stop trying to adjust c-ares headers to make them + universal. See :issue:`1624`. + + Bugfixes + * Make gevent locks that are monkey-patched usually work across + native threads as well as across greenlets within a single + thread. Locks that are only used in a single thread do not + take a performance hit. While cross-thread locking is + relatively expensive, and not a recommended programming + pattern, it can happen unwittingly, for example when using + the threadpool and logging. + * Before, cross-thread lock uses might succeed, or, if the lock + was contended, raise greenlet.error. Now, in the contended + case, if the lock has been acquired by the main thread at + least once, it should correctly block in any thread, + cooperating with the event loop of both threads. In certain + (hopefully rare) cases, it might be possible for contended + case to raise LoopExit when previously it would have raised + greenlet.error; if these cases are a practical concern, + please open an issue. + * Also, the underlying Semaphore always behaves in an atomic + fashion (as if the GIL was not released) when PURE_PYTHON is + set. Previously, it only correctly did so on PyPy. See + :issue:`issue1437`. + * Rename gevent's C accelerator extension modules using a + prefix to avoid clashing with other C extensions. See + :issue:`1480`. + * Using gevent.wait on an Event more than once, when that Event + is already set, could previously raise an AssertionError. + * As part of this, exceptions raised in the main greenlet will + now include a more complete traceback from the failing + greenlet. See :issue:`1540`. + * Avoid closing the same Python libuv watcher IO object twice. + Under some circumstances (only seen on Windows), that could + lead to program crashes. See :issue:`1587`. + * gevent can now be built using Cython 3.0a5 and newer. The + PyPI distribution uses this version. + * The libev extension was incompatible with this. As part of + this, certain internal, undocumented names have been changed. + * (Technically, gevent can be built with Cython 3.0a2 and + above. However, up through 3.0a4 compiling with Cython 3 + results in gevent's test for memory leaks failing. See this + Cython issue.) See :issue:`1599`. + * Destroying a hub after joining it didn't necessarily clean up + all resources associated with the hub, especially if the hub + had been created in a secondary thread that was exiting. The + hub and its parent greenlet could be kept alive. + * Now, destroying a hub drops the reference to the hub and + ensures it cannot be switched to again. (Though using a new + blocking API call may still create a new hub.) + * Joining a hub also cleans up some (small) memory resources + that might have stuck around for longer before as well. See + :issue:`1601`. + * Fix some potential crashes under libuv when using + gevent.signal_handler. The crashes were seen running the test + suite and were non-deterministic. See :issue:`1606`. + +- Update to version 20.5.0 (2020-05-01) + + Features + * Update bundled c-ares to version 1.16.0. Changes. See + :issue:`1588`. + * Update all the bundled config.guess and config.sub scripts. + See :issue:`1589`. + * Update bundled libuv from 1.34.0 to 1.36.0. See + :issue:`1597`. + + Bugfixes + * Use ares_getaddrinfo instead of a manual lookup. + * This requires c-ares 1.16.0. + * Note that this may change the results, in particular their + order. + * As part of this, certain parts of the c-ares extension were + adapted to use modern Cython idioms. + * A few minor errors and discrepancies were fixed as well, such + as gethostbyaddr('localhost') working on Python 3 and failing + on Python 2. The DNSpython resolver now raises the expected + TypeError in more cases instead of an AttributeError. See + :issue:`1012`. + * The c-ares and DNSPython resolvers now raise exceptions much + more consistently with the standard resolver. Types and + errnos are substantially more likely to match what the + standard library produces. ++++ 57 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/python-gevent/python-gevent.changes ++++ and /work/SRC/openSUSE:Factory/.python-gevent.new.3463/python-gevent.changes Old: ---- fix-tests.patch gevent-1.5a3.tar.gz use-libev-cffi.patch New: ---- fix-no-return-in-nonvoid-function.patch gevent-20.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gevent.spec ++++++ --- /var/tmp/diff_new_pack.dowJwo/_old 2020-10-29 09:47:15.804109518 +0100 +++ /var/tmp/diff_new_pack.dowJwo/_new 2020-10-29 09:47:15.804109518 +0100 @@ -16,14 +16,18 @@ # -# DON'T USE FOR SLE, USES BUNDLED VERSION OF LIBEV!!! +# on TW, gevent is able to use system libev, Leaps et.al. need the bundled version +%if 0%{?suse_version} <= 1500 %define use_bundled_libev 1 +%else +%define use_bundled_libev 0 +%endif %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define modversion 1.5a3 +%define modversion 20.9.0 %define modname gevent Name: python-gevent -Version: 1.5.0~a3 +Version: 20.9.0 Release: 0 Summary: Python network library that uses greenlet and libevent License: MIT @@ -32,13 +36,15 @@ # Source: https://files.pythonhosted.org/packages/source/g/gevent/gevent-%%{version}.tar.gz Source0: https://github.com/gevent/%{modname}/archive/%{modversion}.tar.gz#/%{modname}-%{modversion}.tar.gz Source100: %{name}-rpmlintrc -Patch1: fix-tests.patch -Patch2: use-libev-cffi.patch +# gcc7 for 15.1 produces no-return-in-nonvoid-function, but the same compiler for 15.2 not +# usually, as long as no return value is used, this shouldn't be treated as an error +# let's selectively disable the warning around the offending code +Patch0: fix-no-return-in-nonvoid-function.patch BuildRequires: %{python_module Cython} BuildRequires: %{python_module cffi} BuildRequires: %{python_module devel} BuildRequires: %{python_module dnspython} -BuildRequires: %{python_module greenlet >= 0.4.14} +BuildRequires: %{python_module greenlet >= 0.4.17} BuildRequires: %{python_module mock} BuildRequires: %{python_module objgraph} BuildRequires: %{python_module psutil} @@ -53,7 +59,7 @@ BuildRequires: python-rpm-macros BuildRequires: python3-testsuite BuildRequires: pkgconfig(libcares) -%if 0%{?use_bundled_libev} +%if ! 0%{use_bundled_libev} BuildRequires: pkgconfig(libev) %endif BuildRequires: pkgconfig(libuv) @@ -61,12 +67,12 @@ Requires: python-dnspython Requires: python-greenlet Requires: python-requests +Requires: python-zope.event +Requires: python-zope.interface %if 0%{?suse_version} || 0%{?fedora_version} || 0%{?rhel} >= 8 Recommends: python-psutil -Recommends: python-zope.event %else Requires: python-psutil -Requires: python-zope.event %endif %python_subpackages @@ -98,8 +104,9 @@ %prep %setup -q -n gevent-%{modversion} -%patch1 -p1 -%patch2 -p1 +%if 0%{?sle_version} <= 150100 && 0%{?is_opensuse} +%patch0 -p1 +%endif sed -i -e '1s!bin/env python!bin/python!' examples/*.py %build @@ -116,29 +123,22 @@ %check # create ignore list of tests that reach out to the net -# test_ssl.py is fragile as it expect specific responses from ssl and -# does not account to our local changes -# Also, gh#gevent/gevent#1390 -# Also, gh#gevent/gevent#1501 -# Test threading problems may be problem of bpo#36402, which has been -# fixed in 3.7.5. -cat <<'EOF' >> network_tests.txt -test__all__.py -test___config.py -test__doctests.py +cat << EOF > network_tests.txt +test__core_stat.py +%if 0%{?sle_version} <= 150200 && 0%{?is_opensuse} +test__destroy_default_loop.py +test__example_echoserver.py +test_socket.py +%endif +%if %{python3_version_nodots} < 37 +test__threading_2.py +%endif test__examples.py -test__execmodules.py +# this one fails occasionally with: Address already in use: ('127.0.0.1', 16000) +test__example_portforwarder.py test__getaddrinfo_import.py -test_httplib.py +test__resolver_dnspython.py test__socket_dns.py -test_socket.py -test__socket_ssl.py -test__ssl.py -test_ssl.py -test_threading.py -test_urllib2_localnet.py -test_urllib2net.py -test_wsgiref.py EOF export GEVENT_RESOLVER=thread # Setting the TRAVIS environment variable makes some different configuration @@ -148,7 +148,11 @@ # for Appveyor that we also need in obs for "wait_threads() failed to cleanup 1 threads" export APPVEYOR=1 export LANG=en_US.UTF-8 -%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m gevent.tests --ignore network_tests.txt +# don't bother with python2 tests +%{python_expand if [ "$python" != "python2" ]; then + PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m gevent.tests --ignore network_tests.txt +fi +} %files %{python_files} %doc AUTHORS README.rst TODO CHANGES.rst CONTRIBUTING.rst ++++++ fix-no-return-in-nonvoid-function.patch ++++++ Index: b/deps/libev/ev_iouring.c =================================================================== --- a/deps/libev/ev_iouring.c +++ b/deps/libev/ev_iouring.c @@ -213,6 +213,9 @@ iouring_sqe_get (EV_P) return EV_SQES + (tail & EV_SQ_VAR (ring_mask)); } +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wreturn-type" + inline_size struct io_uring_sqe * iouring_sqe_submit (EV_P_ struct io_uring_sqe *sqe) @@ -260,6 +263,8 @@ iouring_internal_destroy (EV_P) if (ev_is_active (&iouring_tfd_w )) ev_ref (EV_A); ev_io_stop (EV_A_ &iouring_tfd_w ); } +#pragma GCC diagnostic pop + ecb_cold static int iouring_internal_init (EV_P) ++++++ gevent-1.5a3.tar.gz -> gevent-20.9.0.tar.gz ++++++ ++++ 90946 lines of diff (skipped)
