All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit] package/grpc: remove obsolete patch to support cross-compiling
@ 2021-02-02 15:42 Peter Korsgaard
  2021-02-02 16:35 ` Thomas De Schampheleire
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Korsgaard @ 2021-02-02 15:42 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=fedf3318e3fd3c9ba57389ed2b36472f1a772b9e
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

When cross-compiling grpc, a native tool 'grpc_cpp_plugin' is needed.
Patch '0001-target-build-using-host-plugin.patch' in Buildroot provides a
way to pass the path to this tool via a configure option
'gRPC_NATIVE_CPP_PLUGIN'.

In version 1.20.0, the upstream grpc project added better support for
cross-compiling via commit 0d7a0ded [1], searching for the native
grpc_cpp_plugin via PATH (rather than specifying it as configure option as
our patch was doing).

This change renders the mentioned Buildroot patch obsolete, so remove it.

[1] https://github.com/grpc/grpc/commit/0d7a0ded1cc93bb7f4d69a156b0a69829557cbf2

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
Tested-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 .../grpc/0001-target-build-using-host-plugin.patch | 52 ----------------------
 package/grpc/grpc.mk                               |  3 +-
 2 files changed, 1 insertion(+), 54 deletions(-)

diff --git a/package/grpc/0001-target-build-using-host-plugin.patch b/package/grpc/0001-target-build-using-host-plugin.patch
deleted file mode 100644
index c6de0c1831..0000000000
--- a/package/grpc/0001-target-build-using-host-plugin.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aa18148e392ef28275a182db34397ccb66fb4617 Mon Sep 17 00:00:00 2001
-From: Robert Rose <robertroyrose@gmail.com>
-Date: Wed, 28 Nov 2018 09:41:52 -0800
-Subject: [PATCH] CMakeLists.txt: allow passing a pre-existing grpc_cpp_plugin
-
-The grpc_cpp_plugin is meant to be executed during the build process
-of grpc. As such, in cross-compilation contexts, this program needs to
-be built for the host machine and not the target machine. In order to
-allow this, this commit adds an option gRPC_NATIVE_CPP_PLUGIN that can
-be passed on the command line, with the path to an existing
-grpc_cpp_plugin binary. If not passed, grpc_cpp_plugin is built as
-usual.
-
-Signed-off-by: Robert Rose <robertroyrose@gmail.com>
----
- CMakeLists.txt | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index be695c2..45c2fcb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -11199,6 +11199,18 @@ target_link_libraries(grpc_cli
- endif()
- if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN)
- 
-+if (gRPC_NATIVE_CPP_PLUGIN)
-+
-+add_executable(grpc_cpp_plugin
-+  IMPORTED
-+)
-+
-+set_property(TARGET grpc_cpp_plugin
-+  PROPERTY IMPORTED_LOCATION ${gRPC_NATIVE_CPP_PLUGIN}
-+)
-+
-+else()
-+
- add_executable(grpc_cpp_plugin
-   src/compiler/cpp_plugin.cc
- )
-@@ -11233,6 +11245,7 @@ if(gRPC_INSTALL)
-     ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR}
-   )
- endif()
-+endif()
- 
- endif()
- if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CSHARP_PLUGIN)
--- 
-2.26.2
-
diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 857064327d..a8a3af89ef 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -27,8 +27,7 @@ GRPC_CONF_OPTS = \
 	-DgRPC_PROTOBUF_PROVIDER=package \
 	-DgRPC_RE2_PROVIDER=package \
 	-DgRPC_SSL_PROVIDER=package \
-	-DgRPC_ZLIB_PROVIDER=package \
-	-DgRPC_NATIVE_CPP_PLUGIN=$(HOST_DIR)/bin/grpc_cpp_plugin
+	-DgRPC_ZLIB_PROVIDER=package
 
 # grpc can use __atomic builtins, so we need to link with
 # libatomic when available

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [git commit] package/grpc: remove obsolete patch to support cross-compiling
  2021-02-02 15:42 [Buildroot] [git commit] package/grpc: remove obsolete patch to support cross-compiling Peter Korsgaard
@ 2021-02-02 16:35 ` Thomas De Schampheleire
  2021-02-02 16:52   ` Peter Korsgaard
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas De Schampheleire @ 2021-02-02 16:35 UTC (permalink / raw)
  To: buildroot

Hi,

On Tue, Feb 2, 2021, 16:43 Peter Korsgaard <peter@korsgaard.com> wrote:

> commit:
> https://git.buildroot.net/buildroot/commit/?id=fedf3318e3fd3c9ba57389ed2b36472f1a772b9e
> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
>
> When cross-compiling grpc, a native tool 'grpc_cpp_plugin' is needed.
> Patch '0001-target-build-using-host-plugin.patch' in Buildroot provides a
> way to pass the path to this tool via a configure option
> 'gRPC_NATIVE_CPP_PLUGIN'.
>
> In version 1.20.0, the upstream grpc project added better support for
> cross-compiling via commit 0d7a0ded [1], searching for the native
> grpc_cpp_plugin via PATH (rather than specifying it as configure option as
> our patch was doing).
>
> This change renders the mentioned Buildroot patch obsolete, so remove it.
>
> [1]
> https://github.com/grpc/grpc/commit/0d7a0ded1cc93bb7f4d69a156b0a69829557cbf2
>
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> Reviewed-by: Michael Nosthoff <buildroot@heine.tech>
> Tested-by: Michael Nosthoff <buildroot@heine.tech>
> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
> ---
>  .../grpc/0001-target-build-using-host-plugin.patch | 52
> ----------------------
>  package/grpc/grpc.mk                               |  3 +-
>  2 files changed, 1 insertion(+), 54 deletions(-)
>


I have now noticed that this patch breaks the case of a config where
collectd and grpc are enabled, but the grpc collectd plugin is not, if grpc
is built before collectd.
Collectd is autodetecting grpc and executes commands using the
grpc-cpp-plugin even when grpc support was disabled.
In the bad case, the target version of grpc-cpp-plugin is attempted to be
used.

I'm investigating the issue.

>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20210202/8953600e/attachment-0001.html>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [git commit] package/grpc: remove obsolete patch to support cross-compiling
  2021-02-02 16:35 ` Thomas De Schampheleire
@ 2021-02-02 16:52   ` Peter Korsgaard
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Korsgaard @ 2021-02-02 16:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin@gmail.com> writes:

Hi,

 > I have now noticed that this patch breaks the case of a config where
 > collectd and grpc are enabled, but the grpc collectd plugin is not, if grpc
 > is built before collectd.
 > Collectd is autodetecting grpc and executes commands using the
 > grpc-cpp-plugin even when grpc support was disabled.
 > In the bad case, the target version of grpc-cpp-plugin is attempted to be
 > used.

 > I'm investigating the issue.

Ok, thanks. I'm hoping to tag 2021.02-rc1 by next weekend, so I'll
revert this commit by then if we haven't found a solution.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-02 16:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02 15:42 [Buildroot] [git commit] package/grpc: remove obsolete patch to support cross-compiling Peter Korsgaard
2021-02-02 16:35 ` Thomas De Schampheleire
2021-02-02 16:52   ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.