Hello community,

here is the log from the commit of package python-gevent for openSUSE:Factory 
checked in at 2020-03-08 22:20:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-gevent (Old)
 and      /work/SRC/openSUSE:Factory/.python-gevent.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-gevent"

Sun Mar  8 22:20:58 2020 rev:31 rq:766423 version:1.5.0~a3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-gevent/python-gevent.changes      
2019-04-14 12:21:33.199698598 +0200
+++ /work/SRC/openSUSE:Factory/.python-gevent.new.26092/python-gevent.changes   
2020-03-08 22:20:58.599960444 +0100
@@ -1,0 +2,161 @@
+Fri Jan  3 11:51:00 CET 2020 - Matej Cepl <mc...@suse.com>
+
+- Use bundled libev library to overcome the current
+  incompatibility with libev > 4.25. gh#gevent/gevent#1501
+
+-------------------------------------------------------------------
+Thu Jan  2 14:09:44 CET 2020 - Matej Cepl <mc...@suse.com>
+
+- Upgrade to 1.5a3:
+  - The file objects (FileObjectPosix, FileObjectThread) now
+    consistently text and binary modes. If neither 'b' nor 't' is
+    given in the mode, they will read and write native strings.
+    If 't' is given, they will always work with unicode strings,
+    and 'b' will always work with byte strings. (FileObjectPosix
+    already worked this way.) See :issue:`1441`.
+  - The file objects accept encoding, errors and newline
+    arguments. On Python 2, these are only used if 't' is in the
+    mode.
+  - The default mode for FileObjectPosix changed from rb to
+    simply r, for consistency with the other file objects and the
+    standard open and io.open functions.
+  - Fix FileObjectPosix improperly being used from multiple
+    greenlets. Previously this was hidden by forcing buffering,
+    which raised RuntimeError.
+  - Fix using monkey-patched threading.Lock and threading.RLock
+    objects as spin locks by making them call sleep(0) if they
+    failed to acquire the lock in a non-blocking call. This lets
+    other callbacks run to release the lock, simulating
+    preemptive threading. Using spin locks is not recommended,
+    but may have been done in code written for threads,
+    especially on Python 3. See :issue:`1464`.
+  - Fix Semaphore (and monkey-patched threading locks) to be
+    fair. This eliminates the rare potential for starvation of
+    greenlets. As part of this change, the low-level method
+    rawlink of Semaphore, Event, and AsyncResult now always
+    remove the link object when calling it, so unlink can
+    sometimes be optimized out. See :issue:`1487`.
+  - Make gevent.pywsgi support Connection: keep-alive in
+    HTTP/1.0. Based on :pr:`1331` by tanchuhan.
+  - Fix a potential crash using gevent.idle() when using libuv.
+    See :issue:`1489`.
+  - Fix some potential crashes using libuv async watchers.
+  - Make ThreadPool consistently raise InvalidThreadUseError when
+    spawn is called from a thread different than the thread that
+    created the threadpool. This has never been allowed, but was
+    inconsistently enforced. On gevent 1.3 and before, this would
+    always raise "greenlet error: invalid thread switch," or
+    LoopExit. On gevent 1.4, it could raise LoopExit, depending
+    on the number of tasks, but still, calling it from
+    a different thread was likely to corrupt libev or libuv
+    internals.
+  - Remove some undocumented, deprecated functions from the
+    threadpool module.
+  - libuv: Fix a perceived slowness spawning many greenlets at
+    the same time without yielding to the event loop while having
+    no active IO watchers or timers. If the time spent launching
+    greenlets exceeded the switch interval and there were no
+    other active watchers, then the default IO poll time of about
+    .3s would elapse between spawning batches. This could
+    theoretically apply for any non-switching callbacks. This can
+    be produced in synthetic benchmarks and other special
+    circumstances, but real applications are unlikely to be
+    affected. See :issue:`1493`.
+  - Fix using the threadpool inside a script or module run with
+    python -m gevent.monkey. Previously it would use greenlets
+    instead of native threads. See :issue:`1484`.
+  - Fix potential crashes in the FFI backends if a watcher was
+    closed and stopped in the middle of a callback from the event
+    loop and then raised an exception. This could happen if the
+    hub's handle_error function was poorly customized, for
+    example. See :issue:`1482`
+  - Make gevent.killall stop greenlets from running that hadn't
+    been run yet. This make it consistent with Greenlet.kill().
+    See :issue:`1473` reported by kochelmonster.
+  - Make gevent.spawn_raw set the loop attribute on returned
+    greenlets. This lets them work with more gevent APIs, notably
+    gevent.killall(). They already had dictionaries, but this may
+    make them slightly larger, depending on platform (on CPython
+    2.7 through 3.6 there is no apparent difference for one
+    attribute but on CPython 3.7 and 3.8 dictionaries are
+    initially empty and only allocate space once an attribute is
+    added; they're still smaller than on earlier versions
+    though).
+  - Add support for CPython 3.8.0. (Windows wheels are not yet
+    available.)
+  - Add an --module option to gevent.monkey allowing to run
+    a Python module rather than a script. See :pr:`1440`.
+  - Improve the way joining the main thread works on Python 3.
+  - Implement SSLSocket.verify_client_post_handshake() when
+    available.
+  - Fix tests when TLS1.3 is supported.
+  - Disable Nagle's algorithm in the backdoor server. This can
+    improve interactive response time.
+  - Test on Python 3.7.4. There are important SSL test fixes.
+  - Python version updates: gevent is now tested with CPython
+    2.7.16, 3.5.6, 3.6.8, and 3.7.2. It is also tested with PyPy2
+    7.1 and PyPy 3.6 7.1 (PyPy 7.0 and 7.1 were not capable of
+    running SSL tests on Travis CI).
+  - Support for Python 3.4 has been removed, as that version is
+    no longer supported uptstream.
+  - gevent binary wheels are now manylinux2010 and include libuv
+    support. pip 19 is needed to install them. See :issue:`1346`.
+  - gevent is now compiled with Cython 0.29.6 and cffi 1.12.2.
+  - gevent sources include a pyproject.toml file, specifying the
+    build requirements and enabling build isolation. pip 18 or
+    above is needed to take advantage of this. See :issue:`1180`.
+  - libev-cffi: Let the compiler fill in the definition of
+    nlink_t for st_nlink in struct stat, instead of trying to
+    guess it ourself. Reported in :issue:`1372` by Andreas
+    Schwab.
+  - Remove the Makefile. Its most useful commands, make clean and
+    make distclean, can now be accomplished in a cross-platform
+    way using python setup.py clean and python setup.py clean -a,
+    respectively. The remainder of the Makefile contained Travis
+    CI commands that have been moved to .travis.yml.
+  - Deprecate the EMBED and LIBEV_EMBED, etc, build-time
+    environment variables. Instead, use GEVENTSETUP_EMBED and
+    GEVENTSETUP_EMBED_LIBEV. See :issue:`1402`.
+  - The CFFI backends now respect the embed build-time setting.
+    This allows building the libuv backend without embedding
+    libuv (except on Windows).
+  - Support test resources. This allows disabling tests that use
+    the network. See :ref:`limiting-test-resource-usage` for
+    more.
+  - Python 3.7 subprocess: Copy a STARTUPINFO passed as
+    a parameter. Contributed by AndCycle in :pr:`1352`.
+  - subprocess: WIFSTOPPED and SIGCHLD are now handled for
+    determining Popen.returncode. See
+    https://bugs.python.org/issue29335
+  - subprocess: No longer close redirected FDs if they are in
+    pass_fds. This is a bugfix from Python 3.7 applied to all
+    versions gevent runs on.
+  - Fix certain operations on a Greenlet in an invalid state
+    (with an invalid parent) to raise a TypeError sooner rather
+    than an AttributeError later. This is also slightly faster on
+    CPython with Cython. Inspired by :issue:`1363` as reported by
+    Carson Ip. This means that some extreme corner cases that
+    might have passed by replacing a Greenlet's parent with
+    something that's not a gevent hub now no longer will.
+  - Fix: The spawning_stack for Greenlets on CPython should now
+    have correct line numbers in more cases. See :pr:`1379`.
+  - The result of gevent.ssl.SSLSocket.makefile() can be used as
+    a context manager on Python 2.
+  - Python 2: If the backport of the _thread_ module from futures
+    has already been imported at monkey-patch time, also patch
+    this module to be consistent. The pkg_resources package
+    imports this, and pkg_resources is often imported early on
+    Python 2 for namespace packages, so if futures is installed
+    this will likely be the case.
+  - Python 2: Avoid a memory leak when an io.BufferedWriter is
+    wrapped around a socket. Reported by Damien Tournoud in
+    :issue:`1318`.
+  - Avoid unbounded memory usage when creating very deep spawn
+    trees. Reported in :issue:`1371` by dmrlawson.
+  - Win: Make examples/process.py do something useful. See
+    :pr:`1378` by Robert Iannucci.
+  - Spawning greenlets can be up to 10% faster. See :pr:`1379`.
+- Removed remove-testCongestion.patch which was subsumed in the
+  upstream tarball.
+
+-------------------------------------------------------------------

Old:
----
  gevent-1.4.0.tar.gz
  remove-testCongestion.patch

New:
----
  gevent-1.5a3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-gevent.spec ++++++
--- /var/tmp/diff_new_pack.SqnlxI/_old  2020-03-08 22:20:59.751961155 +0100
+++ /var/tmp/diff_new_pack.SqnlxI/_new  2020-03-08 22:20:59.755961158 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-gevent
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,25 @@
 #
 
 
+# DON'T USE FOR SLE, USES BUNDLED VERSION OF LIBEV!!!
+%define use_bundled_libev 1
+
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define modversion 1.5a3
+%define modname gevent
 Name:           python-gevent
-Version:        1.4.0
+Version:        1.5.0~a3
 Release:        0
 Summary:        Python network library that uses greenlet and libevent
 License:        MIT
 Group:          Development/Languages/Python
 URL:            http://www.gevent.org/
-Source:         
https://files.pythonhosted.org/packages/source/g/gevent/gevent-%{version}.tar.gz
+# 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
-Patch0:         remove-testCongestion.patch
 Patch1:         fix-tests.patch
 Patch2:         use-libev-cffi.patch
+BuildRequires:  %{python_module Cython}
 BuildRequires:  %{python_module cffi}
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module dnspython}
@@ -47,7 +53,9 @@
 BuildRequires:  python-rpm-macros
 BuildRequires:  python3-testsuite
 BuildRequires:  pkgconfig(libcares)
+%if 0%{?use_bundled_libev}
 BuildRequires:  pkgconfig(libev)
+%endif
 BuildRequires:  pkgconfig(libuv)
 Requires:       python-cffi
 Requires:       python-dnspython
@@ -89,20 +97,19 @@
 Documentation and examples for %{name}.
 
 %prep
-%setup -q -n gevent-%{version}
-%patch0 -p1
+%setup -q -n gevent-%{modversion}
 %patch1 -p1
 %patch2 -p1
 sed -i -e '1s!bin/env python!bin/python!' examples/*.py
 
 %build
-export LIBEV_EMBED=0
+export LIBEV_EMBED=%{use_bundled_libev}
 export CARES_EMBED=0
 export CFLAGS="%{optflags} -fno-strict-aliasing"
 %python_build
 
 %install
-export LIBEV_EMBED=0
+export LIBEV_EMBED=%{use_bundled_libev}
 export CARES_EMBED=0
 %python_install
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
@@ -112,19 +119,26 @@
 # 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_urllib2net.py
-test__server.py
-test__server_pywsgi.py
-test__socket_ssl.py
-test___example_servers.py
-test__socket_dns.py
-test__getaddrinfo_import.py
+test__all__.py
+test___config.py
+test__doctests.py
 test__examples.py
-test_https.py
-test_urllib2_localnet.py
-test_ssl.py
+test__execmodules.py
+test__getaddrinfo_import.py
+test_httplib.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
@@ -139,7 +153,7 @@
 %files %{python_files}
 %doc AUTHORS README.rst TODO CHANGES.rst CONTRIBUTING.rst
 %license LICENSE*
-%{python_sitearch}/gevent-%{version}-py*.egg-info
+%{python_sitearch}/gevent-%{modversion}-py*.egg-info
 %{python_sitearch}/gevent/
 
 %files -n python-gevent-doc

++++++ fix-tests.patch ++++++
--- /var/tmp/diff_new_pack.SqnlxI/_old  2020-03-08 22:20:59.779961173 +0100
+++ /var/tmp/diff_new_pack.SqnlxI/_new  2020-03-08 22:20:59.779961173 +0100
@@ -4,32 +4,23 @@
 - ssl.OP_NO_COMPRESSION is set by default by ssl.
 - thread_ident can be represented as a negative hex number now,
   so replace the negative sign with the regex too, and not just the number.
-Index: gevent-1.4.0/src/greentest/2.7/test_ssl.py
-===================================================================
---- gevent-1.4.0.orig/src/greentest/2.7/test_ssl.py
-+++ gevent-1.4.0/src/greentest/2.7/test_ssl.py
-@@ -742,14 +742,14 @@ class ContextTests(unittest.TestCase):
+--- a/src/greentest/2.7/test_ssl.py
++++ b/src/greentest/2.7/test_ssl.py
+@@ -835,9 +835,10 @@ class ContextTests(unittest.TestCase):
      def test_options(self):
          ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
          # OP_ALL | OP_NO_SSLv2 | OP_NO_SSLv3 is the default value
--        self.assertEqual(ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3,
-+        self.assertEqual(ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | 
ssl.OP_NO_COMPRESSION,
-                          ctx.options)
-         ctx.options |= ssl.OP_NO_TLSv1
--        self.assertEqual(ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | 
ssl.OP_NO_TLSv1,
-+        self.assertEqual(ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | 
ssl.OP_NO_COMPRESSION | ssl.OP_NO_TLSv1,
-                          ctx.options)
-         if can_clear_options():
-             ctx.options = (ctx.options & ~ssl.OP_NO_SSLv2) | ssl.OP_NO_TLSv1
--            self.assertEqual(ssl.OP_ALL | ssl.OP_NO_TLSv1 | ssl.OP_NO_SSLv3,
-+            self.assertEqual(ssl.OP_ALL | ssl.OP_NO_TLSv1 | ssl.OP_NO_SSLv3 | 
ssl.OP_NO_COMPRESSION,
-                              ctx.options)
-             ctx.options = 0
-             self.assertEqual(0, ctx.options)
-Index: gevent-1.4.0/src/gevent/tests/test__util.py
-===================================================================
---- gevent-1.4.0.orig/src/gevent/tests/test__util.py
-+++ gevent-1.4.0/src/gevent/tests/test__util.py
+-        default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3)
++        default = (ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 |
++                   OP_NO_COMPRESSION)
+         # SSLContext also enables these by default
+-        default |= (OP_NO_COMPRESSION | OP_CIPHER_SERVER_PREFERENCE |
++        default |= (OP_CIPHER_SERVER_PREFERENCE |
+                     OP_SINGLE_DH_USE | OP_SINGLE_ECDH_USE |
+                     OP_ENABLE_MIDDLEBOX_COMPAT)
+         self.assertEqual(default, ctx.options)
+--- a/src/gevent/tests/test__util.py
++++ b/src/gevent/tests/test__util.py
 @@ -134,7 +134,7 @@ class TestTree(greentest.TestCase):
  
      def _normalize_tree_format(self, value):

++++++ gevent-1.4.0.tar.gz -> gevent-1.5a3.tar.gz ++++++
++++ 447663 lines of diff (skipped)


Reply via email to