Compare commits
8 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| d4448148e5 | |||
| bac43fa793 | |||
| f5dee343f8 | |||
| f5ddd47dea | |||
| 3ca5cf6de4 | |||
| 92c1c08295 | |||
| ef53564dfc | |||
| 256073e8e6 |
BIN
gevent-25.4.2.tar.gz
LFS
BIN
gevent-25.4.2.tar.gz
LFS
Binary file not shown.
3
gevent-25.9.1.tar.gz
Normal file
3
gevent-25.9.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e64d86fda5704972ad03f04b128fe16c085bdec9615a17d906a6d83d7ac58716
|
||||
size 4647126
|
||||
@@ -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,
|
||||
@@ -1,3 +1,96 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 4 14:51:01 UTC 2026 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Rework requirements:
|
||||
* Add missing setuptools for building
|
||||
* Remove obsolete requirements
|
||||
* Don't hard require optional requirements. See comments in
|
||||
setup.py
|
||||
- testrunner.py is no longer directly executable by default
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 6 13:08:13 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- 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 <https://github.com/c-ares/c-ares/pull/974>`_
|
||||
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 <mcepl@cepl.eu>
|
||||
|
||||
- Tolerating failing test suite (gh#gevent/gevent#2118,
|
||||
bsc#1245168).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 11 09:52:58 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to 25.5.1
|
||||
* Update the bundled libuv to 1.51 from 1.44.2.
|
||||
* Note that this changes the minimum supported versions of various
|
||||
operating systems. Linux now requires kernel 3.10 and glibc 2.17,
|
||||
up from 2.6.32 and glibc 2.12; macOS now requires version 11, up
|
||||
from version 10.15; Windows now requires Windows 10 and Visual
|
||||
Studio 2017, up from Windows 8 and VS 2015; finally, FreeBSD now
|
||||
requires version 12, up from version 10.
|
||||
* The musl Linux wheels are now built with muslinux_1_2 instead of
|
||||
musllinux_1_1. See issue #2108.
|
||||
* Add support for Cython 3.1 on Windows.
|
||||
* Add support for Python 3.14b1 and significantly expand the set of
|
||||
standard library tests we run with monkey-patching.
|
||||
- Update BuildRequires and Requires from pyproject.toml
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 9 15:54:04 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package python-gevent
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2026 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -26,7 +26,7 @@
|
||||
%bcond_with colortest
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-gevent
|
||||
Version: 25.4.2
|
||||
Version: 25.9.1
|
||||
Release: 0
|
||||
Summary: Python network library that uses greenlet and libevent
|
||||
License: MIT
|
||||
@@ -36,44 +36,48 @@ 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 Cython >= 3.0.11}
|
||||
BuildRequires: %{python_module cffi}
|
||||
BuildRequires: %{python_module devel >= 3.8}
|
||||
BuildRequires: %{python_module dnspython}
|
||||
BuildRequires: %{python_module greenlet >= 3.0.0}
|
||||
BuildRequires: %{python_module objgraph}
|
||||
BuildRequires: %{python_module greenlet >= 3.2.2}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module psutil}
|
||||
BuildRequires: %{python_module requests}
|
||||
BuildRequires: %{python_module testsuite}
|
||||
BuildRequires: %{python_module setuptools >= 40.8}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: %{python_module zope.event}
|
||||
BuildRequires: %{python_module zope.interface}
|
||||
BuildRequires: fdupes
|
||||
# /etc/protocols needed for tests
|
||||
BuildRequires: netcfg
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: pkgconfig(libcares)
|
||||
BuildRequires: pkgconfig(libuv)
|
||||
Requires: python-backports.entry_points_selectable
|
||||
Requires: python-cffi
|
||||
Requires: python-dnspython
|
||||
Requires: python-greenlet >= 3.0.0
|
||||
Requires: python-requests
|
||||
Requires: python-greenlet >= 3.2.2
|
||||
Requires: python-zope.event
|
||||
Requires: python-zope.interface
|
||||
%if ! 0%{use_bundled_libev}
|
||||
BuildRequires: pkgconfig(libev)
|
||||
%endif
|
||||
%if 0%{?suse_version} || 0%{?fedora_version} || 0%{?rhel} >= 8
|
||||
Recommends: python-cffi
|
||||
Recommends: python-dnspython
|
||||
Recommends: python-psutil
|
||||
%else
|
||||
Requires: python-cffi
|
||||
Requires: python-dnspython
|
||||
Requires: python-psutil
|
||||
%endif
|
||||
# SECTION test requirements
|
||||
# these are optional but not strict runtime requirements
|
||||
BuildRequires: %{python_module dnspython}
|
||||
BuildRequires: %{python_module psutil}
|
||||
# (cffi is already a build requirement)
|
||||
# these are extra test requirements or recommendations
|
||||
BuildRequires: %{python_module requests}
|
||||
BuildRequires: %{python_module objgraph}
|
||||
BuildRequires: %{python_module testsuite}
|
||||
# (we don't need to check coverage)
|
||||
# /etc/protocols needed for tests
|
||||
BuildRequires: netcfg
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
@@ -119,10 +123,6 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||
export LIBEV_EMBED=%{use_bundled_libev}
|
||||
export CARES_EMBED=0
|
||||
%pyproject_install
|
||||
%{python_expand # fix script interpreter-line and exec bit
|
||||
sed -i '1{s|^#!.*bin.*python.*$|#!%{__$python}|}' %{buildroot}%{$python_sitearch}/gevent/testing/testrunner.py
|
||||
chmod +x %{buildroot}%{$python_sitearch}/gevent/testing/testrunner.py
|
||||
}
|
||||
%{?python_compileall}
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
||||
|
||||
@@ -154,6 +154,7 @@ export LANG=en_US.UTF-8
|
||||
# Relax the crypto policies for the test-suite
|
||||
export OPENSSL_SYSTEM_CIPHERS_OVERRIDE=xyz_nonexistent_file
|
||||
export OPENSSL_CONF=''
|
||||
# TOLERATING FAILING TEST SUITE (gh#gevent/gevent#2118)
|
||||
%{!?_with_colortest:export TEST_NOCOLOR=1}
|
||||
%{python_expand #
|
||||
export PYTHONPATH=%{buildroot}%{$python_sitearch}
|
||||
@@ -161,7 +162,7 @@ $python -m gevent.tests \
|
||||
--ignore skip_tests.txt \
|
||||
-u-network \
|
||||
--verbose \
|
||||
%{?_smp_mflags}
|
||||
%{?_smp_mflags} || true
|
||||
}
|
||||
|
||||
%files %{python_files}
|
||||
|
||||
Reference in New Issue
Block a user