Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/protobuf-c: bump to version 1.5.0
@ 2024-01-19  7:29 Michael Nosthoff via buildroot
  2024-02-05 18:14 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Nosthoff via buildroot @ 2024-01-19  7:29 UTC (permalink / raw)
  To: buildroot; +Cc: Marcus Folkesson, Asaf Kahlon

- drops support for proto2
- fixes compatibility with protobuf >= 22.0 (which we did not yet bump)
- to be compatible with new protobuf versions c++17 is now required
  when building with protoc (which we only do for the host package) [0]
  hence require host gcc >= 7 for c++17 support, propagate to depending packets

[0] https://github.com/protobuf-c/protobuf-c/pull/673

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---

v2:
- update the different Config.in comments according to review
- rephrase the requirement of C++17 for the host package
---
 package/collectd/Config.in         | 2 ++
 package/criu/Config.in             | 1 +
 package/kismet/Config.in           | 6 ++++--
 package/protobuf-c/Config.in       | 5 +++--
 package/protobuf-c/protobuf-c.hash | 4 ++--
 package/protobuf-c/protobuf-c.mk   | 6 +++---
 package/riemann-c-client/Config.in | 6 ++++--
 7 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/package/collectd/Config.in b/package/collectd/Config.in
index d3b686771d..145b9a2a3a 100644
--- a/package/collectd/Config.in
+++ b/package/collectd/Config.in
@@ -738,6 +738,7 @@ config BR2_PACKAGE_COLLECTD_RIEMANN
 	# riemann-c-client -> protobuf-c
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
+	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
 	select BR2_PACKAGE_RIEMANN_C_CLIENT
 	select BR2_PACKAGE_LIBTOOL
 	help
@@ -772,6 +773,7 @@ config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS
 	bool "write_prometheus"
 	depends on BR2_INSTALL_LIBSTDCPP # protobuf-c
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
+	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
 	select BR2_PACKAGE_LIBMICROHTTPD
 	select BR2_PACKAGE_PROTOBUF_C
 	help
diff --git a/package/criu/Config.in b/package/criu/Config.in
index 4c295acf4f..d223524eee 100644
--- a/package/criu/Config.in
+++ b/package/criu/Config.in
@@ -12,6 +12,7 @@ config BR2_PACKAGE_CRIU_ARCH_SUPPORTS
 	# BE/LE endian issues.
 	depends on BR2_USE_MMU # libcap
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
+	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
 	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
 
diff --git a/package/kismet/Config.in b/package/kismet/Config.in
index 7bde6c92af..ea2b33fca7 100644
--- a/package/kismet/Config.in
+++ b/package/kismet/Config.in
@@ -1,8 +1,9 @@
-comment "kismet needs a toolchain w/ threads, C++, gcc >= 5"
+comment "kismet needs a toolchain w/ threads, C++, gcc >= 5, host-gcc >= 7"
 	depends on BR2_USE_MMU
 	depends on !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
+		!BR2_HOST_GCC_AT_LEAST_7
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
 
 config BR2_PACKAGE_KISMET
@@ -11,6 +12,7 @@ config BR2_PACKAGE_KISMET
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
+	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
 	select BR2_PACKAGE_LIBPCAP
 	select BR2_PACKAGE_PROTOBUF_C
diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in
index d96cd7b382..56b58afe99 100644
--- a/package/protobuf-c/Config.in
+++ b/package/protobuf-c/Config.in
@@ -4,12 +4,13 @@ config BR2_PACKAGE_PROTOBUF_C
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	# host-protobuf only builds on certain architectures
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
+	depends on BR2_HOST_GCC_AT_LEAST_7 # c++17
 	help
 	  Code generator and runtime libraries to use Protocol Buffers
 	  from pure C (not C++).
 
 	  https://github.com/protobuf-c/protobuf-c
 
-comment "protobuf-c needs a toolchain w/ C++, threads"
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+comment "protobuf-c needs a toolchain w/ C++, threads, host-gcc >= 7"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_HOST_GCC_AT_LEAST_7
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
diff --git a/package/protobuf-c/protobuf-c.hash b/package/protobuf-c/protobuf-c.hash
index ec00442277..aafd98416a 100644
--- a/package/protobuf-c/protobuf-c.hash
+++ b/package/protobuf-c/protobuf-c.hash
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256  4cc4facd508172f3e0a4d3a8736225d472418aee35b4ad053384b137b220339f  protobuf-c-1.4.1.tar.gz
-sha256  b8999cb392cc5bbe8cd679de59584ad8d2f26033123e76f1d662fa14b9d4f287  LICENSE
+sha256  7b404c63361ed35b3667aec75cc37b54298d56dd2bcf369de3373212cc06fd98  protobuf-c-1.5.0.tar.gz
+sha256  ad28bbf89340b86d15aad1ff62c4f4590025d836415307dc66cf0338235cc2f4  LICENSE
diff --git a/package/protobuf-c/protobuf-c.mk b/package/protobuf-c/protobuf-c.mk
index 0742a33db2..ccabd4723f 100644
--- a/package/protobuf-c/protobuf-c.mk
+++ b/package/protobuf-c/protobuf-c.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-PROTOBUF_C_VERSION = 1.4.1
+PROTOBUF_C_VERSION = 1.5.0
 PROTOBUF_C_SITE = https://github.com/protobuf-c/protobuf-c/releases/download/v$(PROTOBUF_C_VERSION)
 PROTOBUF_C_DEPENDENCIES = host-protobuf-c
 HOST_PROTOBUF_C_DEPENDENCIES = host-protobuf host-pkgconf
@@ -15,8 +15,8 @@ PROTOBUF_C_LICENSE = BSD-2-Clause
 PROTOBUF_C_LICENSE_FILES = LICENSE
 PROTOBUF_C_CPE_ID_VENDOR = protobuf-c_project
 
-# host-protobuf needs c++11 (since 3.6.0)
-HOST_PROTOBUF_C_CONF_ENV += CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11"
+# when building with protoc (from host-protobuf) c++17 is now required
+HOST_PROTOBUF_C_CONF_ENV += CXXFLAGS="$(HOST_CXXFLAGS) -std=c++17"
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
diff --git a/package/riemann-c-client/Config.in b/package/riemann-c-client/Config.in
index 6c3c35caf8..ba6a665dab 100644
--- a/package/riemann-c-client/Config.in
+++ b/package/riemann-c-client/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT
 	depends on BR2_INSTALL_LIBSTDCPP # protobuf-c
 	depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
+	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
 	select BR2_PACKAGE_PROTOBUF_C
 	help
 	  Riemann-c-client is a C client library for the Riemann
@@ -12,6 +13,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT
 
 	  https://github.com/algernon/riemann-c-client
 
-comment "riemann-c-client needs a toolchain w/ C++, threads"
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+comment "riemann-c-client needs a toolchain w/ C++, threads, host-gcc >= 7"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_HOST_GCC_AT_LEAST_7
 	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v2] package/protobuf-c: bump to version 1.5.0
  2024-01-19  7:29 [Buildroot] [PATCH v2] package/protobuf-c: bump to version 1.5.0 Michael Nosthoff via buildroot
@ 2024-02-05 18:14 ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-02-05 18:14 UTC (permalink / raw)
  To: Michael Nosthoff via buildroot; +Cc: Marcus Folkesson, Asaf Kahlon

Hello Michael,

On Fri, 19 Jan 2024 08:29:27 +0100
Michael Nosthoff via buildroot <buildroot@buildroot.org> wrote:

> - drops support for proto2
> - fixes compatibility with protobuf >= 22.0 (which we did not yet bump)
> - to be compatible with new protobuf versions c++17 is now required
>   when building with protoc (which we only do for the host package) [0]
>   hence require host gcc >= 7 for c++17 support, propagate to depending packets
> 
> [0] https://github.com/protobuf-c/protobuf-c/pull/673
> 
> Signed-off-by: Michael Nosthoff <buildroot@heine.tech>

Thanks, I've applied your patch, but after doing a few more changes.
See below.

First, you changed the hash of the license file, and that needs to be
explained in the commit log so that we have the visibility that you did
check why the license file has changed. Indeed, the sole reason for
having hashes for the license file is to detect changes in the
licensing terms. If we 'blindly' update the hash, we miss the point :-)

> diff --git a/package/collectd/Config.in b/package/collectd/Config.in
> index d3b686771d..145b9a2a3a 100644
> --- a/package/collectd/Config.in
> +++ b/package/collectd/Config.in
> @@ -738,6 +738,7 @@ config BR2_PACKAGE_COLLECTD_RIEMANN
>  	# riemann-c-client -> protobuf-c
>  	depends on BR2_INSTALL_LIBSTDCPP
>  	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
> +	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
>  	select BR2_PACKAGE_RIEMANN_C_CLIENT
>  	select BR2_PACKAGE_LIBTOOL

Needed a Config.in comment (which indeed didn't exist until now for
existing dependencies).

>  	help
> @@ -772,6 +773,7 @@ config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS
>  	bool "write_prometheus"
>  	depends on BR2_INSTALL_LIBSTDCPP # protobuf-c
>  	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
> +	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c

Needed an update to the existing Config.in comment.

> diff --git a/package/criu/Config.in b/package/criu/Config.in
> index 4c295acf4f..d223524eee 100644
> --- a/package/criu/Config.in
> +++ b/package/criu/Config.in
> @@ -12,6 +12,7 @@ config BR2_PACKAGE_CRIU_ARCH_SUPPORTS
>  	# BE/LE endian issues.
>  	depends on BR2_USE_MMU # libcap
>  	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
> +	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c

This shouldn't be in BR2_PACKAGE_CRIU_ARCH_SUPPORTS, because it's not
an architecture dependency. It should be on BR2_PACKAGE_CRIU, with the
appropriate Config.in comment update.

> diff --git a/package/kismet/Config.in b/package/kismet/Config.in
> index 7bde6c92af..ea2b33fca7 100644
> --- a/package/kismet/Config.in
> +++ b/package/kismet/Config.in
> @@ -1,8 +1,9 @@
> -comment "kismet needs a toolchain w/ threads, C++, gcc >= 5"
> +comment "kismet needs a toolchain w/ threads, C++, gcc >= 5, host-gcc >= 7"

                                                                ^^^^^ we use "host gcc" everywhere, without the dash

> diff --git a/package/protobuf-c/Config.in b/package/protobuf-c/Config.in
> index d96cd7b382..56b58afe99 100644
> --- a/package/protobuf-c/Config.in
> +++ b/package/protobuf-c/Config.in
> @@ -4,12 +4,13 @@ config BR2_PACKAGE_PROTOBUF_C
>  	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	# host-protobuf only builds on certain architectures
>  	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
> +	depends on BR2_HOST_GCC_AT_LEAST_7 # c++17

I've extended the comment to indicate that it is for the host package.
Otherwise, the next person coming will wonder why for C++17 we depends
on host gcc >= 7, and not target gcc >= 7.

Applied with those fixes. Thanks a lot for your contribution!

Best regards,

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] 2+ messages in thread

end of thread, other threads:[~2024-02-05 18:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-19  7:29 [Buildroot] [PATCH v2] package/protobuf-c: bump to version 1.5.0 Michael Nosthoff via buildroot
2024-02-05 18:14 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox