forked from jengelh/grpc
Compare commits
4 Commits
Author | SHA256 | Date | |
---|---|---|---|
5f0483f9a3 | |||
997f2bb7b6 | |||
a9da81ec60 | |||
e85a2f963f |
26
grpc.changes
26
grpc.changes
@ -1,3 +1,29 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
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>
|
||||||
|
|
||||||
|
- Update to release v1.63
|
||||||
|
* OTel C++: Add experimental optional locality label available
|
||||||
|
to client per-attempt metrics.
|
||||||
|
* surface: Add an API to inject connected endpoints into servers.
|
||||||
|
* OTel C++: Add API to set channel scope filter.
|
||||||
|
* EventEngine: Enable the EventEngine DNS Resolver on POSIX.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Apr 3 09:05:38 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
Wed Apr 3 09:05:38 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
37
grpc.spec
37
grpc.spec
@ -16,11 +16,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define lver 39
|
%define lver 45
|
||||||
%define lverp 1_62
|
%define lverp 1_70
|
||||||
%define src_install_dir /usr/src/%name
|
%define src_install_dir /usr/src/%name
|
||||||
Name: grpc
|
Name: grpc
|
||||||
Version: 1.62.1
|
Version: 1.70.1
|
||||||
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
|
||||||
@ -29,9 +29,12 @@ URL: https://grpc.io/
|
|||||||
Source: https://github.com/grpc/grpc/archive/v%version.tar.gz
|
Source: https://github.com/grpc/grpc/archive/v%version.tar.gz
|
||||||
Source2: %name-rpmlintrc
|
Source2: %name-rpmlintrc
|
||||||
Patch1: terminate.patch
|
Patch1: terminate.patch
|
||||||
Patch4: ARM-Unaligned-access-fixes.patch
|
Patch2: link-failure.patch
|
||||||
Patch5: Fix-compilation-on-RHEL-7-ppc64le-gcc-4.8.patch
|
Patch3: return-values.patch
|
||||||
BuildRequires: abseil-cpp-devel
|
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: cmake
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
%if 0%{?suse_version} < 1550
|
%if 0%{?suse_version} < 1550
|
||||||
@ -84,7 +87,7 @@ Summary: A small protobuf implementation in C
|
|||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n libupb%lver
|
%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
|
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
|
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
|
Requires: libupb%lver = %version
|
||||||
|
|
||||||
%description -n upb-devel
|
%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
|
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
|
declared in .proto files. upb is heavily arena-based: all messages always live
|
||||||
@ -128,7 +131,7 @@ This subpackage contains source code of the gRPC reference implementation.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -N
|
%autosetup -N
|
||||||
%patch -P 1 -p1
|
%patch -P 1 -P 2 -P 3 -P 4 -p1
|
||||||
find "." -type f -exec grep -l '/usr/bin/python' {} + |
|
find "." -type f -exec grep -l '/usr/bin/python' {} + |
|
||||||
xargs -r perl -i -lpe \
|
xargs -r perl -i -lpe \
|
||||||
's{#! ?/usr/bin/python\S*}{#!/usr/bin/python3}g;'
|
's{#! ?/usr/bin/python\S*}{#!/usr/bin/python3}g;'
|
||||||
@ -139,12 +142,12 @@ find "." -type f -exec grep -l '/usr/bin/env ' {} + |
|
|||||||
s{#! ?/usr/bin/env bash}{#!/bin/bash}g;
|
s{#! ?/usr/bin/env bash}{#!/bin/bash}g;
|
||||||
s{#! ?/usr/bin/env }{#!/usr/bin/}g;'
|
s{#! ?/usr/bin/env }{#!/usr/bin/}g;'
|
||||||
pushd third_party/xxhash
|
pushd third_party/xxhash
|
||||||
%patch -P 4 -P 5 -p1
|
%patch -P 14 -P 15 -p1
|
||||||
popd
|
popd
|
||||||
rm -Rf third_party/abseil-cpp/
|
rm -Rf third_party/abseil-cpp/
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?suse_version} < 1550
|
%if 0%{?suse_version} < 1600
|
||||||
export CC=gcc-12
|
export CC=gcc-12
|
||||||
export CXX=g++-12
|
export CXX=g++-12
|
||||||
%endif
|
%endif
|
||||||
@ -201,14 +204,10 @@ cp -r * "%buildroot/%src_install_dir"
|
|||||||
# Checks cannot be run because of `make clean` above
|
# Checks cannot be run because of `make clean` above
|
||||||
#%%check
|
#%%check
|
||||||
|
|
||||||
%post -n libgrpc%lver -p /sbin/ldconfig
|
%ldconfig_scriptlets -n libgrpc%lver
|
||||||
%postun -n libgrpc%lver -p /sbin/ldconfig
|
%ldconfig_scriptlets -n libgrpc%lverp
|
||||||
%post -n libgrpc%lverp -p /sbin/ldconfig
|
%ldconfig_scriptlets -n libgrpc++%lverp
|
||||||
%postun -n libgrpc%lverp -p /sbin/ldconfig
|
%ldconfig_scriptlets -n libupb%lver
|
||||||
%post -n libgrpc++%lverp -p /sbin/ldconfig
|
|
||||||
%postun -n libgrpc++%lverp -p /sbin/ldconfig
|
|
||||||
%post -n libupb%lver -p /sbin/ldconfig
|
|
||||||
%postun -n libupb%lver -p /sbin/ldconfig
|
|
||||||
|
|
||||||
%files -n libgrpc%lver
|
%files -n libgrpc%lver
|
||||||
%_libdir/libaddress_sorting.so.%{lver}*
|
%_libdir/libaddress_sorting.so.%{lver}*
|
||||||
|
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
|
||||||
|
@@ -4091,6 +4091,7 @@ target_link_libraries(upb_json_lib
|
||||||
|
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||||
|
upb_mini_descriptor_lib
|
||||||
|
upb_wire_lib
|
||||||
|
+ grpc_unsecure
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -4348,6 +4349,7 @@ target_link_libraries(upb_textformat_lib
|
||||||
|
${_gRPC_ALLTARGETS_LIBRARIES}
|
||||||
|
upb_mini_descriptor_lib
|
||||||
|
upb_wire_lib
|
||||||
|
+ grpc_unsecure
|
||||||
|
)
|
||||||
|
|
||||||
|
|
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.70.1/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- grpc-1.70.1.orig/CMakeLists.txt
|
||||||
|
+++ grpc-1.70.1/CMakeLists.txt
|
||||||
|
@@ -51301,7 +51301,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 absl_variant 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 absl_variant 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"
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:c9f9ae6e4d6f40464ee9958be4068087881ed6aa37e30d0e64d40ed7be39dd01
|
|
||||||
size 22384671
|
|
BIN
v1.70.1.tar.gz
(Stored with Git LFS)
Normal file
BIN
v1.70.1.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user