Skip to content

Commit ed0f4bc

Browse files
mceplbmwiedemann
authored andcommitted
Update python-gevent to version 25.4.2 / rev 55 via SR 1272752
https://build.opensuse.org/request/show/1272752 by user mcepl + anag_factory - Update to 25.4.2: [bsc#1241067, bsc#1241037] * Make gevent's queue classes subscriptable to match the standard library. See issue #2102. * Make the c-ares resolver build on Windows. * The gevent testsuite runs a copy of the test_ssl from cpython but the follwoing change has not been ported yet: - gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError in ConnectionHandler [gh#python/cpython/pull/126503] - Rebase gevent-openssl35-test-fix.patch - Upstream PR: [gh#gevent/gevent/pull/2103] - Update to 25.4.1 * Remove some legacy code that supported Python 2 for compatibility with the upcoming releases of Cython 3.1. * Add a new environment variable and configuration setting to control whether blocking reports are printed by the monitor threa
1 parent a8c4f9c commit ed0f4bc

7 files changed

Lines changed: 243 additions & 29 deletions

File tree

‎packages/p/python-gevent/.files‎

-1 Bytes
Binary file not shown.

‎packages/p/python-gevent/.rev‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -812,4 +812,31 @@
812812
<comment></comment>
813813
<requestid>1271903</requestid>
814814
</revision>
815+
<revision rev="55" vrev="1">
816+
<srcmd5>35de81c69a5c701ffa267348c03c7f80</srcmd5>
817+
<version>25.4.2</version>
818+
<time>1745612272</time>
819+
<user>anag_factory</user>
820+
<comment>- Update to 25.4.2: [bsc#1241067, bsc#1241037]
821+
* Make gevent's queue classes subscriptable to match the standard
822+
library. See issue #2102.
823+
* Make the c-ares resolver build on Windows.
824+
* The gevent testsuite runs a copy of the test_ssl from cpython but
825+
the follwoing change has not been ported yet:
826+
- gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError
827+
in ConnectionHandler [gh#python/cpython/pull/126503]
828+
- Rebase gevent-openssl35-test-fix.patch
829+
- Upstream PR: [gh#gevent/gevent/pull/2103]
830+
831+
- Update to 25.4.1
832+
* Remove some legacy code that supported Python 2 for compatibility
833+
with the upcoming releases of Cython 3.1.
834+
* Add a new environment variable and configuration setting to control
835+
whether blocking reports are printed by the monitor thread.
836+
* Add initial support for Python 3.14a7.
837+
* Fix using gevent’s BackdoorServer with Unix sockets.
838+
* Do not use pywsgi in a security-conscious environment. Fix one
839+
security issue related to HTTP 100 Continue handling. See issue #2075.</comment>
840+
<requestid>1272752</requestid>
841+
</revision>
815842
</revisionlist>

‎packages/p/python-gevent/gevent-24.10.3.tar.gz‎

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/ipfs/bafybeibn3dxcs6dep6vbvv2uzkboapnd2islcxjpklfvofbmpgunzzhf2m
Lines changed: 185 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,185 @@
1-
From 366178299fe8d85b34e5f27da505e807470cfae4 Mon Sep 17 00:00:00 2001
2-
From: Pedro Monreal <pmgdeb@gmail.com>
3-
Date: Tue, 22 Apr 2025 15:32:21 +0200
4-
Subject: [PATCH] Deal with BrokenPipeError since openssl 3.4.x. Follows from
5-
gh-127257 and gh-115627.
6-
7-
---
8-
src/gevent/ssl.py | 6 ++++++
9-
1 file changed, 6 insertions(+)
10-
11-
diff --git a/src/gevent/ssl.py b/src/gevent/ssl.py
12-
index a2cd5ca4c..55831e050 100644
13-
--- a/src/gevent/ssl.py
14-
+++ b/src/gevent/ssl.py
15-
@@ -451,6 +451,12 @@ def read(self, nbytes=2014, buffer=None):
16-
if self.suppress_ragged_eofs:
17-
return b'' if buffer is None else bytes_read
18-
raise
19-
+ except BrokenPipeError:
20-
+ # Deal with BrokenPipeError from openssl 3.4.x and up
21-
+ # Follows from gh-127257 and gh-115627
22-
+ if self.suppress_ragged_eofs:
23-
+ return b'' if buffer is None else bytes_read
24-
+ raise
25-
except SSLError as ex:
26-
# All the other SSLxxxxxError classes extend SSLError,
27-
# so catch it last.
1+
Index: gevent-25.4.2/src/greentest/3.11/test_ssl.py
2+
===================================================================
3+
--- gevent-25.4.2.orig/src/greentest/3.11/test_ssl.py
4+
+++ gevent-25.4.2/src/greentest/3.11/test_ssl.py
5+
@@ -2492,7 +2492,6 @@ class ThreadedEchoServer(threading.Threa
6+
# See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/
7+
if e.errno != errno.EPROTOTYPE and sys.platform != "darwin":
8+
self.running = False
9+
- self.server.stop()
10+
self.close()
11+
return False
12+
else:
13+
@@ -2627,10 +2626,6 @@ class ThreadedEchoServer(threading.Threa
14+
self.close()
15+
self.running = False
16+
17+
- # normally, we'd just stop here, but for the test
18+
- # harness, we want to stop the server
19+
- self.server.stop()
20+
-
21+
def __init__(self, certificate=None, ssl_version=None,
22+
certreqs=None, cacerts=None,
23+
chatty=True, connectionchatty=False, starttls_server=False,
24+
@@ -2664,21 +2659,33 @@ class ThreadedEchoServer(threading.Threa
25+
self.conn_errors = []
26+
threading.Thread.__init__(self)
27+
self.daemon = True
28+
+ self._in_context = False
29+
30+
def __enter__(self):
31+
+ if self._in_context:
32+
+ raise ValueError('Re-entering ThreadedEchoServer context')
33+
+ self._in_context = True
34+
self.start(threading.Event())
35+
self.flag.wait()
36+
return self
37+
38+
def __exit__(self, *args):
39+
+ assert self._in_context
40+
+ self._in_context = False
41+
self.stop()
42+
self.join()
43+
44+
def start(self, flag=None):
45+
+ if not self._in_context:
46+
+ raise ValueError(
47+
+ 'ThreadedEchoServer must be used as a context manager')
48+
self.flag = flag
49+
threading.Thread.start(self)
50+
51+
def run(self):
52+
+ if not self._in_context:
53+
+ raise ValueError(
54+
+ 'ThreadedEchoServer must be used as a context manager')
55+
self.sock.settimeout(1.0)
56+
self.sock.listen(5)
57+
self.active = True
58+
Index: gevent-25.4.2/src/greentest/3.10/test_ssl.py
59+
===================================================================
60+
--- gevent-25.4.2.orig/src/greentest/3.10/test_ssl.py
61+
+++ gevent-25.4.2/src/greentest/3.10/test_ssl.py
62+
@@ -2485,7 +2485,6 @@ class ThreadedEchoServer(threading.Threa
63+
# See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/
64+
if e.errno != errno.EPROTOTYPE and sys.platform != "darwin":
65+
self.running = False
66+
- self.server.stop()
67+
self.close()
68+
return False
69+
else:
70+
@@ -2620,9 +2619,6 @@ class ThreadedEchoServer(threading.Threa
71+
self.close()
72+
self.running = False
73+
74+
- # normally, we'd just stop here, but for the test
75+
- # harness, we want to stop the server
76+
- self.server.stop()
77+
78+
def __init__(self, certificate=None, ssl_version=None,
79+
certreqs=None, cacerts=None,
80+
@@ -2657,21 +2653,33 @@ class ThreadedEchoServer(threading.Threa
81+
self.conn_errors = []
82+
threading.Thread.__init__(self)
83+
self.daemon = True
84+
+ self._in_context = False
85+
86+
def __enter__(self):
87+
+ if self._in_context:
88+
+ raise ValueError('Re-entering ThreadedEchoServer context')
89+
+ self._in_context = True
90+
self.start(threading.Event())
91+
self.flag.wait()
92+
return self
93+
94+
def __exit__(self, *args):
95+
+ assert self._in_context
96+
+ self._in_context = False
97+
self.stop()
98+
self.join()
99+
100+
def start(self, flag=None):
101+
+ if not self._in_context:
102+
+ raise ValueError(
103+
+ 'ThreadedEchoServer must be used as a context manager')
104+
self.flag = flag
105+
threading.Thread.start(self)
106+
107+
def run(self):
108+
+ if not self._in_context:
109+
+ raise ValueError(
110+
+ 'ThreadedEchoServer must be used as a context manager')
111+
self.sock.settimeout(1.0)
112+
self.sock.listen(5)
113+
self.active = True
114+
Index: gevent-25.4.2/src/greentest/3.12/test_ssl.py
115+
===================================================================
116+
--- gevent-25.4.2.orig/src/greentest/3.12/test_ssl.py
117+
+++ gevent-25.4.2/src/greentest/3.12/test_ssl.py
118+
@@ -2300,7 +2300,6 @@ class ThreadedEchoServer(threading.Threa
119+
# See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/
120+
if e.errno != errno.EPROTOTYPE and sys.platform != "darwin":
121+
self.running = False
122+
- self.server.stop()
123+
self.close()
124+
return False
125+
else:
126+
@@ -2435,10 +2434,6 @@ class ThreadedEchoServer(threading.Threa
127+
self.close()
128+
self.running = False
129+
130+
- # normally, we'd just stop here, but for the test
131+
- # harness, we want to stop the server
132+
- self.server.stop()
133+
-
134+
def __init__(self, certificate=None, ssl_version=None,
135+
certreqs=None, cacerts=None,
136+
chatty=True, connectionchatty=False, starttls_server=False,
137+
@@ -2472,21 +2467,33 @@ class ThreadedEchoServer(threading.Threa
138+
self.conn_errors = []
139+
threading.Thread.__init__(self)
140+
self.daemon = True
141+
+ self._in_context = False
142+
143+
def __enter__(self):
144+
+ if self._in_context:
145+
+ raise ValueError('Re-entering ThreadedEchoServer context')
146+
+ self._in_context = True
147+
self.start(threading.Event())
148+
self.flag.wait()
149+
return self
150+
151+
def __exit__(self, *args):
152+
+ assert self._in_context
153+
+ self._in_context = False
154+
self.stop()
155+
self.join()
156+
157+
def start(self, flag=None):
158+
+ if not self._in_context:
159+
+ raise ValueError(
160+
+ 'ThreadedEchoServer must be used as a context manager')
161+
self.flag = flag
162+
threading.Thread.start(self)
163+
164+
def run(self):
165+
+ if not self._in_context:
166+
+ raise ValueError(
167+
+ 'ThreadedEchoServer must be used as a context manager')
168+
self.sock.settimeout(1.0)
169+
self.sock.listen(5)
170+
self.active = True
171+
Index: gevent-25.4.2/src/greentest/3.9/test_ssl.py
172+
===================================================================
173+
--- gevent-25.4.2.orig/src/greentest/3.9/test_ssl.py
174+
+++ gevent-25.4.2/src/greentest/3.9/test_ssl.py
175+
@@ -2559,10 +2559,6 @@ class ThreadedEchoServer(threading.Threa
176+
self.close()
177+
self.running = False
178+
179+
- # normally, we'd just stop here, but for the test
180+
- # harness, we want to stop the server
181+
- self.server.stop()
182+
-
183+
def __init__(self, certificate=None, ssl_version=None,
184+
certreqs=None, cacerts=None,
185+
chatty=True, connectionchatty=False, starttls_server=False,

‎packages/p/python-gevent/python-gevent.changes‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
-------------------------------------------------------------------
2+
Fri Apr 25 07:37:04 UTC 2025 - Pedro Monreal <pmonreal@suse.com>
3+
4+
- Update to 25.4.2: [bsc#1241067, bsc#1241037]
5+
* Make gevent's queue classes subscriptable to match the standard
6+
library. See issue #2102.
7+
* Make the c-ares resolver build on Windows.
8+
* The gevent testsuite runs a copy of the test_ssl from cpython but
9+
the follwoing change has not been ported yet:
10+
- gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError
11+
in ConnectionHandler [gh#python/cpython/pull/126503]
12+
- Rebase gevent-openssl35-test-fix.patch
13+
- Upstream PR: [gh#gevent/gevent/pull/2103]
14+
15+
-------------------------------------------------------------------
16+
Thu Apr 24 09:55:27 UTC 2025 - Markéta Machová <mmachova@suse.com>
17+
18+
- Update to 25.4.1
19+
* Remove some legacy code that supported Python 2 for compatibility
20+
with the upcoming releases of Cython 3.1.
21+
* Add a new environment variable and configuration setting to control
22+
whether blocking reports are printed by the monitor thread.
23+
* Add initial support for Python 3.14a7.
24+
* Fix using gevent’s BackdoorServer with Unix sockets.
25+
* Do not use pywsgi in a security-conscious environment. Fix one
26+
security issue related to HTTP 100 Continue handling. See issue #2075.
27+
128
-------------------------------------------------------------------
229
Tue Apr 22 08:44:56 UTC 2025 - Pedro Monreal <pmonreal@suse.com>
330

‎packages/p/python-gevent/python-gevent.spec‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
%bcond_with colortest
2727
%{?sle15_python_module_pythons}
2828
Name: python-gevent
29-
Version: 24.10.3
29+
Version: 25.4.2
3030
Release: 0
3131
Summary: Python network library that uses greenlet and libevent
3232
License: MIT
@@ -39,6 +39,7 @@ Patch2: gevent-opensuse-nocolor-tests.patch
3939
# PATCH-FEATURE-OPENSUSE gevent-openssl35-test-fix.patch pmonreal@suse.com -- Handle BrokenPipeError
4040
Patch3: gevent-openssl35-test-fix.patch
4141
BuildRequires: %{python_module Cython >= 3.0.2}
42+
BuildRequires: %{python_module backports.entry_points_selectable}
4243
BuildRequires: %{python_module cffi}
4344
BuildRequires: %{python_module devel >= 3.8}
4445
BuildRequires: %{python_module dnspython}
@@ -58,6 +59,7 @@ BuildRequires: pkgconfig
5859
BuildRequires: python-rpm-macros
5960
BuildRequires: pkgconfig(libcares)
6061
BuildRequires: pkgconfig(libuv)
62+
Requires: python-backports.entry_points_selectable
6163
Requires: python-cffi
6264
Requires: python-dnspython
6365
Requires: python-greenlet >= 3.0.0

0 commit comments

Comments
 (0)