diff --git a/gevent-25.5.1.tar.gz b/gevent-25.5.1.tar.gz deleted file mode 100644 index 305ad4c..0000000 --- a/gevent-25.5.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:582c948fa9a23188b890d0bc130734a506d039a2e5ad87dae276a456cc683e61 -size 6388207 diff --git a/gevent-25.9.1.tar.gz b/gevent-25.9.1.tar.gz new file mode 100644 index 0000000..1dad19a --- /dev/null +++ b/gevent-25.9.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e64d86fda5704972ad03f04b128fe16c085bdec9615a17d906a6d83d7ac58716 +size 4647126 diff --git a/gevent-openssl35-test-fix.patch b/gevent-openssl35-test-fix.patch deleted file mode 100644 index 4f62382..0000000 --- a/gevent-openssl35-test-fix.patch +++ /dev/null @@ -1,185 +0,0 @@ -Index: gevent-25.4.2/src/greentest/3.11/test_ssl.py -=================================================================== ---- gevent-25.4.2.orig/src/greentest/3.11/test_ssl.py -+++ gevent-25.4.2/src/greentest/3.11/test_ssl.py -@@ -2492,7 +2492,6 @@ class ThreadedEchoServer(threading.Threa - # See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ - if e.errno != errno.EPROTOTYPE and sys.platform != "darwin": - self.running = False -- self.server.stop() - self.close() - return False - else: -@@ -2627,10 +2626,6 @@ class ThreadedEchoServer(threading.Threa - self.close() - self.running = False - -- # normally, we'd just stop here, but for the test -- # harness, we want to stop the server -- self.server.stop() -- - def __init__(self, certificate=None, ssl_version=None, - certreqs=None, cacerts=None, - chatty=True, connectionchatty=False, starttls_server=False, -@@ -2664,21 +2659,33 @@ class ThreadedEchoServer(threading.Threa - self.conn_errors = [] - threading.Thread.__init__(self) - self.daemon = True -+ self._in_context = False - - def __enter__(self): -+ if self._in_context: -+ raise ValueError('Re-entering ThreadedEchoServer context') -+ self._in_context = True - self.start(threading.Event()) - self.flag.wait() - return self - - def __exit__(self, *args): -+ assert self._in_context -+ self._in_context = False - self.stop() - self.join() - - def start(self, flag=None): -+ if not self._in_context: -+ raise ValueError( -+ 'ThreadedEchoServer must be used as a context manager') - self.flag = flag - threading.Thread.start(self) - - def run(self): -+ if not self._in_context: -+ raise ValueError( -+ 'ThreadedEchoServer must be used as a context manager') - self.sock.settimeout(1.0) - self.sock.listen(5) - self.active = True -Index: gevent-25.4.2/src/greentest/3.10/test_ssl.py -=================================================================== ---- gevent-25.4.2.orig/src/greentest/3.10/test_ssl.py -+++ gevent-25.4.2/src/greentest/3.10/test_ssl.py -@@ -2485,7 +2485,6 @@ class ThreadedEchoServer(threading.Threa - # See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ - if e.errno != errno.EPROTOTYPE and sys.platform != "darwin": - self.running = False -- self.server.stop() - self.close() - return False - else: -@@ -2620,9 +2619,6 @@ class ThreadedEchoServer(threading.Threa - self.close() - self.running = False - -- # normally, we'd just stop here, but for the test -- # harness, we want to stop the server -- self.server.stop() - - def __init__(self, certificate=None, ssl_version=None, - certreqs=None, cacerts=None, -@@ -2657,21 +2653,33 @@ class ThreadedEchoServer(threading.Threa - self.conn_errors = [] - threading.Thread.__init__(self) - self.daemon = True -+ self._in_context = False - - def __enter__(self): -+ if self._in_context: -+ raise ValueError('Re-entering ThreadedEchoServer context') -+ self._in_context = True - self.start(threading.Event()) - self.flag.wait() - return self - - def __exit__(self, *args): -+ assert self._in_context -+ self._in_context = False - self.stop() - self.join() - - def start(self, flag=None): -+ if not self._in_context: -+ raise ValueError( -+ 'ThreadedEchoServer must be used as a context manager') - self.flag = flag - threading.Thread.start(self) - - def run(self): -+ if not self._in_context: -+ raise ValueError( -+ 'ThreadedEchoServer must be used as a context manager') - self.sock.settimeout(1.0) - self.sock.listen(5) - self.active = True -Index: gevent-25.4.2/src/greentest/3.12/test_ssl.py -=================================================================== ---- gevent-25.4.2.orig/src/greentest/3.12/test_ssl.py -+++ gevent-25.4.2/src/greentest/3.12/test_ssl.py -@@ -2300,7 +2300,6 @@ class ThreadedEchoServer(threading.Threa - # See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ - if e.errno != errno.EPROTOTYPE and sys.platform != "darwin": - self.running = False -- self.server.stop() - self.close() - return False - else: -@@ -2435,10 +2434,6 @@ class ThreadedEchoServer(threading.Threa - self.close() - self.running = False - -- # normally, we'd just stop here, but for the test -- # harness, we want to stop the server -- self.server.stop() -- - def __init__(self, certificate=None, ssl_version=None, - certreqs=None, cacerts=None, - chatty=True, connectionchatty=False, starttls_server=False, -@@ -2472,21 +2467,33 @@ class ThreadedEchoServer(threading.Threa - self.conn_errors = [] - threading.Thread.__init__(self) - self.daemon = True -+ self._in_context = False - - def __enter__(self): -+ if self._in_context: -+ raise ValueError('Re-entering ThreadedEchoServer context') -+ self._in_context = True - self.start(threading.Event()) - self.flag.wait() - return self - - def __exit__(self, *args): -+ assert self._in_context -+ self._in_context = False - self.stop() - self.join() - - def start(self, flag=None): -+ if not self._in_context: -+ raise ValueError( -+ 'ThreadedEchoServer must be used as a context manager') - self.flag = flag - threading.Thread.start(self) - - def run(self): -+ if not self._in_context: -+ raise ValueError( -+ 'ThreadedEchoServer must be used as a context manager') - self.sock.settimeout(1.0) - self.sock.listen(5) - self.active = True -Index: gevent-25.4.2/src/greentest/3.9/test_ssl.py -=================================================================== ---- gevent-25.4.2.orig/src/greentest/3.9/test_ssl.py -+++ gevent-25.4.2/src/greentest/3.9/test_ssl.py -@@ -2559,10 +2559,6 @@ class ThreadedEchoServer(threading.Threa - self.close() - self.running = False - -- # normally, we'd just stop here, but for the test -- # harness, we want to stop the server -- self.server.stop() -- - def __init__(self, certificate=None, ssl_version=None, - certreqs=None, cacerts=None, - chatty=True, connectionchatty=False, starttls_server=False, diff --git a/python-gevent.changes b/python-gevent.changes index 1516b72..648293d 100644 --- a/python-gevent.changes +++ b/python-gevent.changes @@ -1,3 +1,62 @@ +------------------------------------------------------------------- +Mon Oct 6 13:08:13 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 25.9.1 + * gevent is now tested on PyPy 3.11 v7.3.20. Previously it was tested + with the now end-of-life PyPy 3.10 v7.3.17. + * Fix a ``TypeError`` in the C extensions when attempting to put items + into a full ``SimpleQueue.`` + It is believed this problem started in version 25.4.1. On older + versions, using the environment variable ``PURE_PYTHON`` or + ``GEVENT_PURE_PYTHON`` works around + See :issue:`2139`. +- from version 25.8.2 + * Make the ``queue`` attribute of ``gevent.queue.Queue`` objects + writable from Python when the C extension is in use. When + monkey-patched, this lets subclasses assign to it from their ``_init`` + method. (Prior to 25.8.1 the ``_init`` method simply wasn't called.) + See :issue:`2136`. +- from version 25.8.1 + * gevent is now tested on the latest available versions of Python: + 3.14rc1, 3.13.5, 3.12.11, 3.11.13, and 3.10.18. + We expect to remove support for Python 3.9 soon. + * Prevent an ``AssertionError`` (from ``AbstractLinkable``, such as + locks, events, etc) from being printed after ``os.fork`` under certain + conditions. + See also :issue:`2058`. + See :issue:`1895`. + * Avoid a rare ``AttributeError`` that could occur during circular + garbage collection. + See :issue:`1961`. + * Update c-ares from 1.33.1 to 1.34.5. + This contains `a bug fix `_ + resolving excess CPU usage for certain platforms. + See :issue:`2084`. + * Fix several possible interpreter crashes when there are race + conditions or programmers don't follow the documented rules and close + open files while they are still in use by other components. + For example, :meth:`selectors.BaseSelector.unregister` says "A file + object shall be unregistered prior to being closed." Failure to do so + is implementation dependent; in gevent, with libev compiled with + debugging enabled, this would crash the process, and with libuv, + an unexpected, uncatchable exception would be raised. Now, more common + failure scenarios are handled gracefully. + This also means that gevent now monkey-patches :func:`os.close` (on + POSIX) to help handle these cases. + See :issue:`2100`. + * Fix some ignored AssertionErrors after forking on older versions of + Python. + See also :issue:`2111`. + See :issue:`2111`. + * Make the classes in ``gevent.queue`` more compatible with classes that + expect to subclass the standard library queue classes. + See :issue:`2114`. + * Provide ``gevent.signal.set_wakeup_fd`` (monkey-patched by default) to + allow waking up on ``SIGCHLD``. Previously, gevent's internal handling + of ``SIGCHLD`` prevented this from working. + See :issue:`2126`. +- Drop gevent-openssl35-test-fix.patch, merged upstream + ------------------------------------------------------------------- Mon Jun 23 20:17:43 UTC 2025 - Matej Cepl diff --git a/python-gevent.spec b/python-gevent.spec index bea4bc9..f84c6f7 100644 --- a/python-gevent.spec +++ b/python-gevent.spec @@ -26,7 +26,7 @@ %bcond_with colortest %{?sle15_python_module_pythons} Name: python-gevent -Version: 25.5.1 +Version: 25.9.1 Release: 0 Summary: Python network library that uses greenlet and libevent License: MIT @@ -36,8 +36,6 @@ Source0: https://github.com/gevent/gevent/archive/%{version}.tar.gz#/geve Source100: %{name}-rpmlintrc # PATCH-FEATURE-OPENSUSE gevent-opensuse-nocolor-tests.patch code@bnavigator.de -- Avoid colorization of test output in obs runners Patch2: gevent-opensuse-nocolor-tests.patch -# PATCH-FEATURE-OPENSUSE gevent-openssl35-test-fix.patch pmonreal@suse.com -- Handle BrokenPipeError -Patch3: gevent-openssl35-test-fix.patch BuildRequires: %{python_module Cython >= 3.0.2} BuildRequires: %{python_module backports.entry_points_selectable} BuildRequires: %{python_module cffi}