Sync from SUSE:SLFO:Main python-eventlet revision 6cf83d7846f9986f7fc9621d56589341

This commit is contained in:
Adrian Schröter 2024-12-13 11:23:07 +01:00
parent 81e5f14455
commit 6a8ad1644a
10 changed files with 168 additions and 59 deletions

View File

@ -0,0 +1,23 @@
From d19ad6cc086684ee74db250f5fd35227c98e678a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 6 Jun 2024 10:29:29 +0200
Subject: [PATCH] Add new thread attributes from Python 3.13
Does not fix https://github.com/eventlet/eventlet/issues/964 yet
---
eventlet/green/thread.py | 7 +++++++
1 file changed, 7 insertions(+)
--- a/eventlet/green/thread.py
+++ b/eventlet/green/thread.py
@@ -118,3 +118,10 @@ from eventlet.corolocal import local as
if hasattr(__thread, 'daemon_threads_allowed'):
daemon_threads_allowed = __thread.daemon_threads_allowed
+
+if hasattr(__thread, 'start_joinable_thread'):
+ start_joinable_thread = __thread.start_joinable_thread
+ _shutdown = __thread._shutdown
+ _make_thread_handle = __thread._make_thread_handle
+ _ThreadHandle = __thread._ThreadHandle
+ _get_main_thread_ident = __thread._get_main_thread_ident

View File

@ -1,48 +0,0 @@
From df6b965c1b03a688c643dc7f5845cb88287027d1 Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Fri, 28 Aug 2020 20:24:42 +0200
Subject: [PATCH] Extend test cert to 2049
This change makes tests pass after 2028
Background:
As part of my work on reproducible builds for openSUSE, I check that software still gives identical build results in the future.
The usual offset is +15 years, because that is how long I expect some software will be used in some places.
This showed up failing tests in our package build.
See https://reproducible-builds.org/ for why this matters.
---
tests/test_server.crt | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/tests/test_server.crt b/tests/test_server.crt
index 67c9adc8b9..78759e810c 100644
--- a/tests/test_server.crt
+++ b/tests/test_server.crt
@@ -2,7 +2,7 @@
MIIDwjCCAqqgAwIBAgIJAN19NW1oDKKtMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV
BAYTAlRTMQ0wCwYDVQQIDARUZXN0MQ0wCwYDVQQHDARUZXN0MRYwFAYDVQQKDA1U
ZXN0IEV2ZW50bGV0MQ0wCwYDVQQLDARUZXN0MQ0wCwYDVQQDDARUZXN0MRMwEQYJ
-KoZIhvcNAQkBFgRUZXN0MB4XDTE4MDgyMjEzNDIxMVoXDTI4MDgxOTEzNDIxMVow
+KoZIhvcNAQkBFgRUZXN0MB4XDTIwMDgyODEzMTUxNloXDTQ5MTIzMTEzMTUxN1ow
djELMAkGA1UEBhMCVFMxDTALBgNVBAgMBFRlc3QxDTALBgNVBAcMBFRlc3QxFjAU
BgNVBAoMDVRlc3QgRXZlbnRsZXQxDTALBgNVBAsMBFRlc3QxDTALBgNVBAMMBFRl
c3QxEzARBgkqhkiG9w0BCQEWBFRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
@@ -13,11 +13,11 @@ Lvc6cJHMKaxHCeIBOL+z/9kJqhh30eqsmNB5AXSoV8b2B3MV3glW2vd5WJVYEWxl
3+GNgzZJ3KGape7pcBYER7zg/yZLZxgNFlTCOZiysjNxC0liJA9tgUQhRc1gsqA8
dQxzvqW8kuZedmatjyM58WixvjymobC3AgMBAAGjUzBRMB0GA1UdDgQWBBQT3V3f
8vCoqGXe6zySSjVP+J/P7zAfBgNVHSMEGDAWgBQT3V3f8vCoqGXe6zySSjVP+J/P
-7zAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAws7zXsftw5s/P
-dnyFAf8q0WoVtWi9ljshWfJvTFMfuCqdSoNT+kIeQq071/RFW9YLqDZGXI4fyfzW
-50A7xFm+Syy7wPOmfLJdPx5HRJ5jgIDlij9vL45W3mXEohkkzMCdjwXfOIQPOEEx
-ZQHF57RaHlKEGexc/yvOLlOgKP23BOgB7pZjCC9divyDJ3ETlzgE+UTymHxmFM0i
-TCAM9dGEl1QPr7zA08rNgVae+/uQksdM55QmQFkTAXisFPcxNgHSKOSHsDiUJvWG
-7bJrwO6+T2wjRxWRD7anQV3DqBG1WteXA/dfYqjUi0QPqreWqNb+3OM60UwPJsvl
-ZDfUrsbY
+7zAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAowDu7bu/6DuLH
+yNv8Q27vhsHS2IbguGSTlpSObUqvIF1fv2UzjSl1jjmkN7IQqEjV7ql7NpmVGv5u
+4s5uKGID9q0Eq1wNKpqps16ABOb6I415j3NMq7r9bSNrlgPHrSYnySSyN2JyiXyR
+Q9wxY6YBQMHchFytYui9/A3WwmzfZkzZpN2AWlC/emiDlfbWT9bFO6tgImrD3BIi
+PJoTsc5SBmevUvOC6LPPIKq3/SdywgAi3AGKcyMlLhEjFX5lRA3GK3pDudRqKY2+
+3n6WcOut0RytatsNYqIMVakIGC4ZCLi69xSLlRVVvxnfGgJxw+mHLtlQxDz2GoQ+
+XAW8Yf8H
-----END CERTIFICATE-----

15
_service Normal file
View File

@ -0,0 +1,15 @@
<services>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/eventlet/eventlet.git</param>
<param name="versionprefix">0.37.0+git</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">mcepl@cepl.eu</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="manual"/>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/eventlet/eventlet.git</param>
<param name="changesrevision">8637820f468268ffb0b8504561ea4772de23fcdb</param></service></servicedata>

BIN
eventlet-0.34.3.tar.gz (Stored with Git LFS)

Binary file not shown.

BIN
eventlet-0.37.0+git.1726056572.8637820.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

4
eventlet.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: eventlet
version: 0.37.0+git.1726056572.8637820
mtime: 1726056572
commit: 8637820f468268ffb0b8504561ea4772de23fcdb

28
no-dynamic-version.patch Normal file
View File

@ -0,0 +1,28 @@
---
pyproject.toml | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,7 +37,7 @@ classifiers = [
"Topic :: Internet",
"Topic :: Software Development :: Libraries :: Python Modules",
]
-dynamic = ["version"]
+version = '0.37.0'
dependencies = [
'dnspython >= 1.15.0',
'greenlet >= 1.0',
@@ -61,12 +61,6 @@ packages = ['eventlet']
where = "evenetlet"
exclude = ["tests*", "benchmarks", "examples"]
-[tool.hatch]
-version.source = "vcs"
-
-[tool.hatch.build.hooks.vcs]
-version-file = "eventlet/_version.py"
-
[tool.ruff]
# Might eventually want to add evenetlet/green/, but it's a pain...
exclude = ["eventlet/green/", "eventlet/zipkin/_thrift", "tests/mock.py", "doc/"]

View File

@ -1,7 +1,77 @@
-------------------------------------------------------------------
Tue Dec 3 07:12:07 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com>
Wed Oct 23 23:18:11 UTC 2024 - mcepl@cepl.eu
- Add 643.patch to fix tests after 2028 (boo#1102840)
- Temporarily switch to direct download from GitHub, and update
to version 0.37.0+git.1726056572.8637820:
* Update changelog for version 0.37.0 (#980)
* Describes Eventlet's Alternatives Into the Migration Guide (#971)
* fix migration guide url (#978)
* os.read/write waits until file descriptor is ready. (#975)
* Upgrade RLocks as last thing we do (#970)
* warns about using multiple readers (#960)
* drop header keys with underscores (#959)
* doc: Repair changelog link (#958)
* Make the docs more user friendly (#950)
* Update changelog for version 0.36.1 (#952)
- Add patches making it build with 3.13:
- 313-new-thread-attributes.patch (gh#eventlet/eventlet#964)
- no-dynamic-version.patch (we cannot use dynamic version
number on a git checkout)
- Fix setting of the version number "manually" (with sed)
-------------------------------------------------------------------
Wed Sep 18 08:28:43 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 0.37.0
* [fix] os.read/write waits until file descriptor is ready
* [fix] Upgrade RLocks as last thing we do
* [security] drop header keys with underscores
* [doc] Various doc updates (Migration Guide, repair links, warns...)
-------------------------------------------------------------------
Thu Jun 6 08:42:28 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.36.1:
* [fix] eventlet.websocket is not always used from
eventlet.wsgi, so do not assume eventlet.set_idle exists
* [fix] Make sure asyncio hub doesn't use greendns for asyncio
DNS APIs
* [fix] Make asyncio.to_thread work with the same semantics as
normal asyncio
* [fix] Refactor congruence checks based on assert at runtime
* [tests] Run tests on macOS in CI, and some fixes to get it in
reasonable state (#list
* [fix] Fix wsgi.server shutdown for in-flight requests
* [feature] Add debug convenience helpers - asyncio, threads
* [fix] Handle errors better.
* [fix] Fix tool.setuptools/packages list
* [security] Dnspython 2.6.1 - Address DoS via the Tudoor
mechanism (CVE-2023-29483)
* [doc] add asyncio into the doc hub page
* [clean] clean obsolete python 2 code from the ssl module
* [fix] Add get_server_info to db_pool.py
* [fix] wsgi: Handle Timeouts from applications
* [fix] shrinks window before connecting
* [fix] Do not allow failed patching to stop execution
* [doc] Basic documentation for asyncio migration
* [tests] add minimal linting
* [doc] officially host docs on readthedocs
* [fix] fix truncate size nullable
* [fix] Handle transport endpoint shutdown in conditions
* [fix] Rework reject_bad_requests option
* [fix] Fix NameError introduced by #826
* [feature] Support awaiting GreenThread in an `async def`
context https://github.com/eventlet/eventlet/pull/889
* [infra] Extend test cert to 2049
* [feature] Asyncio hub support for Python 3.7 to 3.9
* [infra] Modernize doc generation
* [fix] Fix bad exceptions handlings
* [feature] Support using asyncio coroutines from inside
greenlets https://github.com/eventlet/eventlet/pull/877
* [removal] Remove deprecated CGIHTTPServer and
SimpleHTTPServer
* [governance] Update maintenance goals
* [feature] Add an asyncio hub for eventlet
-------------------------------------------------------------------
Fri Jan 19 08:47:40 UTC 2024 - Dirk Müller <dmueller@suse.com>

View File

@ -18,14 +18,21 @@
%{?sle15_python_module_pythons}
Name: python-eventlet
Version: 0.34.3
Version: 0.37.0+git.1726056572.8637820
%define up_version 0.37.0
Release: 0
Summary: Concurrent networking library for Python
License: MIT
Group: Development/Languages/Python
URL: https://eventlet.net
Source: https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-%{version}.tar.gz
Patch0: https://github.com/eventlet/eventlet/pull/643.patch
# Source: https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-%%{version}.tar.gz
Source: eventlet-%{version}.tar.gz
# PATCH-FIX-UPSTREAM 313-new-thread-attributes.patch gh#eventlet/eventlet#964 mcepl@suse.com
# Hroncko's python3.13 branch
Patch0: 313-new-thread-attributes.patch
# PATCH-FIX-OPENSUSE no-dynamic-version.patch mcepl@suse.com
# We cannot use dynamic version number on a git checkout
Patch1: no-dynamic-version.patch
BuildRequires: %{python_module hatch-vcs}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
@ -61,6 +68,9 @@ interpreter, or as part of a larger application.
%prep
%autosetup -p1 -n eventlet-%{version}
# set the package version manually
sed -i -e '/^\s*__version__/s/0.0.0/%{up_version}/' eventlet/__init__.py
%build
%pyproject_wheel
@ -80,8 +90,11 @@ skiptests+=" or test_018b_http_10_keepalive_framing"
skiptests+=" or test_raise_dns_tcp"
# gh#eventlet/eventlet#821 bsc#1216858
skiptests+=" or test_full_duplex"
# https://github.com/eventlet/eventlet/issues/739
# gh#eventlet/eventlet#987
skiptests+=" or test_send_timeout"
# gh#eventlet/eventlet#662 (hopefully temporary until debugging with 3.13 finishes)
python313_skiptests+=" or test_threading_condition or test_threading_join or test_socketserver_selectors or test_threading_current or test_threadpoolexecutor"
# gh#eventlet/eventlet#739
python310_skiptests+=" or test_017_ssl_zeroreturnerror"
%pytest -k "not ($skiptests ${$python_skiptests})" ${$python_pytest_param}
@ -89,6 +102,6 @@ python310_skiptests+=" or test_017_ssl_zeroreturnerror"
%license LICENSE
%doc AUTHORS NEWS README.rst
%{python_sitelib}/eventlet
%{python_sitelib}/eventlet-%{version}.dist-info
%{python_sitelib}/eventlet-%{up_version}.dist-info
%changelog