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 2026-08-22 21:34:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-eventlet (Old)
 and      /work/SRC/openSUSE:Factory/.python-eventlet.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-eventlet"

Sat Aug 22 21:34:37 2026 rev:69 rq:1372810 version:0.41.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-eventlet/python-eventlet.changes  
2026-06-10 15:47:40.163083418 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-eventlet.new.1258/python-eventlet.changes    
    2026-08-22 21:35:43.100288021 +0200
@@ -1,0 +2,9 @@
+Fri Aug 21 10:21:46 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.41.2:
+  * Fix compatibility with greenlet >= 3.4 (#1101)
+  * CI: Run apt-get update before installing system packages
+  * Bump actions dependent on nodejs 20 (#1091)
+  * wsgi: Handle ENOTCONN (#1092)
+
+-------------------------------------------------------------------

Old:
----
  eventlet-0.41.0.tar.gz

New:
----
  eventlet-0.41.2.tar.gz

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

Other differences:
------------------
++++++ python-eventlet.spec ++++++
--- /var/tmp/diff_new_pack.a9tOfa/_old  2026-08-22 21:35:45.225363862 +0200
+++ /var/tmp/diff_new_pack.a9tOfa/_new  2026-08-22 21:35:45.231364076 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-eventlet
-Version:        0.41.0
+Version:        0.41.2
 Release:        0
 Summary:        Concurrent networking library for Python
 License:        MIT

++++++ eventlet-0.41.0.tar.gz -> eventlet-0.41.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/.github/workflows/docs.yaml 
new/eventlet-0.41.2/.github/workflows/docs.yaml
--- old/eventlet-0.41.0/.github/workflows/docs.yaml     2020-02-02 
01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/.github/workflows/docs.yaml     2020-02-02 
01:00:00.000000000 +0100
@@ -11,9 +11,9 @@
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v4
+    - uses: actions/checkout@v5
     - name: Set up Python
-      uses: actions/setup-python@v5
+      uses: actions/setup-python@v6
       with:
         python-version: '3.x'
     - name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/.github/workflows/publish.yaml 
new/eventlet-0.41.2/.github/workflows/publish.yaml
--- old/eventlet-0.41.0/.github/workflows/publish.yaml  2020-02-02 
01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/.github/workflows/publish.yaml  2020-02-02 
01:00:00.000000000 +0100
@@ -19,9 +19,9 @@
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout@v4
+    - uses: actions/checkout@v5
     - name: Set up Python
-      uses: actions/setup-python@v5
+      uses: actions/setup-python@v6
       with:
         python-version: '3.x'
     - name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/.github/workflows/style.yaml 
new/eventlet-0.41.2/.github/workflows/style.yaml
--- old/eventlet-0.41.0/.github/workflows/style.yaml    2020-02-02 
01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/.github/workflows/style.yaml    2020-02-02 
01:00:00.000000000 +0100
@@ -10,10 +10,10 @@
     timeout-minutes: 5
 
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
 
       - name: cache pip
-        uses: actions/cache@v4
+        uses: actions/cache@v5
         with:
           path: ~/.cache/pip
           key: ${{ runner.os }}-pip-${{ 
hashFiles('.github/workflows/style.yaml') }}
@@ -21,7 +21,7 @@
             ${{ runner.os }}-pip-
             ${{ runner.os }}-
       - name: cache tox
-        uses: actions/cache@v4
+        uses: actions/cache@v5
         with:
           path: .tox
           key: ${{ runner.os }}-tox-style-${{ hashFiles('tox.ini') }}
@@ -31,7 +31,7 @@
             ${{ runner.os }}-
 
       - name: setup python
-        uses: actions/setup-python@v5
+        uses: actions/setup-python@v6
         with:
           python-version: 3.x
       - name: install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/.github/workflows/test.yaml 
new/eventlet-0.41.2/.github/workflows/test.yaml
--- old/eventlet-0.41.0/.github/workflows/test.yaml     2020-02-02 
01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/.github/workflows/test.yaml     2020-02-02 
01:00:00.000000000 +0100
@@ -47,11 +47,13 @@
 
     steps:
       - name: install system packages
-        run: sudo apt install -y --no-install-recommends ccache libffi-dev 
default-libmysqlclient-dev libpq-dev libssl-dev libzmq3-dev
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y --no-install-recommends ccache libffi-dev 
default-libmysqlclient-dev libpq-dev libssl-dev libzmq3-dev
 
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v5
       - name: cache pip
-        uses: actions/cache@v4
+        uses: actions/cache@v5
         with:
           path: ~/.cache/pip
           key: ${{ runner.os }}-pip-${{ matrix.toxenv }}-${{ 
hashFiles('.github/workflows/test.yaml', 'setup.py') }}
@@ -59,7 +61,7 @@
             ${{ runner.os }}-pip-
             ${{ runner.os }}-
       - name: cache tox
-        uses: actions/cache@v4
+        uses: actions/cache@v5
         with:
           path: .tox
           key: ${{ runner.os }}-tox-${{ matrix.toxenv }}-${{ 
hashFiles('tox.ini') }}
@@ -68,7 +70,7 @@
             ${{ runner.os }}-
 
       - name: setup python ${{ matrix.py }}
-        uses: actions/setup-python@v5
+        uses: actions/setup-python@v6
         with:
           python-version: ${{ matrix.py }}
       - name: install codecov, tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/NEWS new/eventlet-0.41.2/NEWS
--- old/eventlet-0.41.0/NEWS    2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/NEWS    2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,17 @@
 Unreleased
 ==========
 
+0.41.2
+======
+* Fix compatibility with greenlet >= 3.4 (#1101)
+* CI: Run apt-get update before installing system packages (#1102)
+
+0.41.1
+======
+
+* Bump actions dependent on nodejs 20 (#1091)
+* wsgi: Handle ENOTCONN (#1092)
+
 0.41.0
 ======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/PKG-INFO new/eventlet-0.41.2/PKG-INFO
--- old/eventlet-0.41.0/PKG-INFO        2020-02-02 01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/PKG-INFO        2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.4
+Metadata-Version: 2.5
 Name: eventlet
-Version: 0.41.0
+Version: 0.41.2
 Summary: Highly concurrent networking library
 Project-URL: Homepage, https://github.com/eventlet/eventlet
 Project-URL: History, https://github.com/eventlet/eventlet/blob/master/NEWS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/eventlet/_version.py 
new/eventlet-0.41.2/eventlet/_version.py
--- old/eventlet-0.41.0/eventlet/_version.py    2020-02-02 01:00:00.000000000 
+0100
+++ new/eventlet-0.41.2/eventlet/_version.py    2020-02-02 01:00:00.000000000 
+0100
@@ -18,7 +18,7 @@
 commit_id: str | None
 __commit_id__: str | None
 
-__version__ = version = '0.41.0'
-__version_tuple__ = version_tuple = (0, 41, 0)
+__version__ = version = '0.41.2'
+__version_tuple__ = version_tuple = (0, 41, 2)
 
 __commit_id__ = commit_id = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/eventlet/green/thread.py 
new/eventlet-0.41.2/eventlet/green/thread.py
--- old/eventlet-0.41.0/eventlet/green/thread.py        2020-02-02 
01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/eventlet/green/thread.py        2020-02-02 
01:00:00.000000000 +0100
@@ -6,6 +6,8 @@
 from eventlet.lock import Lock
 import sys
 
+_real_get_ident = __thread.get_ident
+
 
 __patched__ = ['Lock', 'LockType', '_ThreadHandle', '_count',
                '_get_main_thread_ident', '_local', '_make_thread_handle',
@@ -36,7 +38,10 @@
 
 def get_ident(gr=None):
     if gr is None:
-        return id(greenlet.getcurrent())
+        try:
+            return id(greenlet.getcurrent())
+        except RuntimeError:
+            return _real_get_ident()
     else:
         return id(gr)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/eventlet/semaphore.py 
new/eventlet-0.41.2/eventlet/semaphore.py
--- old/eventlet-0.41.0/eventlet/semaphore.py   2020-02-02 01:00:00.000000000 
+0100
+++ new/eventlet-0.41.2/eventlet/semaphore.py   2020-02-02 01:00:00.000000000 
+0100
@@ -94,7 +94,13 @@
         if not blocking and self.locked():
             return False
 
-        current_thread = eventlet.getcurrent()
+        try:
+            current_thread = eventlet.getcurrent()
+        except RuntimeError:
+            if self.counter > 0:
+                self.counter -= 1
+                return True
+            return False
 
         if self.counter <= 0 or self._waiters:
             if current_thread not in self._waiters:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/eventlet/wsgi.py 
new/eventlet-0.41.2/eventlet/wsgi.py
--- old/eventlet-0.41.0/eventlet/wsgi.py        2020-02-02 01:00:00.000000000 
+0100
+++ new/eventlet-0.41.2/eventlet/wsgi.py        2020-02-02 01:00:00.000000000 
+0100
@@ -924,11 +924,12 @@
 try:
     import ssl
     ACCEPT_EXCEPTIONS = (socket.error, ssl.SSLError)
-    ACCEPT_ERRNO = {errno.EPIPE, errno.ECONNRESET,
+    ACCEPT_ERRNO = {errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN,
                     errno.ESHUTDOWN, ssl.SSL_ERROR_EOF, ssl.SSL_ERROR_SSL}
 except ImportError:
     ACCEPT_EXCEPTIONS = (socket.error,)
-    ACCEPT_ERRNO = {errno.EPIPE, errno.ECONNRESET, errno.ESHUTDOWN}
+    ACCEPT_ERRNO = {errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN,
+                    errno.ESHUTDOWN}
 
 
 def socket_repr(sock):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/eventlet-0.41.0/tests/greendns_test.py 
new/eventlet-0.41.2/tests/greendns_test.py
--- old/eventlet-0.41.0/tests/greendns_test.py  2020-02-02 01:00:00.000000000 
+0100
+++ new/eventlet-0.41.2/tests/greendns_test.py  2020-02-02 01:00:00.000000000 
+0100
@@ -299,13 +299,17 @@
 class TestProxyResolver(tests.LimitedTestCase):
 
     def test_clear(self):
-        rp = greendns.ResolverProxy()
+        tmp = tempfile.NamedTemporaryFile(mode='w', suffix='.conf')
+        tmp.write('nameserver 127.0.0.1\n')
+        tmp.flush()
+        rp = greendns.ResolverProxy(filename=tmp.name)
         assert rp._cached_resolver is None
         resolver = rp._resolver
         assert resolver is not None
         rp.clear()
         assert rp._resolver is not None
         assert rp._resolver != resolver
+        tmp.close()
 
     def _make_mock_hostsresolver(self):
         """A mocked HostsResolver"""
@@ -916,7 +920,7 @@
         # https://github.com/eventlet/eventlet/issues/499
         # None means we don't want the server to find the IP
         with tests.dns_tcp_server(None) as dnsaddr:
-            resolver = Resolver()
+            resolver = Resolver(configure=False)
             resolver.nameservers = [dnsaddr[0]]
             resolver.nameserver_ports[dnsaddr[0]] = dnsaddr[1]
 
@@ -927,7 +931,7 @@
         # https://github.com/eventlet/eventlet/issues/499
         expected_ip = "192.168.1.1"
         with tests.dns_tcp_server(expected_ip) as dnsaddr:
-            resolver = Resolver()
+            resolver = Resolver(configure=False)
             resolver.nameservers = [dnsaddr[0]]
             resolver.nameserver_ports[dnsaddr[0]] = dnsaddr[1]
             response = resolver.query('host.example.com', 'a', tcp=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/eventlet-0.41.0/tests/isolated/socket_resolve_green.py 
new/eventlet-0.41.2/tests/isolated/socket_resolve_green.py
--- old/eventlet-0.41.0/tests/isolated/socket_resolve_green.py  2020-02-02 
01:00:00.000000000 +0100
+++ new/eventlet-0.41.2/tests/isolated/socket_resolve_green.py  2020-02-02 
01:00:00.000000000 +0100
@@ -3,11 +3,22 @@
 if __name__ == '__main__':
     import eventlet
     eventlet.monkey_patch(all=True)
+    import os
     import socket
+    import tempfile
     import time
     import dns.message
     import dns.query
     import dns.flags
+    from eventlet.support import greendns
+
+    # Ensure the global resolver proxy works even without /etc/resolv.conf
+    # (e.g. on Debian buildd servers). See 
https://github.com/eventlet/eventlet/issues/963
+    if not os.path.exists('/etc/resolv.conf'):
+        tmp = tempfile.NamedTemporaryFile(mode='w', suffix='.conf', 
delete=False)
+        tmp.write('nameserver 127.0.0.1\n')
+        tmp.close()
+        greendns.resolver._filename = tmp.name
 
     n = 10
     delay = 0.01

Reply via email to