1
0
forked from pool/python-gevent

12 Commits

Author SHA256 Message Date
0db02f50f4 Accepting request 1276704 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1276704
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=56
2025-05-13 18:11:55 +00:00
179ad3aa3a Use %_smp_mflags for reproducible builds (boo#1237231)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=123
2025-05-12 06:09:11 +00:00
3d367a31f3 Accepting request 1272752 from devel:languages:python
- 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 thread.
  * Add initial support for Python 3.14a7.
  * Fix using gevent’s BackdoorServer with Unix sockets.
  * Do not use pywsgi in a security-conscious environment. Fix one
    security issue related to HTTP 100 Continue handling. See issue #2075.

OBS-URL: https://build.opensuse.org/request/show/1272752
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=55
2025-04-25 20:17:52 +00:00
3d9afc0221 Fix changelog
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=121
2025-04-25 15:11:48 +00:00
8e98e6e02a - Update to 25.4.2:
* 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=120
2025-04-25 15:10:19 +00:00
6bc85bcc79 - 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 thread.
  * Add initial support for Python 3.14a7.
  * Fix using gevent’s BackdoorServer with Unix sockets.
  * Do not use pywsgi in a security-conscious environment. Fix one
    security issue related to HTTP 100 Continue handling. See issue #2075.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=119
2025-04-25 11:43:43 +00:00
16c36a2e56 Accepting request 1271903 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1271903
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=54
2025-04-23 13:18:20 +00:00
da0a140f6e - Handle BrokenPipeError in src/gevent/ssl.py [bsc#1241037]
* Upstream PR: https://github.com/gevent/gevent/pull/2103
  * Add gevent-openssl35-test-fix.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=117
2025-04-22 14:25:41 +00:00
0db3ce2a8b Accepting request 1217397 from devel:languages:python
Forwarded request #1217326 from glaubitz

- Update to 24.10.3
    * Fix clearing stack frames on Python 3.13. This is invoked when you
      fork after having used the thread pool.
    * Distribute manylinux2014 wheels for x86_64.
    * Stop switching to the hub in the after fork hook in a child process.
      This could lead to strange behaviour, and is different than what all
      other versions of Python do.
  - from version 24.10.2
    * Workaround a Cython bug compiling on GCC14.
  - Drop gh-2031-cython-workaround.patch, merged upstream

OBS-URL: https://build.opensuse.org/request/show/1217397
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=53
2024-10-25 17:18:30 +00:00
a056c9851d - Update to 24.10.3
* Fix clearing stack frames on Python 3.13. This is invoked when you
    fork after having used the thread pool.
  * Distribute manylinux2014 wheels for x86_64.
  * Stop switching to the hub in the after fork hook in a child process.
    This could lead to strange behaviour, and is different than what all
    other versions of Python do.
- from version 24.10.2
  * Workaround a Cython bug compiling on GCC14.
- Drop gh-2031-cython-workaround.patch, merged upstream

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=115
2024-10-23 16:57:05 +00:00
bddde4f858 Accepting request 1206713 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1206713
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=52
2024-10-11 15:01:03 +00:00
91b148b5aa - Update to 24.10.1
* Update the bundled c-ares to 1.33.1.
  * Add support for Python 3.13.
    - The functions and classes in ``gevent.subprocess`` no longer accept
      ``stdout=STDOUT`` and raise a ``ValueError``.
    Several additions and changes to the ``queue`` module, including:
    - ``Queue.shutdown`` is available on all versions of Python.
    - ``LifoQueue`` is now a joinable queue.
  * gevent.monkey changed from a module to a package. The public API
    remains the same.
    For this release, private APIs (undocumented, marked internal, or
    beginning with an underscore) are also preserved. However, these may
    be changed or removed at any time in the future. If you are using one
    of these APIs and cannot replace it, please contact the gevent team.
  * For platforms that don't have ``socketpair``, upgrade our fallback
    code to avoid a security issue.
    See :issue:`2048`.
  * Remove support for Python 3.8, which has reached the end of its
    support lifecycle.
    See :issue:`remove_py38`.
- Drop gh-113964-fix-tests-3.12.3.patch, fixed upstream
- Renumber patches

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=113
2024-10-10 13:52:37 +00:00
7 changed files with 274 additions and 55 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:33d71611b05a9198c24ff2209b77cb0988a8031c5fa419e7d699c81094ca4e74
size 4322696

BIN
gevent-25.4.2.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -0,0 +1,185 @@
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,

View File

@@ -1,30 +0,0 @@
Index: gevent-24.2.1/src/greentest/3.12/test_subprocess.py
===================================================================
--- gevent-24.2.1.orig/src/greentest/3.12/test_subprocess.py
+++ gevent-24.2.1/src/greentest/3.12/test_subprocess.py
@@ -3404,8 +3404,9 @@ class POSIXProcessTestCase(BaseTestCase)
atexit.register(exit_handler)
"""
_, out, err = assert_python_ok("-c", code)
- self.assertEqual(out, b'')
- self.assertIn(b"preexec_fn not supported at interpreter shutdown", err)
+ # https://github.com/python/cpython/issues/113964
+ # self.assertEqual(out, b'')
+ # self.assertIn(b"preexec_fn not supported at interpreter shutdown", err)
@unittest.skipUnless(mswindows, "Windows specific tests")
Index: gevent-24.2.1/src/greentest/3.12/test_threading.py
===================================================================
--- gevent-24.2.1.orig/src/greentest/3.12/test_threading.py
+++ gevent-24.2.1/src/greentest/3.12/test_threading.py
@@ -1137,7 +1137,8 @@ class ThreadTests(BaseTestCase):
"""
_, out, err = assert_python_ok("-c", code)
self.assertEqual(out, b'')
- self.assertIn(b"can't create new thread at interpreter shutdown", err)
+ # https://github.com/python/cpython/issues/113964
+ # self.assertIn(b"can't create new thread at interpreter shutdown", err)
class ThreadJoinOnShutdown(BaseTestCase):

View File

@@ -1,11 +0,0 @@
diff -Nru gevent-24.2.1.orig/src/gevent/_gevent_cqueue.pxd gevent-24.2.1/src/gevent/_gevent_cqueue.pxd
--- gevent-24.2.1.orig/src/gevent/_gevent_cqueue.pxd 2024-02-14 12:22:11.000000000 +0100
+++ gevent-24.2.1/src/gevent/_gevent_cqueue.pxd 2024-05-28 12:54:09.729241504 +0200
@@ -75,7 +75,6 @@
cdef readonly Queue queue
-@cython.final
cdef class UnboundQueue(Queue):
pass

View File

@@ -1,3 +1,82 @@
-------------------------------------------------------------------
Fri May 9 15:54:04 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Use %_smp_mflags for reproducible builds (boo#1237231)
-------------------------------------------------------------------
Fri Apr 25 07:37:04 UTC 2025 - Pedro Monreal <pmonreal@suse.com>
- 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]
-------------------------------------------------------------------
Thu Apr 24 09:55:27 UTC 2025 - Markéta Machová <mmachova@suse.com>
- 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 thread.
* Add initial support for Python 3.14a7.
* Fix using gevents BackdoorServer with Unix sockets.
* Do not use pywsgi in a security-conscious environment. Fix one
security issue related to HTTP 100 Continue handling. See issue #2075.
-------------------------------------------------------------------
Tue Apr 22 08:44:56 UTC 2025 - Pedro Monreal <pmonreal@suse.com>
- Handle BrokenPipeError in src/gevent/ssl.py [bsc#1241037]
* Upstream PR: https://github.com/gevent/gevent/pull/2103
* Add gevent-openssl35-test-fix.patch
-------------------------------------------------------------------
Wed Oct 23 11:07:00 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 24.10.3
* Fix clearing stack frames on Python 3.13. This is invoked when you
fork after having used the thread pool.
* Distribute manylinux2014 wheels for x86_64.
* Stop switching to the hub in the after fork hook in a child process.
This could lead to strange behaviour, and is different than what all
other versions of Python do.
- from version 24.10.2
* Workaround a Cython bug compiling on GCC14.
- Drop gh-2031-cython-workaround.patch, merged upstream
-------------------------------------------------------------------
Thu Oct 10 09:39:52 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 24.10.1
* Update the bundled c-ares to 1.33.1.
* Add support for Python 3.13.
- The functions and classes in ``gevent.subprocess`` no longer accept
``stdout=STDOUT`` and raise a ``ValueError``.
Several additions and changes to the ``queue`` module, including:
- ``Queue.shutdown`` is available on all versions of Python.
- ``LifoQueue`` is now a joinable queue.
* gevent.monkey changed from a module to a package. The public API
remains the same.
For this release, private APIs (undocumented, marked internal, or
beginning with an underscore) are also preserved. However, these may
be changed or removed at any time in the future. If you are using one
of these APIs and cannot replace it, please contact the gevent team.
* For platforms that don't have ``socketpair``, upgrade our fallback
code to avoid a security issue.
See :issue:`2048`.
* Remove support for Python 3.8, which has reached the end of its
support lifecycle.
See :issue:`remove_py38`.
- Drop gh-113964-fix-tests-3.12.3.patch, fixed upstream
- Renumber patches
-------------------------------------------------------------------
Tue May 28 10:56:43 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-gevent
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# 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: 24.2.1
Version: 25.4.2
Release: 0
Summary: Python network library that uses greenlet and libevent
License: MIT
@@ -36,15 +36,10 @@ 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-FIX-OPENSUSE gh-113964-fix-tests-3.12.3.patch
# Fix some tests that fails with python 3.12.3 in the current version,
# related to gh#python/cpython#113964
Patch3: gh-113964-fix-tests-3.12.3.patch
# PATCH-FIX-OPENSUSE gh-2031-cython-workaround.patch
# Fix FTBFS with GCC 14 and Cython 3.0.10
# https://github.com/gevent/gevent/issues/2031
Patch4: gh-2031-cython-workaround.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}
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module dnspython}
@@ -64,6 +59,7 @@ 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
@@ -165,7 +161,7 @@ $python -m gevent.tests \
--ignore skip_tests.txt \
-u-network \
--verbose \
%{?jobs:--processes %jobs}
%{?_smp_mflags}
}
%files %{python_files}