forked from pool/python-grpcio
Compare commits
24 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 9221130f96 | |||
| b96f39409e | |||
| 6d43d5ed21 | |||
| 4d5acd5741 | |||
| 8136254d31 | |||
| b7e7014f53 | |||
| a9f96d4829 | |||
| ca852efda5 | |||
| 078f79dff0 | |||
| 8175737e5b | |||
| 6776d4a3dd | |||
| 331dfe3518 | |||
| 92380c385a | |||
| a109e9dff0 | |||
| 2ebcb68520 | |||
| efda3d44c8 | |||
| 3b4332731a | |||
| ebbf72c6b6 | |||
| 01d3e672a8 | |||
| e783f98748 | |||
| 5eb0de3581 | |||
| 7e90cd57fa | |||
| fb7d63cec2 | |||
| cfea6d07d9 |
81
fix-return-values.patch
Normal file
81
fix-return-values.patch
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
From: Jan Engelhardt <ej@inai.de>
|
||||||
|
Date: 2025-02-09 21:28:54.517217439 +0100
|
||||||
|
|
||||||
|
Fix some terrible code.
|
||||||
|
|
||||||
|
[ 28s] /home/abuild/rpmbuild/BUILD/grpc-1.70.1-build/grpc-1.70.1/src/core/lib/transport/call_state.h:157:3: error: control reaches end of non-void function [-Werror=return-type]
|
||||||
|
---
|
||||||
|
src/core/call/call_state.h | 5 +++++
|
||||||
|
src/core/channelz/channelz.h | 1 +
|
||||||
|
src/core/lib/promise/inter_activity_mutex.h | 2 ++
|
||||||
|
3 files changed, 8 insertions(+)
|
||||||
|
|
||||||
|
Index: grpcio-1.76.0/src/core/call/call_state.h
|
||||||
|
===================================================================
|
||||||
|
--- grpcio-1.76.0.orig/src/core/call/call_state.h
|
||||||
|
+++ grpcio-1.76.0/src/core/call/call_state.h
|
||||||
|
@@ -155,6 +155,7 @@ class CallState {
|
||||||
|
case ClientToServerPullState::kTerminated:
|
||||||
|
return "Terminated";
|
||||||
|
}
|
||||||
|
+ return "Undefined";
|
||||||
|
}
|
||||||
|
template <typename Sink>
|
||||||
|
friend void AbslStringify(Sink& out, ClientToServerPullState state) {
|
||||||
|
@@ -185,6 +186,7 @@ class CallState {
|
||||||
|
case ClientToServerPushState::kFinished:
|
||||||
|
return "Finished";
|
||||||
|
}
|
||||||
|
+ return "Undefined";
|
||||||
|
}
|
||||||
|
template <typename Sink>
|
||||||
|
friend void AbslStringify(Sink& out, ClientToServerPushState state) {
|
||||||
|
@@ -235,6 +237,7 @@ class CallState {
|
||||||
|
case ServerToClientPullState::kTerminated:
|
||||||
|
return "Terminated";
|
||||||
|
}
|
||||||
|
+ return "Undefined";
|
||||||
|
}
|
||||||
|
template <typename Sink>
|
||||||
|
friend void AbslStringify(Sink& out, ServerToClientPullState state) {
|
||||||
|
@@ -275,6 +278,7 @@ class CallState {
|
||||||
|
case ServerToClientPushState::kFinished:
|
||||||
|
return "Finished";
|
||||||
|
}
|
||||||
|
+ return "Undefined";
|
||||||
|
}
|
||||||
|
template <typename Sink>
|
||||||
|
friend void AbslStringify(Sink& out, ServerToClientPushState state) {
|
||||||
|
@@ -305,6 +309,7 @@ class CallState {
|
||||||
|
case ServerTrailingMetadataState::kPulledCancel:
|
||||||
|
return "PulledCancel";
|
||||||
|
}
|
||||||
|
+ return "Undefined";
|
||||||
|
}
|
||||||
|
template <typename Sink>
|
||||||
|
friend void AbslStringify(Sink& out, ServerTrailingMetadataState state) {
|
||||||
|
Index: grpcio-1.76.0/src/core/channelz/channelz.h
|
||||||
|
===================================================================
|
||||||
|
--- grpcio-1.76.0.orig/src/core/channelz/channelz.h
|
||||||
|
+++ grpcio-1.76.0/src/core/channelz/channelz.h
|
||||||
|
@@ -173,6 +173,7 @@ class BaseNode : public DualRefCounted<B
|
||||||
|
case EntityType::kResourceQuota:
|
||||||
|
return "resource_quota";
|
||||||
|
}
|
||||||
|
+ return "unknown";
|
||||||
|
}
|
||||||
|
|
||||||
|
static std::optional<EntityType> KindToEntityType(absl::string_view kind) {
|
||||||
|
Index: grpcio-1.76.0/src/core/lib/promise/inter_activity_mutex.h
|
||||||
|
===================================================================
|
||||||
|
--- grpcio-1.76.0.orig/src/core/lib/promise/inter_activity_mutex.h
|
||||||
|
+++ grpcio-1.76.0/src/core/lib/promise/inter_activity_mutex.h
|
||||||
|
@@ -307,6 +307,8 @@ class InterActivityMutex {
|
||||||
|
case State::kMovedFrom:
|
||||||
|
LOG(FATAL) << "Mutex acquirer already moved from";
|
||||||
|
}
|
||||||
|
+ // Control never actually reaches here
|
||||||
|
+ return Pending{};
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:2c7891f66daefc80cce1bed6bc0c2802d26dac46544ba1be79c4e7d85661dd73
|
|
||||||
size 12243603
|
|
||||||
3
grpcio-1.76.0.tar.gz
Normal file
3
grpcio-1.76.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7be78388d6da1a25c0d5ec506523db58b18be22d9c37d8d3a32c08be4987bd73
|
||||||
|
size 12785182
|
||||||
@@ -1,3 +1,136 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 9 09:25:23 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 1.76.0:
|
||||||
|
* gRPC AsyncIO: Improve CompletionQueue polling performance
|
||||||
|
(gh#grpc/grpc#39993).
|
||||||
|
- Minor rebase of fix-return-values.patch to apply cleanly.
|
||||||
|
- Drop setting _default_patch_fuzz to 2 as all patches have been
|
||||||
|
rebased to apply cleanly.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 24 05:39:05 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Add (Build)Requires: python-typing_extensions, needed since
|
||||||
|
version 1.75.0.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 17 09:31:11 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||||
|
|
||||||
|
- Update to version 1.75.1
|
||||||
|
* Release grpcio wheels with Python 3.14 support (#40403)
|
||||||
|
* Asyncio: fixes grpc shutdown race condition occurring
|
||||||
|
during python interpreter finalizations. (#40447)
|
||||||
|
* This also addresses previously reported issues with empty
|
||||||
|
error message on Python interpreter exit (Error in
|
||||||
|
sys.excepthook:/Original exception was: empty): (#36655),
|
||||||
|
(#38679), (#33342)
|
||||||
|
* Python 3.14: preserve current behavior when using grpc.aio
|
||||||
|
async methods outside of a running event loop. (#40750)
|
||||||
|
* Note: using async methods outside of a running event loop
|
||||||
|
is discouraged by Python, and will be deprecated in future
|
||||||
|
gRPC releases. Please use the asyncio.run() function (or
|
||||||
|
asyncio.Runner for custom loop factories). For interactive
|
||||||
|
mode, use dedicated asyncio REPL: python -m asyncio.
|
||||||
|
- from version 1.75.0
|
||||||
|
* [Security] Cherry Pick Spiffe Verification. (#40515)
|
||||||
|
* [Python][Typeguard] Part 3 - Add Typeguard to AIO stack
|
||||||
|
in tests. (#40217)
|
||||||
|
* [c-ares] update version to 1.34.5. (#39508)
|
||||||
|
* [pick_first] fix bug that caused us to stop attempting to
|
||||||
|
connect. (#40162)
|
||||||
|
* [OTel C++] Implement retry metrics. (#39195)
|
||||||
|
* Fix data race by adding custom getter for state property
|
||||||
|
with @synchronized locking. (#40146)
|
||||||
|
* gRPC Python (grpcio) now depends on typing-extensions~=4.13. (#40137)
|
||||||
|
* Update musllinux wheels from musllinux_1_1 to musllinux_1_2. (#40317)
|
||||||
|
* Dropping musllinux_1_1 because it reached EOL in November 2024
|
||||||
|
* Reference on musllinux platform tags: PEP 656
|
||||||
|
* grpc.aio typehint fixes. (#40215, #40217)
|
||||||
|
* Metadata type validation: Fixed metadata handling to support
|
||||||
|
all sequence types (not just tuples), preventing runtime errors.
|
||||||
|
Enhanced metadata type validation: isinstance(metadata, Sequence)
|
||||||
|
instead of isinstance(metadata, tuple)
|
||||||
|
* Serializer parameters: Changed to Optional[SerializingFunction]
|
||||||
|
for more accurate type representation
|
||||||
|
* Fixing the error in public API: ClientCallDetails.method was
|
||||||
|
declared as str but always called with bytes, see InterceptedUnaryUnaryCall.
|
||||||
|
* Fixes issue #40325 with grpcio failing to install on all non-Mac
|
||||||
|
Apple devices internal builds. (#40347)
|
||||||
|
* Ruby: Mark credential object in channel. (#40394)
|
||||||
|
* [Ruby] Add rubygems support for linux-gnu and linux-musl platforms. (#39549)
|
||||||
|
- from version 1.74.1
|
||||||
|
* [Backport of #40394 to v1.74.x] Mark credential object in channel to fix (#40368)
|
||||||
|
- Increase _default_patch_fuzz to 2 to allow patches to apply
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 28 11:25:28 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 1.74.0:
|
||||||
|
* Fix gRPC Python docs website layout - use spaces optimally
|
||||||
|
(gh#grpc/grpc#40073).
|
||||||
|
- Update fix-return-values.patch for new version (copied from
|
||||||
|
obs://devel:tools/grpc/return-values.patch).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 16 14:36:00 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Require Cython >= 3.0.0 instead of 3.1.1 as the latest version
|
||||||
|
available on TW is 3.0.2 currently.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 14 12:20:42 UTC 2025 - ecsos <ecsos@opensuse.org>
|
||||||
|
|
||||||
|
- Fix build error for Leap 15.6.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jun 15 06:02:08 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 1.73.0:
|
||||||
|
* Pin Cython to 3.1.1 (gh#grpc/grpc#39609).
|
||||||
|
* grpc_tools: make PythonGrpcGenerator handle dot . in proto
|
||||||
|
paths the same way as native Generator/PyiGenerator
|
||||||
|
(gh#grpc/grpc#39586).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 10 15:27:08 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 1.72.0:
|
||||||
|
* No documented python specific changes.
|
||||||
|
- Changes from version 1.71.0:
|
||||||
|
* Drop Python 3.8 (gh#grpc/grpc##38747).
|
||||||
|
* Support musl-linux binary wheels on arm64
|
||||||
|
(gh#grpc/grpc##38223).
|
||||||
|
- Rebase fix-return-values.patch: adapt to changed file path.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 20 14:23:28 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||||
|
|
||||||
|
- Update to version 1.69.0
|
||||||
|
* [Build] Override MACOSX_DEPLOYMENT_TARGET for gRPC Python. (#37997)
|
||||||
|
- from version 1.68.2
|
||||||
|
* No Python-specific changes.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Dec 18 11:13:30 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
- Update to version 1.68.1 (CVE-2024-11407, bsc#1233821):
|
||||||
|
* No Python specific changes.
|
||||||
|
- Changes from version 1.68.0:
|
||||||
|
* Add templating and support for Python 3.13
|
||||||
|
(gh#grpc/grpc#37643).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 11 14:35:18 UTC 2024 - Adrian Schröter <adrian@suse.de>
|
||||||
|
|
||||||
|
- Update to version 1.67.1 (CVE-2024-7246, bsc#1228919):
|
||||||
|
* Add templating and support for Python 3.13
|
||||||
|
* Add templating and support for Python 3.13
|
||||||
|
* Change warning to RuntimeError for version incompatibility.
|
||||||
|
* reflection returns original_request.
|
||||||
|
- Added fix-return-values.patch for compile failures
|
||||||
|
- Removed obsolete terminate.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jul 17 10:56:55 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
Wed Jul 17 10:56:55 UTC 2024 - Atri Bhattacharya <badshah400@gmail.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-grpcio
|
# spec file for package python-grpcio
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC and contributors
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
%global modname grpcio
|
%global modname grpcio
|
||||||
%{?sle15_python_module_pythons}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-grpcio
|
Name: python-grpcio
|
||||||
Version: 1.65.0
|
Version: 1.76.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: HTTP/2-based Remote Procedure Call implementation
|
Summary: HTTP/2-based Remote Procedure Call implementation
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
@@ -30,17 +30,24 @@ Source: https://files.pythonhosted.org/packages/source/g/grpcio/grpcio-%
|
|||||||
Patch1: xxhash-avoid-armv6-unaligned-access.patch
|
Patch1: xxhash-avoid-armv6-unaligned-access.patch
|
||||||
# PATCH-FIX-SLE xxhash-ppc64le-gcc7.patch boo#1208794 alarrosa@suse.com -- fix build failure on ppc64le when using gcc 7
|
# PATCH-FIX-SLE xxhash-ppc64le-gcc7.patch boo#1208794 alarrosa@suse.com -- fix build failure on ppc64le when using gcc 7
|
||||||
Patch2: xxhash-ppc64le-gcc7.patch
|
Patch2: xxhash-ppc64le-gcc7.patch
|
||||||
# PATCH-FIX-UPSTREAM Fix issues about control reaching end of non-void function
|
Patch3: fix-return-values.patch
|
||||||
Patch3: terminate.patch
|
BuildRequires: %{python_module Cython >= 3.0.0}
|
||||||
BuildRequires: %{python_module Cython >= 0.29.8}
|
BuildRequires: %{python_module devel >= 3.9}
|
||||||
BuildRequires: %{python_module devel >= 3.7}
|
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module protobuf >= 6.30 }
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
|
BuildRequires: %{python_module typing_extensions >= 4.13}
|
||||||
BuildRequires: %{python_module wheel >= 0.29}
|
BuildRequires: %{python_module wheel >= 0.29}
|
||||||
BuildRequires: abseil-cpp-devel >= 20220623.0
|
BuildRequires: abseil-cpp-devel >= 20250127.0
|
||||||
BuildRequires: ca-certificates
|
BuildRequires: ca-certificates
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
|
%if 0%{?suse_version} < 1600
|
||||||
|
BuildRequires: gcc13
|
||||||
|
BuildRequires: gcc13-c++
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildRequires: pkgconfig(libcares)
|
BuildRequires: pkgconfig(libcares)
|
||||||
@@ -48,6 +55,7 @@ BuildRequires: pkgconfig(openssl)
|
|||||||
BuildRequires: pkgconfig(re2)
|
BuildRequires: pkgconfig(re2)
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
Requires: ca-certificates
|
Requires: ca-certificates
|
||||||
|
Requires: python-typing_extensions >= 4.13
|
||||||
Recommends: python-enum34 >= 1.0.4
|
Recommends: python-enum34 >= 1.0.4
|
||||||
Recommends: python-futures >= 2.2.0
|
Recommends: python-futures >= 2.2.0
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
@@ -61,6 +69,10 @@ connected systems.
|
|||||||
%autosetup -p1 -n grpcio-%{version}
|
%autosetup -p1 -n grpcio-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%if 0%{?suse_version} < 1600
|
||||||
|
export CC=gcc-13
|
||||||
|
export CXX=g++-13
|
||||||
|
%endif
|
||||||
export GRPC_BUILD_WITH_BORING_SSL_ASM=false
|
export GRPC_BUILD_WITH_BORING_SSL_ASM=false
|
||||||
export GRPC_PYTHON_BUILD_SYSTEM_ABSL=true
|
export GRPC_PYTHON_BUILD_SYSTEM_ABSL=true
|
||||||
export GRPC_PYTHON_BUILD_SYSTEM_CARES=true
|
export GRPC_PYTHON_BUILD_SYSTEM_CARES=true
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
From: Jan Engelhardt <jengelh@inai.de>
|
|
||||||
Date: 2024-01-31 20:50:55.596208216 +0100
|
|
||||||
|
|
||||||
[ 221s] src/core/lib/promise/party.h: In member function 'bool grpc_core::Party::PromiseParticipantImpl<SuppliedFactory>::PollParticipantPromise() [with SuppliedFactory = grpc_core::ForwardCall(CallHandler, CallInitiator, ClientMetadataHandle)::<lambda()> mutable::<lambda(grpc_core::MessageHandle)> mutable::<lambda()>]':
|
|
||||||
[ 221s] src/core/lib/promise/party.h:541:5: error: control reaches end of non-void function [-Werror=return-type]
|
|
||||||
[ 221s] src/core/lib/promise/party.h: In member function 'grpc_core::Poll<typename grpc_core::promise_detail::OncePromiseFactory<void, F>::Promise::Result> grpc_core::Party::PromiseParticipantImpl<SuppliedFactory>::PollCompletion() [with SuppliedFactory = grpc_core::ForwardCall(CallHandler, CallInitiator, ClientMetadataHandle)::<lambda()> mutable::<lambda(grpc_core::MessageHandle)> mutable::<lambda()>]':
|
|
||||||
[ 221s] src/core/lib/promise/party.h:553:5: error: control reaches end of non-void function [-Werror=return-type]
|
|
||||||
|
|
||||||
That enum class only has three numerators, and it's not clear why gcc
|
|
||||||
would warn, given all three cases return.
|
|
||||||
|
|
||||||
---
|
|
||||||
src/core/lib/promise/party.h | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
Index: grpcio-1.65.0/src/core/lib/promise/party.h
|
|
||||||
===================================================================
|
|
||||||
--- grpcio-1.65.0.orig/src/core/lib/promise/party.h
|
|
||||||
+++ grpcio-1.65.0/src/core/lib/promise/party.h
|
|
||||||
@@ -567,6 +567,7 @@ class Party : public Activity, private W
|
|
||||||
Crash(
|
|
||||||
"unreachable: promises should not be repolled after completion");
|
|
||||||
}
|
|
||||||
+ std::terminate();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Outside party poll: check whether the spawning party has completed this
|
|
||||||
@@ -579,6 +580,7 @@ class Party : public Activity, private W
|
|
||||||
case State::kResult:
|
|
||||||
return std::move(result_);
|
|
||||||
}
|
|
||||||
+ std::terminate();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Destroy() override { this->Unref(); }
|
|
||||||
Reference in New Issue
Block a user