* [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:30 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Add new -DgRPC_BUILD_CODEGEN=OFF config option which is required if
no plugins are enabled.
Drop no longer relevant add GPR_DISABLE_WRAPPED_MEMCPY patch.
Rebase remaining patches.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.checkpackageignore | 3 +-
...the-availability-of-pthread_setname_.patch | 26 ++---
...trict-building-of-host-grpc-to-grpc.patch} | 98 ++++++++-----------
...py.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch | 34 -------
...conditionally-downloading-api-repos.patch} | 21 ++--
package/grpc/grpc.hash | 2 +-
package/grpc/grpc.mk | 3 +-
7 files changed, 68 insertions(+), 119 deletions(-)
rename package/grpc/{0003-host-grpc-only-cpp-plugin.patch => 0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch} (63%)
delete mode 100644 package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch
rename package/grpc/{0004-disable-unconditionally-downloading-api-repos.patch => 0003-disable-unconditionally-downloading-api-repos.patch} (62%)
diff --git a/.checkpackageignore b/.checkpackageignore
index efbb6c39ad..8ffdbd4e59 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -560,8 +560,7 @@ package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.
package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
-package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch lib_patch.Upstream
-package/grpc/0004-disable-unconditionally-downloading-api-repos.patch lib_patch.Upstream
+package/grpc/0003-disable-unconditionally-downloading-api-repos.patch lib_patch.Upstream
package/gstreamer1/gstd/0001-Don-t-require-gstd-check-user-xenv.sh-for-systemd-se.patch lib_patch.Upstream
package/guile/0001-calculate-csqrt_manually.patch lib_patch.Upstream
package/guile/0002-Makefile.am-fix-build-without-makeinfo.patch lib_patch.Upstream
diff --git a/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch b/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
index 92dc5a6c45..e8e211758a 100644
--- a/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
+++ b/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
@@ -1,4 +1,4 @@
-From 0dfb289a3b362b082ac3608d887e42f09dadc0d2 Mon Sep 17 00:00:00 2001
+From dfec50b899c449bc964514f16e94869de7a68896 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Mon, 31 Dec 2018 16:22:07 +0100
Subject: [PATCH] Properly detect the availability of pthread_setname_np()
@@ -20,15 +20,15 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
]
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
- CMakeLists.txt | 6 ++++++
- include/grpc/impl/codegen/port_platform.h | 2 ++
+ CMakeLists.txt | 6 ++++++
+ include/grpc/support/port_platform.h | 2 ++
2 files changed, 8 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 45c2fcb..0b2be4f 100644
+index 053b9e3784..2565dc5c84 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -208,6 +208,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
+@@ -291,6 +291,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
@@ -41,11 +41,11 @@ index 45c2fcb..0b2be4f 100644
if(MSVC)
include(cmake/msvc_static_runtime.cmake)
add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
-diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h
-index 4f213ff..55ecd9d 100644
---- a/include/grpc/impl/codegen/port_platform.h
-+++ b/include/grpc/impl/codegen/port_platform.h
-@@ -186,6 +186,7 @@
+diff --git a/include/grpc/support/port_platform.h b/include/grpc/support/port_platform.h
+index 5fb7426af2..24d438d702 100644
+--- a/include/grpc/support/port_platform.h
++++ b/include/grpc/support/port_platform.h
+@@ -228,6 +228,7 @@
#endif /* _LP64 */
#ifdef __GLIBC__
#define GPR_POSIX_CRASH_HANDLER 1
@@ -53,7 +53,7 @@ index 4f213ff..55ecd9d 100644
#ifdef __GLIBC_PREREQ
#if __GLIBC_PREREQ(2, 12)
#define GPR_LINUX_PTHREAD_NAME 1
-@@ -194,6 +195,7 @@
+@@ -236,6 +237,7 @@
// musl libc & others
#define GPR_LINUX_PTHREAD_NAME 1
#endif
@@ -61,6 +61,6 @@ index 4f213ff..55ecd9d 100644
#include <linux/version.h>
#else /* musl libc */
#define GPR_MUSL_LIBC_COMPAT 1
-
--
-2.26.63
+2.34.1
+
diff --git a/package/grpc/0003-host-grpc-only-cpp-plugin.patch b/package/grpc/0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch
similarity index 63%
rename from package/grpc/0003-host-grpc-only-cpp-plugin.patch
rename to package/grpc/0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch
index bfb8713053..82705d8a1e 100644
--- a/package/grpc/0003-host-grpc-only-cpp-plugin.patch
+++ b/package/grpc/0002-Add-option-to-restrict-building-of-host-grpc-to-grpc.patch
@@ -1,4 +1,4 @@
-From 0f2c73b62bdc612f9d5cdd8e0c765995470d4f8b Mon Sep 17 00:00:00 2001
+From 6aab068a6bd92e215b61eaab61062bf1d97bc065 Mon Sep 17 00:00:00 2001
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Date: Tue, 25 May 2021 14:55:23 +0200
Subject: [PATCH] Add option to restrict building of (host-)grpc to
@@ -15,17 +15,17 @@ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Updated for 1.48.0:
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
- CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++----
- 1 file changed, 35 insertions(+), 4 deletions(-)
+ CMakeLists.txt | 36 +++++++++++++++++++++++++++++++-----
+ 1 file changed, 31 insertions(+), 5 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0dcae6b1aee5..57b3963a43b0 100644
+index 2565dc5c84..94f8fd3e93 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -49,12 +49,16 @@ option(gRPC_BUILD_TESTS "Build tests" OFF)
+@@ -50,12 +50,16 @@ set(gRPC_BUILD_MSVC_MP_COUNT 0 CACHE STRING "The maximum number of processes for
+ option(gRPC_BUILD_TESTS "Build tests" OFF)
option(gRPC_BUILD_CODEGEN "Build codegen" ON)
- option(gRPC_BUILD_CSHARP_EXT "Build C# extensions" ON)
- option(gRPC_BACKWARDS_COMPATIBILITY_MODE "Build libraries that are binary compatible across a larger number of OS and libc versions" OFF)
+ option(gRPC_DOWNLOAD_ARCHIVES "Download archives for empty 3rd party directories" ON)
+option(gRPC_BUILD_PLUGIN_SUPPORT_ONLY "Build plugin support only" OFF)
set(gRPC_INSTALL_default ON)
@@ -39,7 +39,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
set(gRPC_INSTALL ${gRPC_INSTALL_default} CACHE BOOL
"Generate installation target")
-@@ -563,6 +567,8 @@ add_custom_target(plugins
+@@ -662,6 +666,8 @@ add_custom_target(plugins
DEPENDS ${_gRPC_PLUGIN_LIST}
)
@@ -48,7 +48,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_custom_target(tools_c
DEPENDS
)
-@@ -574,6 +580,8 @@ add_custom_target(tools_cxx
+@@ -673,6 +679,8 @@ add_custom_target(tools_cxx
add_custom_target(tools
DEPENDS tools_c tools_cxx)
@@ -57,15 +57,16 @@ index 0dcae6b1aee5..57b3963a43b0 100644
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/channelz/channelz.proto src/proto/grpc/channelz/channelz.proto
)
-@@ -1307,6 +1315,7 @@ if(gRPC_BUILD_TESTS)
+@@ -1660,7 +1668,7 @@ if(gRPC_BUILD_TESTS)
DEPENDS buildtests_c buildtests_cxx)
endif()
+-
+if (NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
add_library(address_sorting
third_party/address_sorting/address_sorting.c
-@@ -1359,6 +1368,8 @@ if(gRPC_INSTALL)
+@@ -2855,6 +2863,8 @@ if(gRPC_INSTALL)
)
endif()
@@ -73,17 +74,17 @@ index 0dcae6b1aee5..57b3963a43b0 100644
+
if(gRPC_BUILD_TESTS)
- add_library(end2end_tests
-@@ -1512,6 +1523,8 @@ target_link_libraries(end2end_tests
+ add_library(grpc_test_util
+@@ -2987,6 +2997,8 @@ endif()
endif()
+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
+
- add_library(gpr
- src/core/lib/gpr/alloc.cc
- src/core/lib/gpr/atm.cc
-@@ -2504,6 +2517,8 @@ if(gRPC_INSTALL)
+ add_library(grpc_unsecure
+ src/core/channelz/channel_trace.cc
+ src/core/channelz/channelz.cc
+@@ -3547,6 +3559,8 @@ if(gRPC_INSTALL)
)
endif()
@@ -91,17 +92,17 @@ index 0dcae6b1aee5..57b3963a43b0 100644
+
if(gRPC_BUILD_TESTS)
- add_library(grpc_test_util
-@@ -2618,6 +2633,8 @@ endif()
+ add_library(gtest
+@@ -3621,6 +3635,8 @@ target_link_libraries(gtest
endif()
+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
+
- add_library(grpc_unsecure
- src/core/ext/filters/census/grpc_context.cc
- src/core/ext/filters/channel_idle/channel_idle_filter.cc
-@@ -3102,6 +3119,8 @@ if(gRPC_INSTALL)
+ add_library(upb_base_lib
+ third_party/upb/upb/base/status.c
+ )
+@@ -4108,6 +4124,8 @@ if(gRPC_INSTALL)
)
endif()
@@ -110,7 +111,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
if(gRPC_BUILD_TESTS)
if(gRPC_BUILD_CODEGEN)
-@@ -3185,6 +3204,8 @@ endif()
+@@ -4193,6 +4211,8 @@ endif()
endif()
@@ -119,24 +120,24 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_library(grpc++
src/core/ext/transport/binder/client/binder_connector.cc
src/core/ext/transport/binder/client/channel_create.cc
-@@ -3635,6 +3656,7 @@ if(gRPC_INSTALL)
+@@ -4684,6 +4704,7 @@ if(gRPC_INSTALL)
)
endif()
+endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
if(gRPC_BUILD_CODEGEN)
- add_library(grpc++_reflection
-@@ -3889,6 +3911,8 @@ target_link_libraries(grpc++_test_util
+ add_library(grpc++_reflection ${_gRPC_STATIC_WIN32}
+@@ -4967,6 +4988,8 @@ target_link_libraries(grpc++_test_util
endif()
+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
+
add_library(grpc++_unsecure
+ src/cpp/client/call_credentials.cc
src/cpp/client/channel_cc.cc
- src/cpp/client/client_callback.cc
-@@ -4181,6 +4205,7 @@ if(gRPC_INSTALL)
+@@ -5707,6 +5730,7 @@ if(gRPC_INSTALL)
)
endif()
@@ -144,7 +145,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_library(grpc_plugin_support
src/compiler/cpp_generator.cc
-@@ -4240,7 +4265,7 @@ foreach(_hdr
+@@ -5769,7 +5793,7 @@ foreach(_hdr
endforeach()
@@ -153,25 +154,7 @@ index 0dcae6b1aee5..57b3963a43b0 100644
install(TARGETS grpc_plugin_support EXPORT gRPCTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
-@@ -4324,6 +4349,8 @@ endif()
-
- endif()
-
-+if(NOT gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
-+
- add_library(upb
- third_party/upb/third_party/utf8_range/naive.c
- third_party/upb/third_party/utf8_range/range2-neon.c
-@@ -4393,6 +4420,8 @@ if(gRPC_INSTALL)
- )
- endif()
-
-+endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
-+
-
- if(gRPC_BUILD_TESTS)
-
-@@ -11085,7 +11114,7 @@ target_link_libraries(grpc_completion_queue_test
+@@ -16520,7 +16544,7 @@ target_link_libraries(grpc_completion_queue_test
endif()
@@ -180,16 +163,16 @@ index 0dcae6b1aee5..57b3963a43b0 100644
add_executable(grpc_cpp_plugin
src/compiler/cpp_plugin.cc
-@@ -11115,7 +11144,7 @@ target_link_libraries(grpc_cpp_plugin
+@@ -16548,7 +16572,7 @@ target_link_libraries(grpc_cpp_plugin
-if(gRPC_INSTALL)
+if(gRPC_INSTALL OR gRPC_BUILD_PLUGIN_SUPPORT_ONLY)
- install(TARGETS grpc_cpp_plugin EXPORT gRPCTargets
+ install(TARGETS grpc_cpp_plugin EXPORT gRPCPluginTargets
RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR}
BUNDLE DESTINATION ${gRPC_INSTALL_BINDIR}
-@@ -23128,7 +23157,7 @@ endif()
+@@ -37968,7 +37992,7 @@ endif()
@@ -198,12 +181,13 @@ index 0dcae6b1aee5..57b3963a43b0 100644
if(gRPC_INSTALL)
install(EXPORT gRPCTargets
-@@ -23225,3 +23254,5 @@ generate_pkgconfig(
- "-lgrpc++_unsecure"
- ""
- "grpc++_unsecure.pc")
+@@ -38089,3 +38113,5 @@ generate_pkgconfig(
+ "-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"
+ "grpcpp_otel_plugin.pc")
+
+endif() # gRPC_BUILD_PLUGIN_SUPPORT_ONLY
+\ No newline at end of file
--
-2.43.0
+2.34.1
diff --git a/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch b/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch
deleted file mode 100644
index aac92bab13..0000000000
--- a/package/grpc/0002-wrap_memcpy.cc-add-GPR_DISABLE_WRAPPED_MEMCPY.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From be030314805137cd63b46ea6eaa702b608669910 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sun, 2 Jun 2019 17:45:47 +0200
-Subject: [PATCH] wrap_memcpy.cc: add GPR_DISABLE_WRAPPED_MEMCPY
-
-Add GPR_DISABLE_WRAPPED_MEMCPY to allow the user to disable wrapped
-memcpy. This will fix build on x86_64 on musl/uclibc without changing
-the cpu behavior.
-
-Fixes:
- - http://autobuild.buildroot.org/results/20d6f2489a4e291a53bd514da66105eb607e1014
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status: https://github.com/grpc/grpc/pull/19207]
----
- src/core/lib/gpr/wrap_memcpy.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/core/lib/gpr/wrap_memcpy.cc b/src/core/lib/gpr/wrap_memcpy.cc
-index 9b8608e056..38b76acf95 100644
---- a/src/core/lib/gpr/wrap_memcpy.cc
-+++ b/src/core/lib/gpr/wrap_memcpy.cc
-@@ -29,7 +29,7 @@
- extern "C" {
- #ifdef __linux__
- #if defined(__x86_64__) && !defined(GPR_MUSL_LIBC_COMPAT) && \
-- !defined(__ANDROID__)
-+ !defined(__ANDROID__) && !defined(GPR_DISABLE_WRAPPED_MEMCPY)
- __asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
- void* __wrap_memcpy(void* destination, const void* source, size_t num) {
- return memcpy(destination, source, num);
---
-2.20.1
-
diff --git a/package/grpc/0004-disable-unconditionally-downloading-api-repos.patch b/package/grpc/0003-disable-unconditionally-downloading-api-repos.patch
similarity index 62%
rename from package/grpc/0004-disable-unconditionally-downloading-api-repos.patch
rename to package/grpc/0003-disable-unconditionally-downloading-api-repos.patch
index 967bbf6247..0cd5012b26 100644
--- a/package/grpc/0004-disable-unconditionally-downloading-api-repos.patch
+++ b/package/grpc/0003-disable-unconditionally-downloading-api-repos.patch
@@ -1,4 +1,4 @@
-From b0599c3d1b52818c79ea8fa5dfdc40a4ce01e454 Mon Sep 17 00:00:00 2001
+From 2a73f6439b6d745b2cbfff120dc7adc555400247 Mon Sep 17 00:00:00 2001
From: Michael Nosthoff <buildroot@heine.tech>
Date: Fri, 22 Jul 2022 08:49:48 +0200
Subject: [PATCH] disable unconditionally downloading api repos
@@ -9,31 +9,30 @@ for now.
See https://github.com/grpc/grpc/issues/30385
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
-
---
CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 11e7ae2b67..a9062fa6ef 100644
+index 94f8fd3e93..df43d2e193 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -327,6 +327,7 @@ include(cmake/xxhash.cmake)
- include(cmake/zlib.cmake)
- include(cmake/download_archive.cmake)
+@@ -402,6 +402,7 @@ if(gRPC_BUILD_GRPCPP_OTEL_PLUGIN)
+ include(cmake/opentelemetry-cpp.cmake)
+ endif()
+if(FALSE)
# Setup external proto library at third_party/envoy-api with 2 download URLs
- if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/envoy-api)
+ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/envoy-api AND gRPC_DOWNLOAD_ARCHIVES)
# Download the archive via HTTP, validate the checksum, and extract to third_party/envoy-api.
-@@ -403,6 +404,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds)
- xds-cb28da3451f158a947dfc45090fe92b07b243bc1
+@@ -478,6 +479,7 @@ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/xds AND gRPC_DOWNLOAD_ARC
+ xds-3a472e524827f72d1ad621c4983dd5af54c46776
)
endif()
+endif()
if(WIN32)
- set(_gRPC_BASELIB_LIBRARIES ws2_32 crypt32)
+ set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} ws2_32 crypt32)
--
-2.25.1
+2.34.1
diff --git a/package/grpc/grpc.hash b/package/grpc/grpc.hash
index e6b76dcb5e..08aada1454 100644
--- a/package/grpc/grpc.hash
+++ b/package/grpc/grpc.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 b55696fb249669744de3e71acc54a9382bea0dce7cd5ba379b356b12b82d4229 grpc-1.51.1.tar.gz
+sha256 79ed4ab72fa9589b20f8b0b76c16e353e4cfec1d773d33afad605d97b5682c61 grpc-1.66.1.tar.gz
sha256 590198e3f305f2c347fde64d637c65492bbef554db6c8364e149cd375e3797ee LICENSE
diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 9125b1f9f6..47ebf1997c 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GRPC_VERSION = 1.51.1
+GRPC_VERSION = 1.66.1
GRPC_SITE = $(call github,grpc,grpc,v$(GRPC_VERSION))
GRPC_LICENSE = Apache-2.0, BSD-3-Clause (third_party code), MPL-2.0 (etc/roots.pem)
GRPC_LICENSE_FILES = LICENSE
@@ -29,6 +29,7 @@ GRPC_CONF_OPTS = \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_BUILD_CODEGEN=OFF \
-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF \
-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF \
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF \
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
@ 2024-11-06 21:30 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:30 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:16 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Add new -DgRPC_BUILD_CODEGEN=OFF config option which is required if
> no plugins are enabled.
>
> Drop no longer relevant add GPR_DISABLE_WRAPPED_MEMCPY patch.
>
> Rebase remaining patches.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
There's something I'm not super happy with with this bump:
- It is needed to fix the current build breakage in grpc
(http://autobuild.buildroot.net/results/b2dfc13dcac8396bc7510a4d992558a01d3c9f22/),
which is caused by your bump of libabseil-cpp in
0d40b47866753340b214e811af53e6a95216bbb3.
- But this grpc version bump *requires* the protobuf bump (apparently).
So it's a lot of version bumps needed to fix a build issue.
I would have preferred a more minimal fix of the grpc build for the
current master, and separately a bump, but backporting the fix for the
libaseil-cpp issue seems difficult.
So, fair enough, let's do it with a protobuf bump + grpc bump.
Overall, I did not apply this patch because it requires your protobuf
bump, but the protobuf bump needs more work.
However, please add into your patch series the following additional
patch:
commit 122e581244877ce4383448a1a298dd9ae480cde7
Author: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Mon Nov 4 23:27:44 2024 +0100
package/grpc: remove BR2_TOOLCHAIN_HAS_GCC_BUG_85180 dead code
This work-around was added in commit
716f8b34c526c702aa19e9a66a25df5d3a6ea663 ("package/grpc: work around
gcc bug 85180") to work around a bug on Microblaze. However, since
commit
ae0557403a3a4cbf5354f0ab1784a08623382e5e ("package/libabseil-cpp: add
BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS"), grpc depends on
libaseil-cpp, which isn't available on Microblaze, making the
GCC_BUG_85180 no longer needed, and effectively dead code. This commit
drops it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 47ebf1997c..39be4f583f 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -59,11 +59,6 @@ GRPC_CFLAGS += -DGPR_DISABLE_WRAPPED_MEMCPY
GRPC_CXXFLAGS += -DGPR_DISABLE_WRAPPED_MEMCPY
endif
-ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
-GRPC_CFLAGS += -O0
-GRPC_CXXFLAGS += -O0
-endif
-
GRPC_CONF_OPTS += \
-DCMAKE_C_FLAGS="$(GRPC_CFLAGS)" \
-DCMAKE_CXX_FLAGS="$(GRPC_CXXFLAGS)"
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Rebase only prefix subset of variables patch.
Drop revert main assume modversion patch which is now upstream.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.checkpackageignore | 1 -
...th-the-sysroot-a-subset-of-variables.patch | 78 ++++++++++---------
...me-modversion-insted-of-version-if-o.patch | 45 -----------
package/pkgconf/pkgconf.hash | 2 +-
package/pkgconf/pkgconf.mk | 2 +-
5 files changed, 42 insertions(+), 86 deletions(-)
delete mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index 8ffdbd4e59..6a9922b055 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -1025,7 +1025,6 @@ package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch
package/pistache/0002-src-server-listener.cc-fix-libressl-build.patch lib_patch.Upstream
package/pixman/0001-Disable-tests.patch lib_patch.Upstream
package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch lib_patch.Upstream
-package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch lib_patch.Upstream
package/pkgconf/pkg-config.in Shellcheck
package/poke/0001-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch lib_patch.Upstream
package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch lib_patch.Upstream
diff --git a/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch b/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch
index a039d0c1bc..d25039ade2 100644
--- a/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch
+++ b/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch
@@ -1,4 +1,4 @@
-From 267a57022699453e8d8f517519df25ac6bf6ac4e Mon Sep 17 00:00:00 2001
+From c1f9e60f46f2207f9dd07dd290ad5a2da05ad41d Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 16 Dec 2018 11:52:18 +0100
Subject: [PATCH] Only prefix with the sysroot a subset of variables
@@ -23,19 +23,19 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Updated to include gobject-introspection paths]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
- libpkgconf/tuple.c | 60 ++++++++++++++++++++++++++++++++--------------
- 1 file changed, 42 insertions(+), 18 deletions(-)
+ libpkgconf/tuple.c | 65 ++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 46 insertions(+), 19 deletions(-)
diff --git a/libpkgconf/tuple.c b/libpkgconf/tuple.c
-index 8523709..7cd2fff 100644
+index 83f6a47..a2aa427 100644
--- a/libpkgconf/tuple.c
+++ b/libpkgconf/tuple.c
-@@ -161,6 +161,21 @@ dequote(const char *value)
+@@ -178,6 +178,21 @@ dequote(const char *value)
return buf;
}
+static char *
-+pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot);
++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags, bool add_sysroot);
+
+const char *sysrooted_keys[] = {
+ "g_ir_scanner",
@@ -49,21 +49,19 @@ index 8523709..7cd2fff 100644
+ NULL,
+};
+
- /*
- * !doc
- *
-@@ -181,6 +193,8 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch
+ static const char *
+ find_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars)
+ {
+@@ -237,14 +252,20 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch
{
char *dequote_value;
- pkgconf_tuple_t *tuple = calloc(sizeof(pkgconf_tuple_t), 1);
+ pkgconf_tuple_t *tuple = calloc(1, sizeof(pkgconf_tuple_t));
+ bool add_sysroot = false;
+ int i;
pkgconf_tuple_find_delete(list, key);
-@@ -188,9 +202,13 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch
-
- PKGCONF_TRACE(client, "adding tuple to @%p: %s => %s (parsed? %d)", list, key, dequote_value, parse);
+ dequote_value = dequote(value);
+ for (i = 0; sysrooted_keys[i] != NULL; i++)
+ if (!strcmp(key, sysrooted_keys[i]))
@@ -71,77 +69,81 @@ index 8523709..7cd2fff 100644
+
tuple->key = strdup(key);
if (parse)
-- tuple->value = pkgconf_tuple_parse(client, list, dequote_value);
-+ tuple->value = pkgconf_tuple_parse_sysroot(client, list, dequote_value, add_sysroot);
+- tuple->value = pkgconf_tuple_parse(client, list, dequote_value, flags);
++ tuple->value = pkgconf_tuple_parse_sysroot(client, list, dequote_value, flags, add_sysroot);
else
tuple->value = strdup(dequote_value);
-@@ -234,27 +252,14 @@ pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const c
+@@ -294,22 +315,8 @@ pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const c
return NULL;
}
-/*
- * !doc
- *
-- * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
+- * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
- *
- * Parse an expression for variable substitution.
- *
- * :param pkgconf_client_t* client: The pkgconf client object to access.
- * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list).
- * :param char* value: The ``key=value`` string to parse.
+- * :param uint flags: Any flags to consider while parsing.
- * :return: the variable data with any variables substituted
- * :rtype: char *
- */
-char *
--pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
+-pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
+static char *
-+pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot)
++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags, bool add_sysroot)
{
char buf[PKGCONF_BUFSIZE];
const char *ptr;
- char *bptr = buf;
-
-- if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
-+ if (add_sysroot && *value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
- bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf);
+@@ -318,7 +325,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
+ if (!(client->flags & PKGCONF_PKG_PKGF_FDO_SYSROOT_RULES) &&
+ (!(flags & PKGCONF_PKG_PROPF_UNINSTALLED) || (client->flags & PKGCONF_PKG_PKGF_PKGCONF1_SYSROOT_RULES)))
+ {
+- if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
++ if (add_sysroot && *value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir)))
+ bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf);
+ }
- for (ptr = value; *ptr != '\0' && bptr - buf < PKGCONF_BUFSIZE; ptr++)
-@@ -294,7 +299,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
-
- if (kv != NULL)
+@@ -381,7 +388,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
{
-- parsekv = pkgconf_tuple_parse(client, vars, kv);
-+ parsekv = pkgconf_tuple_parse_sysroot(client, vars, kv, add_sysroot);
+ size_t nlen;
+
+- parsekv = pkgconf_tuple_parse(client, vars, kv, flags);
++ parsekv = pkgconf_tuple_parse_sysroot(client, vars, kv, flags, add_sysroot);
+ nlen = pkgconf_strlcpy(bptr, parsekv, remain);
+ free(parsekv);
- strncpy(bptr, parsekv, PKGCONF_BUFSIZE - (bptr - buf));
- bptr += strlen(parsekv);
-@@ -339,6 +344,25 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
+@@ -432,6 +439,26 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const
return strdup(buf);
}
+/*
+ * !doc
+ *
-+ * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
++ * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
+ *
+ * Parse an expression for variable substitution.
+ *
+ * :param pkgconf_client_t* client: The pkgconf client object to access.
+ * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list).
+ * :param char* value: The ``key=value`` string to parse.
++ * :param uint flags: Any flags to consider while parsing.
+ * :return: the variable data with any variables substituted
+ * :rtype: char *
+ */
+char *
-+pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value)
++pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, unsigned int flags)
+{
-+ return pkgconf_tuple_parse_sysroot(client, vars, value, true);
++ return pkgconf_tuple_parse_sysroot(client, vars, value, flags, true);
+}
+
/*
* !doc
*
--
-2.19.2
+2.34.1
diff --git a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch b/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
deleted file mode 100644
index f659a3b07f..0000000000
--- a/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 4ccef40918a539905a2951bfb81cf8dba4a245c6 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-Date: Wed, 2 Jan 2019 18:15:50 +0100
-Subject: [PATCH] Revert "main: assume --modversion insted of --version if
- other flags or module names are provided"
-
-This reverts commit 12a0eb124cea85586e57f33c91a1e4c73459eef6, as it
-causes pkg-config to assume --modversion is used when something as
-simple as 'pkg-config --static --version' is used, leading to a
-failure instead of the expected behavior: the one of "pkg-config
---version".
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- cli/main.c | 14 ++------------
- 1 file changed, 2 insertions(+), 12 deletions(-)
-
-diff --git a/cli/main.c b/cli/main.c
-index b52cc85..c5acc10 100644
---- a/cli/main.c
-+++ b/cli/main.c
-@@ -1002,18 +1002,8 @@ main(int argc, char *argv[])
-
- if ((want_flags & PKG_VERSION) == PKG_VERSION)
- {
-- if (argc > 2)
-- {
-- fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]);
--
-- want_flags &= ~PKG_VERSION;
-- want_flags |= PKG_MODVERSION;
-- }
-- else
-- {
-- version();
-- return EXIT_SUCCESS;
-- }
-+ version();
-+ return EXIT_SUCCESS;
- }
-
- if ((want_flags & PKG_HELP) == PKG_HELP)
---
-2.20.1
-
diff --git a/package/pkgconf/pkgconf.hash b/package/pkgconf/pkgconf.hash
index f210869c03..6d4b7972d6 100644
--- a/package/pkgconf/pkgconf.hash
+++ b/package/pkgconf/pkgconf.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210 pkgconf-1.6.3.tar.xz
+sha256 3a9080ac51d03615e7c1910a0a2a8df08424892b5f13b0628a204d3fcce0ea8b pkgconf-2.3.0.tar.xz
sha256 07ee94b50a41ee3fc4e13a9b9c60b26fc28488494c465639f7e5f07a3952ec04 COPYING
diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk
index a8c7b48287..057f43bb98 100644
--- a/package/pkgconf/pkgconf.mk
+++ b/package/pkgconf/pkgconf.mk
@@ -4,7 +4,7 @@
#
################################################################################
-PKGCONF_VERSION = 1.6.3
+PKGCONF_VERSION = 2.3.0
PKGCONF_SITE = https://distfiles.ariadne.space/pkgconf
PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.xz
PKGCONF_LICENSE = pkgconf license
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
@ 2024-11-06 21:21 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:21 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:17 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Rebase only prefix subset of variables patch.
>
> Drop revert main assume modversion patch which is now upstream.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> .checkpackageignore | 1 -
> ...th-the-sysroot-a-subset-of-variables.patch | 78 ++++++++++---------
> ...me-modversion-insted-of-version-if-o.patch | 45 -----------
> package/pkgconf/pkgconf.hash | 2 +-
> package/pkgconf/pkgconf.mk | 2 +-
> 5 files changed, 42 insertions(+), 86 deletions(-)
> delete mode 100644 package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch
Applied to next, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 2/6] package/grpc: bump to version 1.66.1 James Hilliard
2024-10-30 19:00 ` [Buildroot] [PATCH v4 3/6] package/pkgconf: bump to version 2.3.0 James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:22 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Add some patches fixing protobuf >= 26.0 compatibility.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
...ct-against-being-invoked-against-edi.patch | 57 +++++++++++++
...dSyntax-to-maximize-compatibility-ac.patch | 84 +++++++++++++++++++
| 44 ++++++++++
3 files changed, 185 insertions(+)
create mode 100644 package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
create mode 100644 package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
create mode 100644 package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
diff --git a/package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch b/package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
new file mode 100644
index 0000000000..c674ca2ee1
--- /dev/null
+++ b/package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
@@ -0,0 +1,57 @@
+From 2480f4d9d2fa97e5511ed0914ee529a344e969a7 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 22:43:30 -0400
+Subject: [PATCH] CGenerator: Protect against being invoked against "edition"
+ syntax .proto files
+
+The Google protobuf project is currently experimenting with a new syntax
+for .proto files called "editions". Since protobuf-c is a proto2/proto3
+compiler, after the previous commit reimplementing `FieldSyntax()`, the
+protobuf compiler will abort like this if presented with an "editions"
+syntax .proto file due to the safety check in `FieldSyntax()`:
+
+ $ protoc --experimental_editions --c_out=. test.proto
+ protoc-gen-c: ./protoc-c/c_helpers.h:178: int google::protobuf::compiler::c::FieldSyntax(const google::protobuf::FieldDescriptor*): Assertion `syntax == "proto2" || syntax == "proto3"' failed.
+ --c_out: protoc-gen-c: Plugin killed by signal 6.
+
+On protobuf 26, our `CodeGenerator` can implement certain methods to
+declare that we "support" editions, and then reject any other edition
+except proto2 and proto3, which have apparently been retroactively
+declared to be "editions". Of course this needs to be wrapped in a
+version guard.
+
+With this protection in place, the protobuf compiler cleanly exits with
+a nice error message like this:
+
+ $ protoc --experimental_editions --c_out=. test.proto
+ WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
+ E0000 00:00:1710988958.296200 20022 descriptor.cc:4620] Invalid proto descriptor for file "test.proto":
+ E0000 00:00:1710988958.296239 20022 descriptor.cc:4623] test.proto: Edition 2023 is later than the maximum supported edition PROTO3
+ --c_out: protoc-gen-c: Plugin failed with status code 1.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/protobuf-c/protobuf-c/pull/711
+---
+ protoc-c/c_generator.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/protoc-c/c_generator.h b/protoc-c/c_generator.h
+index b8b44aa..4aeb579 100644
+--- a/protoc-c/c_generator.h
++++ b/protoc-c/c_generator.h
+@@ -93,6 +93,12 @@ class PROTOC_C_EXPORT CGenerator : public CodeGenerator {
+ const std::string& parameter,
+ OutputDirectory* output_directory,
+ std::string* error) const;
++
++#if GOOGLE_PROTOBUF_VERSION >= 5026000
++ uint64_t GetSupportedFeatures() const { return CodeGenerator::FEATURE_SUPPORTS_EDITIONS; }
++ Edition GetMinimumEdition() const { return Edition::EDITION_PROTO2; }
++ Edition GetMaximumEdition() const { return Edition::EDITION_PROTO3; }
++#endif
+ };
+
+ } // namespace c
+--
+2.34.1
+
diff --git a/package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch b/package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
new file mode 100644
index 0000000000..e14a9fbc75
--- /dev/null
+++ b/package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
@@ -0,0 +1,84 @@
+From ee3d9e5423c93ee6b828fdda8e7fef13a77634eb Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 22:25:54 -0400
+Subject: [PATCH] Reimplement FieldSyntax() to maximize compatibility across
+ protobuf versions
+
+Recent versions of Google protobuf have broken the interfaces for
+determining the syntax version of a .proto file. The current protobuf-c
+1.5.0 release does not compile with Google protobuf 26.0 due to the most
+recentage breakage. There is a possible workaround involving the Google
+protobuf `FileDescriptorLegacy` class, which is documented as:
+
+// TODO Remove this deprecated API entirely.
+
+So we probably shouldn't rely on it.
+
+Instead, this commit obtains the `FileDescriptorProto` corresponding
+to the passed in `FieldDescriptor` and interrogates the `syntax` field
+directly. This is a single implementation with no version-specific
+workarounds. Hopefully this won't break in the next Google protobuf
+release.
+
+I tested the `FieldSyntax()` implementation in this commit across a
+number of different Google protobuf releases and found that it worked
+(`make && make check`) on all of them:
+
+- Google protobuf 3.6.1.3 (Ubuntu 20.04)
+- Google protobuf 3.12.4 (Ubuntu 22.04)
+- Google protobuf 3.21.12 (Debian 12 + Debian unstable)
+- Google protobuf 3.25.2 (Debian experimental)
+- Google protobuf 26.1-dev
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/protobuf-c/protobuf-c/pull/711
+---
+ protoc-c/c_helpers.h | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/protoc-c/c_helpers.h b/protoc-c/c_helpers.h
+index 062d330..be28b60 100644
+--- a/protoc-c/c_helpers.h
++++ b/protoc-c/c_helpers.h
+@@ -70,10 +70,6 @@
+ #include <protobuf-c/protobuf-c.pb.h>
+ #include <google/protobuf/io/printer.h>
+
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+-# include <google/protobuf/descriptor_legacy.h>
+-#endif
+-
+ namespace google {
+ namespace protobuf {
+ namespace compiler {
+@@ -173,13 +169,21 @@ struct NameIndex
+ int compare_name_indices_by_name(const void*, const void*);
+
+ // Return the syntax version of the file containing the field.
+-// This wrapper is needed to be able to compile against protobuf2.
+ inline int FieldSyntax(const FieldDescriptor* field) {
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+- return FileDescriptorLegacy(field->file()).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3 ? 3 : 2;
+-#else
+- return field->file()->syntax() == FileDescriptor::SYNTAX_PROTO3 ? 3 : 2;
+-#endif
++ auto proto = FileDescriptorProto();
++ field->file()->CopyTo(&proto);
++
++ if (proto.has_syntax()) {
++ auto syntax = proto.syntax();
++ assert(syntax == "proto2" || syntax == "proto3");
++ if (syntax == "proto2") {
++ return 2;
++ } else if (syntax == "proto3") {
++ return 3;
++ }
++ }
++
++ return 2;
+ }
+
+ // Work around changes in protobuf >= 22.x without breaking compilation against
+--
+2.34.1
+
--git a/package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch b/package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
new file mode 100644
index 0000000000..d7d9cdf845
--- /dev/null
+++ b/package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
@@ -0,0 +1,44 @@
+From a6cf1aa386067e26d582cc1d1e327787595c9f13 Mon Sep 17 00:00:00 2001
+From: Robert Edmonds <edmonds@users.noreply.github.com>
+Date: Wed, 20 Mar 2024 21:48:10 -0400
+Subject: [PATCH] FileGenerator::GenerateHeader(): Set `min_header_version`
+ unconditionally
+
+Previously, we were conditionally trying to set `min_header_version` to
+the lowest possible value, and relying on a "legacy" Google interface to
+determine the file descriptor's syntax version as part of that
+determination.
+
+Instead, simply bump the minimum version to 1003000 (1.3.0). This
+release was almost 7 years ago. In practice protobuf-c users should not
+be shipping pre-compiled .pb-c.c/.pb-c.h files, anyway.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/protobuf-c/protobuf-c/pull/711
+---
+ protoc-c/c_file.cc | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc
+index ca0ad34..c6d8a24 100644
+--- a/protoc-c/c_file.cc
++++ b/protoc-c/c_file.cc
+@@ -117,14 +117,7 @@ FileGenerator::~FileGenerator() {}
+ void FileGenerator::GenerateHeader(io::Printer* printer) {
+ std::string filename_identifier = FilenameIdentifier(file_->name());
+
+- int min_header_version = 1000000;
+-#if GOOGLE_PROTOBUF_VERSION >= 4023000
+- if (FileDescriptorLegacy(file_).syntax() == FileDescriptorLegacy::SYNTAX_PROTO3) {
+-#else
+- if (file_->syntax() == FileDescriptor::SYNTAX_PROTO3) {
+-#endif
+- min_header_version = 1003000;
+- }
++ const int min_header_version = 1003000;
+
+ // Generate top of header.
+ printer->Print(
+--
+2.34.1
+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
@ 2024-11-06 21:22 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:22 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:18 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Add some patches fixing protobuf >= 26.0 compatibility.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> ...ct-against-being-invoked-against-edi.patch | 57 +++++++++++++
> ...dSyntax-to-maximize-compatibility-ac.patch | 84 +++++++++++++++++++
> ...nerateHeader-Set-min_header_version-.patch | 44 ++++++++++
> 3 files changed, 185 insertions(+)
> create mode 100644 package/protobuf-c/0001-CGenerator-Protect-against-being-invoked-against-edi.patch
> create mode 100644 package/protobuf-c/0002-Reimplement-FieldSyntax-to-maximize-compatibility-ac.patch
> create mode 100644 package/protobuf-c/0003-FileGenerator-GenerateHeader-Set-min_header_version-.patch
Applied to master, thanks. This should have appeared *before* the
protobuf bump in your series, as it fixes a fallout from the bump, and
therefore with your proposed order, there is a bisectability breakage
between PATCH 1 and PATCH 4.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
` (2 preceding siblings ...)
2024-10-30 19:00 ` [Buildroot] [PATCH v4 4/6] package/protobuf-c: fix protobuf >= 26.0 compatibility James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
2024-11-06 21:26 ` [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 Thomas Petazzoni via buildroot
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
We need to backport a patch to fix compatibility with newer protobuf
versions.
Remove CFLAGS setting -std=c++11 and enable autoreconf so that
patch is applied properly.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.../mosh/0001-Bump-C-version-to-C-17.patch | 49 +++++++++++++++++++
package/mosh/mosh.mk | 4 +-
2 files changed, 50 insertions(+), 3 deletions(-)
create mode 100644 package/mosh/0001-Bump-C-version-to-C-17.patch
diff --git a/package/mosh/0001-Bump-C-version-to-C-17.patch b/package/mosh/0001-Bump-C-version-to-C-17.patch
new file mode 100644
index 0000000000..eea3889828
--- /dev/null
+++ b/package/mosh/0001-Bump-C-version-to-C-17.patch
@@ -0,0 +1,49 @@
+From eee1a8cf413051c2a9104e8158e699028ff56b26 Mon Sep 17 00:00:00 2001
+From: Alex Chernyakhovsky <alex@achernya.com>
+Date: Sun, 30 Jul 2023 16:19:46 -0400
+Subject: [PATCH] Bump C++ version to C++17
+
+Protobuf versions since 3.6.0 have long had a C++11 dependency; even
+more recent versions have picked up an Abseil dependency bumping that
+to C++14. Since it is now 2023, defaulting to C++17 is reasonable, so
+remove the conditional C++ standards version check that mosh
+previously had and replace it with an unconditional C++17 check.
+
+This means that all future commits can use C++17 features. According
+to https://en.cppreference.com/w/cpp/compiler_support/17 this means
+that minimum effective compiler versions for mosh become:
+
+gcc 7 (May 2017)
+clang 5 (September 2017)
+
+This, in turn, implies that future versions of mosh will no longer be
+available for RHEL/CentOS 7 (June 2014).
+
+Closes: #1267
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/mobile-shell/mosh/commit/eee1a8cf413051c2a9104e8158e699028ff56b26
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ee70c7b..7f7dc3b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -22,9 +22,9 @@ AS_IF([test x"$PROTOC" = x],
+ # automake 1.12 seems to require this, but automake 1.11 doesn't recognize it
+ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+
+-# Protobuf 3.6+ requires C++11.
+-AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+- [AX_CXX_COMPILE_STDCXX([11])])
++# Protobuf transitively requires at least C++14, get ahead of the
++# curve and require at least C++17.
++AX_CXX_COMPILE_STDCXX([17])
+
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
+--
+2.34.1
+
diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk
index c938f70719..3c41a17401 100644
--- a/package/mosh/mosh.mk
+++ b/package/mosh/mosh.mk
@@ -9,9 +9,7 @@ MOSH_SITE = https://mosh.org
MOSH_DEPENDENCIES = zlib ncurses protobuf host-pkgconf
MOSH_LICENSE = GPL-3.0+ with exception
MOSH_LICENSE_FILES = COPYING COPYING.iOS
-
-# protobuf needs c++11 (since 3.6.0)
-MOSH_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
+MOSH_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_OPENSSL),y)
MOSH_CONF_OPTS += --with-crypto-library=openssl
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
@ 2024-11-06 21:21 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:21 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:19 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> We need to backport a patch to fix compatibility with newer protobuf
> versions.
>
> Remove CFLAGS setting -std=c++11 and enable autoreconf so that
> patch is applied properly.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> .../mosh/0001-Bump-C-version-to-C-17.patch | 49 +++++++++++++++++++
> package/mosh/mosh.mk | 4 +-
> 2 files changed, 50 insertions(+), 3 deletions(-)
> create mode 100644 package/mosh/0001-Bump-C-version-to-C-17.patch
Applied to master, thanks. This should have been *before* the protobuf
bump in your series, as it fixes an issue with the bump, but also works
before the bump, so it really is a preparation commit.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
` (3 preceding siblings ...)
2024-10-30 19:00 ` [Buildroot] [PATCH v4 5/6] package/mosh: fix compatibility with newer protobuf versions James Hilliard
@ 2024-10-30 19:00 ` James Hilliard
2024-11-06 21:21 ` Thomas Petazzoni via buildroot
2024-11-06 21:26 ` [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 Thomas Petazzoni via buildroot
5 siblings, 1 reply; 12+ messages in thread
From: James Hilliard @ 2024-10-30 19:00 UTC (permalink / raw)
To: buildroot
Cc: Marcus Folkesson, Kamel Bouhara, Woodrow Douglass, Julien Olivain,
Asaf Kahlon, James Hilliard, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
We need to add a patch fixing the protoc version check in collectd's
configure script.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
...onfigure.ac-fix-protoc-version-check.patch | 48 +++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 package/collectd/0004-configure.ac-fix-protoc-version-check.patch
diff --git a/package/collectd/0004-configure.ac-fix-protoc-version-check.patch b/package/collectd/0004-configure.ac-fix-protoc-version-check.patch
new file mode 100644
index 0000000000..edf5008f03
--- /dev/null
+++ b/package/collectd/0004-configure.ac-fix-protoc-version-check.patch
@@ -0,0 +1,48 @@
+From 77f33d05355b115d3384d94c1c4e36c56ea28b09 Mon Sep 17 00:00:00 2001
+From: James Hilliard <james.hilliard1@gmail.com>
+Date: Wed, 30 Oct 2024 12:45:51 -0600
+Subject: [PATCH] configure.ac: fix protoc version check
+
+The current version check for 3.0.0+ fails to handle cases where
+protoc is above version 3.0.0 but does not start with a 3, for
+example protoc may have a version of 28.1.
+
+To fix this use AX_COMPARE_VERSION to properly compare the version.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/collectd/collectd/pull/4332
+---
+ configure.ac | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 86d2378b..1f7a9cdf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4897,13 +4897,16 @@ AC_PATH_PROG([PROTOC], [protoc])
+ have_protoc3="no"
+ if test "x$PROTOC" != "x"; then
+ AC_MSG_CHECKING([for protoc 3.0.0+])
+- if $PROTOC --version | $EGREP libprotoc.3 >/dev/null; then
+- protoc3="yes (`$PROTOC --version`)"
+- have_protoc3="yes"
+- else
+- protoc3="no (`$PROTOC --version`)"
+- fi
+- AC_MSG_RESULT([$protoc3])
++ AC_SUBST([PROTOC_VERSION], [`$PROTOC --version | cut -d ' ' -f 2`])
++ AX_COMPARE_VERSION([$PROTOC_VERSION],[ge],[3],
++ [
++ have_protoc3="yes"
++ AC_MSG_RESULT([yes ($PROTOC_VERSION)])
++ ],
++ [
++ AC_MSG_RESULT([no ($PROTOC_VERSION)])
++ ]
++ )
+ fi
+ AM_CONDITIONAL([HAVE_PROTOC3], [test "x$have_protoc3" = "xyes"])
+
+--
+2.34.1
+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
@ 2024-11-06 21:21 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:21 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
On Wed, 30 Oct 2024 13:00:20 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> We need to add a patch fixing the protoc version check in collectd's
> configure script.
>
> Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
> ---
> ...onfigure.ac-fix-protoc-version-check.patch | 48 +++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 package/collectd/0004-configure.ac-fix-protoc-version-check.patch
Applied to master, thanks. This should have appeared *before* the
protobuf bump in your series, as it fixes an issue with the bump, but
also works before the bump, so it really is a preparation commit.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1
2024-10-30 19:00 [Buildroot] [PATCH v4 1/6] package/{python-}protobuf: bump to version 28.1 James Hilliard
` (4 preceding siblings ...)
2024-10-30 19:00 ` [Buildroot] [PATCH v4 6/6] package/collectd: fix protoc version check James Hilliard
@ 2024-11-06 21:26 ` Thomas Petazzoni via buildroot
5 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-11-06 21:26 UTC (permalink / raw)
To: James Hilliard
Cc: buildroot, Marcus Folkesson, Kamel Bouhara, Woodrow Douglass,
Julien Olivain, Asaf Kahlon, Marcin Niestroj, Christian Stewart,
Robert Rose, Fabrice Fontaine
Hello,
Thanks for your work on this complicated package.
On Wed, 30 Oct 2024 13:00:15 -0600
James Hilliard <james.hilliard1@gmail.com> wrote:
> Migrate protobuf build from autotools to cmake.
Unfortunately, while doing so, you have missed to review carefully
protobuf.mk, and you left some code that was autotools-related, and
therefore no longer taken into account after the cmake migration.
In particular:
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
PROTOBUF_CONF_ENV += LIBS=-latomic
endif
is not taken into account after the cmake migration, but is still
needed, otherwise the build breaks for example on SPARC. It needs to be
changed to:
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-PROTOBUF_CONF_ENV += LIBS=-latomic
+PROTOBUF_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
endif
Also:
PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
PROTOBUF_CXXFLAGS += -O0
endif
ifeq ($(BR2_or1k),y)
PROTOBUF_CXXFLAGS += -mcmodel=large
endif
PROTOBUF_CONF_ENV = CXXFLAGS="$(PROTOBUF_CXXFLAGS)"
is not taken into account after the cmake migration... but is in fact
no longer needed, and therefore should be dropped (perhaps as a
preparation commit). It is no longer needed because:
The BR2_or1k workaround is removed, as protobuf depends on
libabseil-cpp, which isn't available on OpenRISC.
The BR2_TOOLCHAIN_HAS_GCC_BUG_85180 workaround is removed, as this
workaround is for Microblaze, and protobuf depends on libabseil-cpp,
which isn't avialable on Microblaze.
Finally, this protobuf bump breaks the build of kismet (at least).
Could you check this, and generally check more reverse dependencies of
protobuf?
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread