Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-eventlet for openSUSE:Factory 
checked in at 2022-06-06 11:10:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-eventlet (Old)
 and      /work/SRC/openSUSE:Factory/.python-eventlet.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-eventlet"

Mon Jun  6 11:10:33 2022 rev:41 rq:980778 version:0.33.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-eventlet/python-eventlet.changes  
2021-12-30 15:55:17.120648288 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-eventlet.new.1548/python-eventlet.changes    
    2022-06-06 11:10:42.131323225 +0200
@@ -1,0 +2,6 @@
+Sat Jun  4 15:20:56 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 0.33.1:
+  * Prevent deadlock on logging._lock
+
+-------------------------------------------------------------------

Old:
----
  eventlet-0.33.0.tar.gz

New:
----
  eventlet-0.33.1.tar.gz

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

Other differences:
------------------
++++++ python-eventlet.spec ++++++
--- /var/tmp/diff_new_pack.ACGj5u/_old  2022-06-06 11:10:42.775324158 +0200
+++ /var/tmp/diff_new_pack.ACGj5u/_new  2022-06-06 11:10:42.779324163 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-eventlet
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without python2
 Name:           python-eventlet
-Version:        0.33.0
+Version:        0.33.1
 Release:        0
 Summary:        Concurrent networking library for Python
 License:        MIT

++++++ eventlet-0.33.0.tar.gz -> eventlet-0.33.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.33.0/NEWS new/eventlet-0.33.1/NEWS
--- old/eventlet-0.33.0/NEWS    2021-11-16 20:59:32.000000000 +0100
+++ new/eventlet-0.33.1/NEWS    2022-05-13 00:10:20.000000000 +0200
@@ -1,3 +1,7 @@
+0.33.1
+======
+* Prevent deadlock on logging._lock 
https://github.com/eventlet/eventlet/issues/742
+
 0.33.0
 ======
 * green.thread: unlocked Lock().release() should raise exception, returned 
True https://github.com/eventlet/eventlet/issues/697
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.33.0/PKG-INFO new/eventlet-0.33.1/PKG-INFO
--- old/eventlet-0.33.0/PKG-INFO        2021-11-16 21:00:11.708561400 +0100
+++ new/eventlet-0.33.1/PKG-INFO        2022-05-13 00:27:29.611452800 +0200
@@ -1,93 +1,11 @@
 Metadata-Version: 2.1
 Name: eventlet
-Version: 0.33.0
+Version: 0.33.1
 Summary: Highly concurrent networking library
 Home-page: http://eventlet.net
 Author: Linden Lab
 Author-email: [email protected]
-License: UNKNOWN
-Description: Eventlet is a concurrent networking library for Python that 
allows you to change how you run your code, not how you write it.
-        
-        It uses epoll or libevent for highly scalable non-blocking I/O.  
Coroutines ensure that the developer uses a blocking style of programming that 
is similar to threading, but provide the benefits of non-blocking I/O.  The 
event dispatch is implicit, which means you can easily use Eventlet from the 
Python interpreter, or as a small part of a larger application.
-        
-        It's easy to get started using Eventlet, and easy to convert existing
-        applications to use it.  Start off by looking at the `examples`_,
-        `common design patterns`_, and the list of `basic API primitives`_.
-        
-        .. _examples: http://eventlet.net/doc/examples.html
-        .. _common design patterns: 
http://eventlet.net/doc/design_patterns.html
-        .. _basic API primitives: http://eventlet.net/doc/basic_usage.html
-        
-        
-        Quick Example
-        ===============
-        
-        Here's something you can try right on the command line::
-        
-            % python3
-            >>> import eventlet
-            >>> from eventlet.green.urllib.request import urlopen
-            >>> gt = eventlet.spawn(urlopen, 'http://eventlet.net')
-            >>> gt2 = eventlet.spawn(urlopen, 'http://secondlife.com')
-            >>> gt2.wait()
-            >>> gt.wait()
-        
-        
-        Getting Eventlet
-        ==================
-        
-        The easiest way to get Eventlet is to use pip::
-        
-          pip install -U eventlet
-        
-        To install latest development version once::
-        
-          pip install -U 
https://github.com/eventlet/eventlet/archive/master.zip
-        
-        
-        Building the Docs Locally
-        =========================
-        
-        To build a complete set of HTML documentation, you must have Sphinx, 
which can be found at http://sphinx.pocoo.org/ (or installed with `pip install 
Sphinx`)::
-        
-          cd doc
-          make html
-        
-        The built html files can be found in doc/_build/html afterward.
-        
-        
-        Twisted
-        =======
-        
-        Eventlet had Twisted hub in the past, but community interest to this 
integration has dropped over time,
-        now it is not supported, so with apologies for any inconvenience we 
discontinue Twisted integration.
-        
-        If you have a project that uses Eventlet with Twisted, your options 
are:
-        
-        * use last working release eventlet==0.14
-        * start a new project with only Twisted hub code, identify and fix 
problems. As of eventlet 0.13, `EVENTLET_HUB` environment variable can point to 
external modules.
-        * fork Eventlet, revert Twisted removal, identify and fix problems. 
This work may be merged back into main project.
-        
-        Apologies for any inconvenience.
-        
-        Supported Python versions
-        =========================
-        
-        Currently CPython 2.7 and 3.4+ are supported, but **2.7 and 3.4 
support is deprecated and will be removed in the future**, only CPython 3.5+ 
support will remain.
-        
-        Flair
-        =====
-        
-        .. image:: https://img.shields.io/pypi/v/eventlet
-            :target: https://pypi.org/project/eventlet/
-        
-        .. image:: 
https://img.shields.io/github/workflow/status/eventlet/eventlet/test/master
-            :target: 
https://github.com/eventlet/eventlet/actions?query=workflow%3Atest+branch%3Amaster
-        
-        .. image:: 
https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg
-            :target: https://codecov.io/gh/eventlet/eventlet
-        
-Platform: UNKNOWN
+Project-URL: Source, https://github.com/eventlet/eventlet
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: MIT License
@@ -105,3 +23,86 @@
 Classifier: Programming Language :: Python
 Classifier: Topic :: Internet
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
+License-File: LICENSE
+License-File: AUTHORS
+
+Eventlet is a concurrent networking library for Python that allows you to 
change how you run your code, not how you write it.
+
+It uses epoll or libevent for highly scalable non-blocking I/O.  Coroutines 
ensure that the developer uses a blocking style of programming that is similar 
to threading, but provide the benefits of non-blocking I/O.  The event dispatch 
is implicit, which means you can easily use Eventlet from the Python 
interpreter, or as a small part of a larger application.
+
+It's easy to get started using Eventlet, and easy to convert existing
+applications to use it.  Start off by looking at the `examples`_,
+`common design patterns`_, and the list of `basic API primitives`_.
+
+.. _examples: http://eventlet.net/doc/examples.html
+.. _common design patterns: http://eventlet.net/doc/design_patterns.html
+.. _basic API primitives: http://eventlet.net/doc/basic_usage.html
+
+
+Quick Example
+===============
+
+Here's something you can try right on the command line::
+
+    % python3
+    >>> import eventlet
+    >>> from eventlet.green.urllib.request import urlopen
+    >>> gt = eventlet.spawn(urlopen, 'http://eventlet.net')
+    >>> gt2 = eventlet.spawn(urlopen, 'http://secondlife.com')
+    >>> gt2.wait()
+    >>> gt.wait()
+
+
+Getting Eventlet
+==================
+
+The easiest way to get Eventlet is to use pip::
+
+  pip install -U eventlet
+
+To install latest development version once::
+
+  pip install -U https://github.com/eventlet/eventlet/archive/master.zip
+
+
+Building the Docs Locally
+=========================
+
+To build a complete set of HTML documentation, you must have Sphinx, which can 
be found at http://sphinx.pocoo.org/ (or installed with `pip install Sphinx`)::
+
+  cd doc
+  make html
+
+The built html files can be found in doc/_build/html afterward.
+
+
+Twisted
+=======
+
+Eventlet had Twisted hub in the past, but community interest to this 
integration has dropped over time,
+now it is not supported, so with apologies for any inconvenience we 
discontinue Twisted integration.
+
+If you have a project that uses Eventlet with Twisted, your options are:
+
+* use last working release eventlet==0.14
+* start a new project with only Twisted hub code, identify and fix problems. 
As of eventlet 0.13, `EVENTLET_HUB` environment variable can point to external 
modules.
+* fork Eventlet, revert Twisted removal, identify and fix problems. This work 
may be merged back into main project.
+
+Apologies for any inconvenience.
+
+Supported Python versions
+=========================
+
+Currently CPython 2.7 and 3.4+ are supported, but **2.7 and 3.4 support is 
deprecated and will be removed in the future**, only CPython 3.5+ support will 
remain.
+
+Flair
+=====
+
+.. image:: https://img.shields.io/pypi/v/eventlet
+    :target: https://pypi.org/project/eventlet/
+
+.. image:: 
https://img.shields.io/github/workflow/status/eventlet/eventlet/test/master
+    :target: 
https://github.com/eventlet/eventlet/actions?query=workflow%3Atest+branch%3Amaster
+
+.. image:: 
https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg
+    :target: https://codecov.io/gh/eventlet/eventlet
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.33.0/eventlet/__init__.py 
new/eventlet-0.33.1/eventlet/__init__.py
--- old/eventlet-0.33.0/eventlet/__init__.py    2021-11-16 20:59:32.000000000 
+0100
+++ new/eventlet-0.33.1/eventlet/__init__.py    2022-05-13 00:08:37.000000000 
+0200
@@ -8,7 +8,7 @@
         DeprecationWarning,
     )
 
-version_info = (0, 33, 0)
+version_info = (0, 33, 1)
 __version__ = '.'.join(map(str, version_info))
 # This is to make Debian packaging easier, it ignores import
 # errors of greenlet so that the packager can still at least
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.33.0/eventlet/lock.py 
new/eventlet-0.33.1/eventlet/lock.py
--- old/eventlet-0.33.0/eventlet/lock.py        2021-11-16 20:59:32.000000000 
+0100
+++ new/eventlet-0.33.1/eventlet/lock.py        2022-02-04 20:33:38.000000000 
+0100
@@ -1,3 +1,4 @@
+from eventlet import hubs
 from eventlet.semaphore import Semaphore
 
 
@@ -21,7 +22,15 @@
         if self.counter > 0:
             raise RuntimeError("release unlocked lock")
 
-        return super(Lock, self).release(blocking=blocking)
+        # Consciously *do not* call super().release(), but instead inline
+        # Semaphore.release() here. We've seen issues with logging._lock
+        # deadlocking because garbage collection happened to run mid-release
+        # and eliminating the extra stack frame should help prevent that.
+        # See https://github.com/eventlet/eventlet/issues/742
+        self.counter += 1
+        if self._waiters:
+            hubs.get_hub().schedule_call_global(0, self._do_acquire)
+        return True
 
     def _at_fork_reinit(self):
         self.counter = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.33.0/eventlet.egg-info/PKG-INFO 
new/eventlet-0.33.1/eventlet.egg-info/PKG-INFO
--- old/eventlet-0.33.0/eventlet.egg-info/PKG-INFO      2021-11-16 
21:00:11.000000000 +0100
+++ new/eventlet-0.33.1/eventlet.egg-info/PKG-INFO      2022-05-13 
00:27:29.000000000 +0200
@@ -1,93 +1,11 @@
 Metadata-Version: 2.1
 Name: eventlet
-Version: 0.33.0
+Version: 0.33.1
 Summary: Highly concurrent networking library
 Home-page: http://eventlet.net
 Author: Linden Lab
 Author-email: [email protected]
-License: UNKNOWN
-Description: Eventlet is a concurrent networking library for Python that 
allows you to change how you run your code, not how you write it.
-        
-        It uses epoll or libevent for highly scalable non-blocking I/O.  
Coroutines ensure that the developer uses a blocking style of programming that 
is similar to threading, but provide the benefits of non-blocking I/O.  The 
event dispatch is implicit, which means you can easily use Eventlet from the 
Python interpreter, or as a small part of a larger application.
-        
-        It's easy to get started using Eventlet, and easy to convert existing
-        applications to use it.  Start off by looking at the `examples`_,
-        `common design patterns`_, and the list of `basic API primitives`_.
-        
-        .. _examples: http://eventlet.net/doc/examples.html
-        .. _common design patterns: 
http://eventlet.net/doc/design_patterns.html
-        .. _basic API primitives: http://eventlet.net/doc/basic_usage.html
-        
-        
-        Quick Example
-        ===============
-        
-        Here's something you can try right on the command line::
-        
-            % python3
-            >>> import eventlet
-            >>> from eventlet.green.urllib.request import urlopen
-            >>> gt = eventlet.spawn(urlopen, 'http://eventlet.net')
-            >>> gt2 = eventlet.spawn(urlopen, 'http://secondlife.com')
-            >>> gt2.wait()
-            >>> gt.wait()
-        
-        
-        Getting Eventlet
-        ==================
-        
-        The easiest way to get Eventlet is to use pip::
-        
-          pip install -U eventlet
-        
-        To install latest development version once::
-        
-          pip install -U 
https://github.com/eventlet/eventlet/archive/master.zip
-        
-        
-        Building the Docs Locally
-        =========================
-        
-        To build a complete set of HTML documentation, you must have Sphinx, 
which can be found at http://sphinx.pocoo.org/ (or installed with `pip install 
Sphinx`)::
-        
-          cd doc
-          make html
-        
-        The built html files can be found in doc/_build/html afterward.
-        
-        
-        Twisted
-        =======
-        
-        Eventlet had Twisted hub in the past, but community interest to this 
integration has dropped over time,
-        now it is not supported, so with apologies for any inconvenience we 
discontinue Twisted integration.
-        
-        If you have a project that uses Eventlet with Twisted, your options 
are:
-        
-        * use last working release eventlet==0.14
-        * start a new project with only Twisted hub code, identify and fix 
problems. As of eventlet 0.13, `EVENTLET_HUB` environment variable can point to 
external modules.
-        * fork Eventlet, revert Twisted removal, identify and fix problems. 
This work may be merged back into main project.
-        
-        Apologies for any inconvenience.
-        
-        Supported Python versions
-        =========================
-        
-        Currently CPython 2.7 and 3.4+ are supported, but **2.7 and 3.4 
support is deprecated and will be removed in the future**, only CPython 3.5+ 
support will remain.
-        
-        Flair
-        =====
-        
-        .. image:: https://img.shields.io/pypi/v/eventlet
-            :target: https://pypi.org/project/eventlet/
-        
-        .. image:: 
https://img.shields.io/github/workflow/status/eventlet/eventlet/test/master
-            :target: 
https://github.com/eventlet/eventlet/actions?query=workflow%3Atest+branch%3Amaster
-        
-        .. image:: 
https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg
-            :target: https://codecov.io/gh/eventlet/eventlet
-        
-Platform: UNKNOWN
+Project-URL: Source, https://github.com/eventlet/eventlet
 Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: MIT License
@@ -105,3 +23,86 @@
 Classifier: Programming Language :: Python
 Classifier: Topic :: Internet
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
+License-File: LICENSE
+License-File: AUTHORS
+
+Eventlet is a concurrent networking library for Python that allows you to 
change how you run your code, not how you write it.
+
+It uses epoll or libevent for highly scalable non-blocking I/O.  Coroutines 
ensure that the developer uses a blocking style of programming that is similar 
to threading, but provide the benefits of non-blocking I/O.  The event dispatch 
is implicit, which means you can easily use Eventlet from the Python 
interpreter, or as a small part of a larger application.
+
+It's easy to get started using Eventlet, and easy to convert existing
+applications to use it.  Start off by looking at the `examples`_,
+`common design patterns`_, and the list of `basic API primitives`_.
+
+.. _examples: http://eventlet.net/doc/examples.html
+.. _common design patterns: http://eventlet.net/doc/design_patterns.html
+.. _basic API primitives: http://eventlet.net/doc/basic_usage.html
+
+
+Quick Example
+===============
+
+Here's something you can try right on the command line::
+
+    % python3
+    >>> import eventlet
+    >>> from eventlet.green.urllib.request import urlopen
+    >>> gt = eventlet.spawn(urlopen, 'http://eventlet.net')
+    >>> gt2 = eventlet.spawn(urlopen, 'http://secondlife.com')
+    >>> gt2.wait()
+    >>> gt.wait()
+
+
+Getting Eventlet
+==================
+
+The easiest way to get Eventlet is to use pip::
+
+  pip install -U eventlet
+
+To install latest development version once::
+
+  pip install -U https://github.com/eventlet/eventlet/archive/master.zip
+
+
+Building the Docs Locally
+=========================
+
+To build a complete set of HTML documentation, you must have Sphinx, which can 
be found at http://sphinx.pocoo.org/ (or installed with `pip install Sphinx`)::
+
+  cd doc
+  make html
+
+The built html files can be found in doc/_build/html afterward.
+
+
+Twisted
+=======
+
+Eventlet had Twisted hub in the past, but community interest to this 
integration has dropped over time,
+now it is not supported, so with apologies for any inconvenience we 
discontinue Twisted integration.
+
+If you have a project that uses Eventlet with Twisted, your options are:
+
+* use last working release eventlet==0.14
+* start a new project with only Twisted hub code, identify and fix problems. 
As of eventlet 0.13, `EVENTLET_HUB` environment variable can point to external 
modules.
+* fork Eventlet, revert Twisted removal, identify and fix problems. This work 
may be merged back into main project.
+
+Apologies for any inconvenience.
+
+Supported Python versions
+=========================
+
+Currently CPython 2.7 and 3.4+ are supported, but **2.7 and 3.4 support is 
deprecated and will be removed in the future**, only CPython 3.5+ support will 
remain.
+
+Flair
+=====
+
+.. image:: https://img.shields.io/pypi/v/eventlet
+    :target: https://pypi.org/project/eventlet/
+
+.. image:: 
https://img.shields.io/github/workflow/status/eventlet/eventlet/test/master
+    :target: 
https://github.com/eventlet/eventlet/actions?query=workflow%3Atest+branch%3Amaster
+
+.. image:: 
https://codecov.io/gh/eventlet/eventlet/branch/master/graph/badge.svg
+    :target: https://codecov.io/gh/eventlet/eventlet
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.33.0/setup.py new/eventlet-0.33.1/setup.py
--- old/eventlet-0.33.0/setup.py        2021-11-16 20:59:32.000000000 +0100
+++ new/eventlet-0.33.1/setup.py        2022-03-02 11:13:27.000000000 +0100
@@ -13,6 +13,9 @@
     author='Linden Lab',
     author_email='[email protected]',
     url='http://eventlet.net',
+    project_urls={
+        'Source': 'https://github.com/eventlet/eventlet',
+    },
     packages=setuptools.find_packages(exclude=['benchmarks', 'tests', 
'tests.*']),
     install_requires=(
         'dnspython >= 1.15.0',

Reply via email to