forked from jengelh/grpc
Compare commits
4 Commits
Author | SHA256 | Date | |
---|---|---|---|
e2cfebf3b9 | |||
5f0483f9a3 | |||
997f2bb7b6 | |||
a9da81ec60 |
@ -15,8 +15,8 @@ Subject: [PATCH] [ARM] Unaligned access fixes
|
||||
|
||||
diff --git a/xxhash.h b/xxhash.h
|
||||
index 08ab794..4cf3f0d 100644
|
||||
--- a/xxhash.h
|
||||
+++ b/xxhash.h
|
||||
--- a/third_party/xxhash/xxhash.h
|
||||
+++ b/third_party/xxhash/xxhash.h
|
||||
@@ -1402,28 +1402,18 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr,
|
||||
*/
|
||||
|
||||
|
@ -9,8 +9,8 @@ Subject: [PATCH] Fix compilation on RHEL 7 ppc64le (gcc 4.8)
|
||||
|
||||
diff --git a/xxhash.h b/xxhash.h
|
||||
index 4cf3f0d..b07de0c 100644
|
||||
--- a/xxhash.h
|
||||
+++ b/xxhash.h
|
||||
--- a/third_party/xxhash/xxhash.h
|
||||
+++ b/third_party/xxhash/xxhash.h
|
||||
@@ -4119,7 +4119,7 @@ XXH3_accumulate_512_vsx( void* XXH_RESTRICT acc,
|
||||
const void* XXH_RESTRICT secret)
|
||||
{
|
||||
|
28
grpc.changes
28
grpc.changes
@ -1,3 +1,31 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 25 21:48:57 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 1.71
|
||||
* Fix call attempt tracer lifetimes for retries
|
||||
* Fixed a bug that caused grpc to stop triggering connection
|
||||
attempts
|
||||
* Added support for service "deprecated" option
|
||||
- Rework link-failure.patch to not link grpc_unsecure
|
||||
into libgrpc(++). [boo#1237422]
|
||||
- Make build recipe POSIX sh compatible.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 12 14:22:59 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Add telemetry.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 9 22:37:18 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 1.70.1
|
||||
* grpc++ begins to require C++17 or later to build and use it
|
||||
* chttp2_server: fix a race between connection starting and it
|
||||
being orphaned
|
||||
* chttp2Server: fix a race between connection manager updates
|
||||
and handshake
|
||||
- Add link-failure.patch, return-values.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 27 09:40:46 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
|
41
grpc.spec
41
grpc.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package grpc
|
||||
#
|
||||
# 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
|
||||
@ -16,11 +16,11 @@
|
||||
#
|
||||
|
||||
|
||||
%define lver 40
|
||||
%define lverp 1_63
|
||||
%define lver 46
|
||||
%define lverp 1_71
|
||||
%define src_install_dir /usr/src/%name
|
||||
Name: grpc
|
||||
Version: 1.63.0
|
||||
Version: 1.71.0
|
||||
Release: 0
|
||||
Summary: HTTP/2-based Remote Procedure Call implementation
|
||||
License: Apache-2.0
|
||||
@ -29,9 +29,12 @@ URL: https://grpc.io/
|
||||
Source: https://github.com/grpc/grpc/archive/v%version.tar.gz
|
||||
Source2: %name-rpmlintrc
|
||||
Patch1: terminate.patch
|
||||
Patch4: ARM-Unaligned-access-fixes.patch
|
||||
Patch5: Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch
|
||||
BuildRequires: abseil-cpp-devel
|
||||
Patch2: link-failure.patch
|
||||
Patch3: return-values.patch
|
||||
Patch4: telemetry.patch
|
||||
Patch14: ARM-Unaligned-access-fixes.patch
|
||||
Patch15: Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch
|
||||
BuildRequires: abseil-cpp-devel >= 20240722
|
||||
BuildRequires: cmake
|
||||
BuildRequires: fdupes
|
||||
%if 0%{?suse_version} < 1550
|
||||
@ -84,7 +87,7 @@ Summary: A small protobuf implementation in C
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n libupb%lver
|
||||
μpb (often written 'upb') is a small protobuf implementation written in C.
|
||||
μpb (often written "upb") is a small protobuf implementation written in C.
|
||||
|
||||
upb generates a C API for creating, parsing, and serializing messages as
|
||||
declared in .proto files. upb is heavily arena-based: all messages always live
|
||||
@ -110,7 +113,7 @@ Group: Development/Tools/Building
|
||||
Requires: libupb%lver = %version
|
||||
|
||||
%description -n upb-devel
|
||||
μpb (often written 'upb') is a small protobuf implementation written in C.
|
||||
μpb (often written "upb") is a small protobuf implementation written in C.
|
||||
|
||||
upb generates a C API for creating, parsing, and serializing messages as
|
||||
declared in .proto files. upb is heavily arena-based: all messages always live
|
||||
@ -127,8 +130,7 @@ BuildArch: noarch
|
||||
This subpackage contains source code of the gRPC reference implementation.
|
||||
|
||||
%prep
|
||||
%autosetup -N
|
||||
%patch -P 1 -p1
|
||||
%autosetup -p1
|
||||
find "." -type f -exec grep -l '/usr/bin/python' {} + |
|
||||
xargs -r perl -i -lpe \
|
||||
's{#! ?/usr/bin/python\S*}{#!/usr/bin/python3}g;'
|
||||
@ -138,13 +140,10 @@ find "." -type f -exec grep -l '/usr/bin/env ' {} + |
|
||||
s{#! ?/usr/bin/env sh}{#!/bin/sh}g;
|
||||
s{#! ?/usr/bin/env bash}{#!/bin/bash}g;
|
||||
s{#! ?/usr/bin/env }{#!/usr/bin/}g;'
|
||||
pushd third_party/xxhash
|
||||
%patch -P 4 -P 5 -p1
|
||||
popd
|
||||
rm -Rf third_party/abseil-cpp/
|
||||
|
||||
%build
|
||||
%if 0%{?suse_version} < 1550
|
||||
%if 0%{?suse_version} < 1600
|
||||
export CC=gcc-12
|
||||
export CXX=g++-12
|
||||
%endif
|
||||
@ -157,7 +156,7 @@ cp -a /usr/src/opencensus-proto third_party/
|
||||
export CFLAGS="%optflags -Wno-error"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
find "." -type f -exec grep '/usr/bin/env ' {} + || :
|
||||
pushd .
|
||||
s="$PWD"
|
||||
%cmake -DgRPC_INSTALL=ON \
|
||||
-DgRPC_INSTALL_LIBDIR:PATH="%_lib" \
|
||||
-DgRPC_INSTALL_CMAKEDIR:PATH="%_libdir/cmake/grpc" \
|
||||
@ -170,24 +169,24 @@ pushd .
|
||||
-DgRPC_ZLIB_PROVIDER=package \
|
||||
-DCMAKE_CXX_STANDARD=17
|
||||
%cmake_build
|
||||
popd
|
||||
cd "$s"
|
||||
find "." -type f -exec grep '/usr/bin/env ' {} + || :
|
||||
|
||||
%install
|
||||
b="%buildroot"
|
||||
%cmake_install
|
||||
|
||||
pushd "$b/usr"
|
||||
cd "$b/usr"
|
||||
rm -fv lib/*.a share/grpc/*.pem
|
||||
popd
|
||||
cd -
|
||||
|
||||
# Install sources
|
||||
pushd %__builddir
|
||||
cd "%__builddir"
|
||||
rm -fv CMakeFiles/*.log
|
||||
make clean
|
||||
find . -type f "(" -name "*.so" -o -name "*.o" -o -name ".git*" -o \
|
||||
-name "*.bin" -o -name "*.out" ")" -exec rm -Rfv {} +
|
||||
popd
|
||||
cd -
|
||||
# Don't include abseil-cpp in sources
|
||||
rm -fr third_party/abseil-cpp/*
|
||||
# Don't include non-deterministic log in sources
|
||||
|
33
link-failure.patch
Normal file
33
link-failure.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From: Jan Engelhardt <ej@inai.de>
|
||||
Date: 2025-02-09 18:51:55.470853259 +0100
|
||||
|
||||
happened since about 1.63 (last known good 1.62.x)
|
||||
|
||||
[ 9s] /usr/bin/cc -fPIC -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -Wno-error -O2 -g -DNDEBUG -Wl,--dependency-file=CMakeFiles/upb_textformat_lib.dir/link.d -Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -shared -Wl,-soname,libupb_textformat_lib.so.45 -o libupb_textformat_lib.so.45.0.0 CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/lex/atoi.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/lex/round_trip.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/lex/strtod.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/lex/unicode.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/message/copy.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/message/merge.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/def_pool.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/def_type.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/desc_state.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/enum_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/enum_reserved_range.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/enum_value_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/extension_range.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/field_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/file_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/internal/def_builder.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/internal/strdup2.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/message.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/message_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/message_reserved_range.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/method_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/oneof_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/reflection/service_def.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/text/encode.c.o CMakeFiles/upb_textformat_lib.dir/third_party/upb/upb/text/internal/encode.c.o -Wl,-rpath,/home/abuild/rpmbuild/BUILD/grpc-1.70.1-build/grpc-1.70.1/build: -ldl -lm -lrt libupb_mini_descriptor_lib.so.45.0.0 libupb_wire_lib.so.45.0.0 libutf8_range_lib.so.45.0.0 libupb_message_lib.so.45.0.0 libupb_base_lib.so.45.0.0 libupb_mem_lib.so.45.0.0 -ldl -lm -lrt
|
||||
[ 9s] /home/abuild/rpmbuild/BUILD/grpc-1.70.1-build/grpc-1.70.1/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h:5195:(.text+0x3b0): undefined reference to `google__protobuf__ServiceOptions_msg_init'
|
||||
[ 9s] collect2: error: ld returned 1 exit status
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: grpc-1.70.1/CMakeLists.txt
|
||||
===================================================================
|
||||
--- grpc-1.70.1.orig/CMakeLists.txt
|
||||
+++ grpc-1.70.1/CMakeLists.txt
|
||||
@@ -4054,6 +4054,7 @@ add_library(upb_json_lib ${_gRPC_STATIC_
|
||||
third_party/upb/upb/reflection/method_def.c
|
||||
third_party/upb/upb/reflection/oneof_def.c
|
||||
third_party/upb/upb/reflection/service_def.c
|
||||
+ src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c
|
||||
)
|
||||
|
||||
target_compile_features(upb_json_lib PUBLIC cxx_std_17)
|
||||
@@ -4311,6 +4312,7 @@ add_library(upb_textformat_lib ${_gRPC_S
|
||||
third_party/upb/upb/reflection/service_def.c
|
||||
third_party/upb/upb/text/encode.c
|
||||
third_party/upb/upb/text/internal/encode.c
|
||||
+ src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c
|
||||
)
|
||||
|
||||
target_compile_features(upb_textformat_lib PUBLIC cxx_std_17)
|
54
return-values.patch
Normal file
54
return-values.patch
Normal file
@ -0,0 +1,54 @@
|
||||
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/lib/transport/call_state.h | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
Index: grpc-1.70.1/src/core/lib/transport/call_state.h
|
||||
===================================================================
|
||||
--- grpc-1.70.1.orig/src/core/lib/transport/call_state.h
|
||||
+++ grpc-1.70.1/src/core/lib/transport/call_state.h
|
||||
@@ -154,6 +154,7 @@ class CallState {
|
||||
case ClientToServerPullState::kTerminated:
|
||||
return "Terminated";
|
||||
}
|
||||
+ return "Undefined";
|
||||
}
|
||||
template <typename Sink>
|
||||
friend void AbslStringify(Sink& out, ClientToServerPullState state) {
|
||||
@@ -184,6 +185,7 @@ class CallState {
|
||||
case ClientToServerPushState::kFinished:
|
||||
return "Finished";
|
||||
}
|
||||
+ return "Undefined";
|
||||
}
|
||||
template <typename Sink>
|
||||
friend void AbslStringify(Sink& out, ClientToServerPushState state) {
|
||||
@@ -234,6 +236,7 @@ class CallState {
|
||||
case ServerToClientPullState::kTerminated:
|
||||
return "Terminated";
|
||||
}
|
||||
+ return "Undefined";
|
||||
}
|
||||
template <typename Sink>
|
||||
friend void AbslStringify(Sink& out, ServerToClientPullState state) {
|
||||
@@ -274,6 +277,7 @@ class CallState {
|
||||
case ServerToClientPushState::kFinished:
|
||||
return "Finished";
|
||||
}
|
||||
+ return "Undefined";
|
||||
}
|
||||
template <typename Sink>
|
||||
friend void AbslStringify(Sink& out, ServerToClientPushState state) {
|
||||
@@ -304,6 +308,7 @@ class CallState {
|
||||
case ServerTrailingMetadataState::kPulledCancel:
|
||||
return "PulledCancel";
|
||||
}
|
||||
+ return "Undefined";
|
||||
}
|
||||
template <typename Sink>
|
||||
friend void AbslStringify(Sink& out, ServerTrailingMetadataState state) {
|
22
telemetry.patch
Normal file
22
telemetry.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From: <ej@inai.de>
|
||||
Date: 2025-02-12 15:22:18.058482440 +0100
|
||||
|
||||
CMakeLists.txt is using a bundled copy of otel, so there is no .pc file to depend on.
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: grpc-1.71.0/CMakeLists.txt
|
||||
===================================================================
|
||||
--- grpc-1.71.0.orig/CMakeLists.txt
|
||||
+++ grpc-1.71.0/CMakeLists.txt
|
||||
@@ -51170,7 +51170,7 @@ generate_pkgconfig(
|
||||
"gRPC++ OpenTelemetry Plugin"
|
||||
"OpenTelemetry Plugin for gRPC C++"
|
||||
"${gRPC_CPP_VERSION}"
|
||||
- "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc grpc++ opentelemetry_api"
|
||||
+ "absl_absl_check absl_absl_log absl_algorithm_container absl_any_invocable absl_base absl_bind_front absl_bits absl_check absl_cleanup absl_config absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_flat_hash_map absl_flat_hash_set absl_function_ref absl_hash absl_inlined_vector absl_log absl_log_globals absl_log_severity absl_memory absl_no_destructor absl_optional absl_random_bit_gen_ref absl_random_distributions absl_random_random absl_span absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_type_traits absl_utility gpr grpc grpc++"
|
||||
"libcares openssl re2 zlib"
|
||||
"-lgrpcpp_otel_plugin"
|
||||
"-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_wire_lib -lupb_message_lib -lutf8_range_lib -lupb_mini_descriptor_lib -lupb_mem_lib -lupb_base_lib"
|
BIN
v1.63.0.tar.gz
(Stored with Git LFS)
BIN
v1.63.0.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
v1.71.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
v1.71.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user