* [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