Commit Graph

97 Commits

Author SHA1 Message Date
Khem Raj 7308156a13 protobuf: Add -latomic to CXXFLAGS
Adding to LDFLAGS works with LLD linker but not with BFD ld since it
gets added before the abseil-cpp libraries on linker cmdline which does
not link it and still finds the atomic function like `__atomic_store_8'
as missing

Use mipsarcho32 for override which covers both mips and mipsel

Thanks for suggestions - RAED [1]

[1] https://github.com/openembedded/meta-openembedded/pull/952

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-24 07:29:13 -07:00
Khem Raj 5aa1d149d9 protobuf: Link with libatomic on riscv32
rv32 does not have compiler builtins for 64bit atomics

Fixes
| riscv32-yoe-linux-ld.lld: error: undefined reference: __atomic_load_8
| >>> referenced by /mnt/b/yoe/master/build/tmp/work/riscv32-yoe-linux/protobuf/5.29.4/recipe-sysroot/usr/lib/libabsl_cordz_info.so.2501.0.0 (disallowed by --no-allow-shlib-undefined)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-22 09:31:25 -07:00
Hongxu Jia d9daf66b11 protobuf: 4.25.5 -> 5.29.4
Refresh local patches
- 0001-Fix-build-on-mips-clang.patch
- 0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch

Fix protobuf-native build failure with gcc 10

Fix dev-elf QA issue:
|ERROR: protobuf-5.29.4-r0 do_package_qa: QA Issue: -dev package protobuf-dev contains
non-symlink .so '/usr/lib/libutf8_range.so' [dev-elf]
|ERROR: protobuf-5.29.4-r0 do_package_qa: QA Issue: -dev package protobuf-dev contains
non-symlink .so '/usr/lib/libutf8_validity.so' [dev-elf]

Changelog:
https://github.com/protocolbuffers/protobuf/releases/tag/v29.4

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-21 11:07:33 -07:00
Hongxu Jia ed1319272c protobuf-c: 1.5.0 -> 1.5.1
According to [1], protobuf-c 1.5.1 has commits [2] to fix broke with
protobuf 26.0 (4.26.0)

Also port a patch from archlinux [3] to support protobuf 30 (4.30.0)

License-Update: update copyright years to 2025

[1] https://github.com/protobuf-c/protobuf-c/issues/730
[2] https://github.com/protobuf-c/protobuf-c/pull/711/
[3] https://gitlab.archlinux.org/archlinux/packaging/packages/protobuf-c/-/blob/main/protobuf-30.patch

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-13 09:50:11 -07:00
Peter Marko 30e585a505 protobuf: set CVE_PRODUCT
Add all relevant products from following query.
Also remove generic "protobuf" to avoid matching golang:protobuf.

.../downloads/CVE_CHECK2$ sqlite3 nvdcve_2-2.db
sqlite> select vendor, product, count(*) from products where product like '%protobuf%' group by vendor, product;
golang|protobuf|1
google|google-protobuf|5
google|protobuf|2
google|protobuf-cpp|4
google|protobuf-java|15
google|protobuf-javalite|12
google|protobuf-kotlin|6
google|protobuf-kotlin-lite|4
google|protobuf-python|4
protobuf|protobuf|1
protobuf-c_project|protobuf-c|2
protobufjs_project|protobufjs|3
rust-protobuf_project|rust-protobuf|2

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 13:03:25 -08:00
Peter Marko ec554daa6c protobuf: add MIT to license
Third party components have MIT license.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 13:03:25 -08:00
Peter Marko c7b6f0a8ce protobuf: don't download git submodules
All dependencies are used from recipe sysroot now.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 13:03:25 -08:00
Peter Marko 7bfa5c77f7 protobuf: use system jsoncpp
We should not use additional vendored jsoncpp unless required due to
compatibility issues.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 13:03:24 -08:00
Peter Marko 12c7be0e8a protobuf: remove rdepends on abseil-cpp
This commit reverts
https://git.openembedded.org/meta-openembedded/commit/?id=5af1cd3ada4cc86864810a12c82771ba1afdce64

That commit prefers sdk development instead of release images.
The additional libraries are not needed for protobuf at runtime.
Also any component depending on protobuf will have whole abseil-cpp in
sysroots so linking all the libraries is possible and any additional
ones will be installed.

What may not work is if protobuf is installed in sdk image and
application using it wants to use an additional abseil-cpp library.
However that is easily fixable by adding also abseil-cpp to sdk.
Removing hard-dependency in release images is much harder.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 13:03:24 -08:00
Peter Marko 5a0d4d3e88 protobuf: remove unneeded atomic linker flag
This is handled in protofuf cmake since 3.15:
https://github.com/protocolbuffers/protobuf/commit/55ed1d427ccc0d200927746329ac9b811dee77b9

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-02-03 13:03:24 -08:00
Christian Eggers d76997b74c protobuf: conditionally depend on ${PN}-compiler
If ${PN}-compiler is not build due to PACKAGECONFIG, we shouldn't depend
on it.  Otherwise installation on -dev package fails during
populate_sdk.

Signed-off-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-11-06 14:53:13 -08:00
Yi Zhao d6d4a72244 protobuf: upgrade 4.25.4 -> 4.25.5
ChangeLog:
https://github.com/protocolbuffers/protobuf/releases/tag/v25.5

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-23 09:47:34 -07:00
Yi Zhao 5af1cd3ada protobuf: add abseil-cpp to RDEPENDS
Since commit[1], the libraries of abseil-cpp have been splitted into
separate packages. When protobuf is installed into the image, only 48
abseil libraries are installed as runtime dependencies. But the output
of 'pkg-config --libs protobuf' lists 66 abseil-cpp libraries are
required. Add abseil-cpp to RDEPENDS to ensure that all required
abseil-cpp libraries are installed.

[1] https://git.openembedded.org/meta-openembedded/commit/?id=dd6421e65eb75c35a904f4b487ba022075035ecc

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-23 09:47:34 -07:00
Khem Raj 173a269579 protobuf-c: Link with libatomic on riscv32
No 64bit atomic builtins provided by compiler

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-09-16 23:04:58 -07:00
Jan Vermaete 727f38772d protobuf: version bump 4.25.3 -> 4.25.4
+ adding UPSTREAM_CHECK_GITTAGREGEX because `devtool latest-version` was
  going to the 28 release (what still in rc)

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-25 14:42:10 -07:00
Khem Raj ad2407d92a protobuf: Fix build on riscv32
Link with libatomic since rv32 does not have 64bit atomics
Fixes
| riscv32-yoe-linux-musl-ld.lld: error: undefined reference: __atomic_load_8

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-05-30 08:42:01 -07:00
Wang Mingyu 3019104f5a protobuf: upgrade 4.25.2 -> 4.25.3
Changelog:
===========
Remove use of mach_absolute_time
[ObjC] Use a local to avoid warnings in 32bit builds.
Bump python version to 3.9 for gcloud 460.0.0
Update Ruby GHA to test against Ruby 3.3.
Pin bundler version to 2.4.22 for Ruby 2.7 support.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-20 08:46:27 -08:00
Clément Péron 4f75e957e7 protobuf: upgrade 4.23.4 -> 4.25.2
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-19 09:51:07 -08:00
Peter Marko 42ac2751f8 protobuf-c: change branch to master
This was forgotten during update to tagged version.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-19 09:51:04 -08:00
Peter Marko 5231104a0a protobuf-c: upgrade 1.4.1 -> 1.5.0
Current hash pointed to version with code already indentical
to v1.5.0, it was just missing three formal release commits:
    a15d80a Bump copyright years to 2023
    6600fd5 Bump version to 1.5.0
    8c201f6 CHANGELOG.md: 1.5.0

License-Update: copyright years refreshed

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-04 11:17:26 -08:00
Samuli Piippo b1deec0de4 protobuf: stage protoc binary to sysroot
If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot:

|   The imported target "protobuf::protoc" references the file
|
|      ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc-3.21.5.0"
|
|   but this file does not exist.  Possible reasons include:
|
|   * The file was deleted, renamed, or moved to another location.
|
|   * An install or uninstall procedure did not complete successfully.
|
|   * The installation package was faulty and contained
|
|      ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
|   but not all the files it references.

Use SYSROOT_DIRS to stage the binary to sysroot so it's always
available for other recipes.

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-13 10:49:42 -08:00
Clément Péron bfb626a230 Revert "protobuf: stage protoc binary to sysroot"
This reverts commit a0557fe543.

As said by Ross[Ø]:
"Putting the _target_ protoc into the sysroot for executation at _build_
time isn't useful because even if it has the right architecture, the
tune might be incompatible.  Recipes which want protoc should just depend
on protobuf-native."

This has been reverted recently by Samuli[1]:
"If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot"

Be the revert is incorret as This is an issue coming from qtgrpc
other recipes that use protobuf or gRPC compiler, proplery looks for
the binary in the correct sysroot folder.

Qtgrpc recipe should fix this issue at the recipe level, for example this
is what I've done for "etcd-cpp-apiv3" recipe[2] that doesn't need this
patch to properly compile.

So keeping this hack doesn't seems to be a correct fix.

Note that qtgrpc recipe isn't available on meta-oe nor any other public
layers.

0: https://patchwork.yoctoproject.org/project/oe/patch/20230904161230.377450-1-ross.burton@arm.com/
1: https://patchwork.yoctoproject.org/project/oe/patch/20230927051101.3088498-1-samuli.piippo@qt.io/
2: https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/commit/47f0d9e0326f3cc31c801a0ecf7312d1049ece3e

CC: Samuli Piippo <samuli.piippo@gmail.com>
CC: Ross Burton <ross.burton@arm.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-04 16:40:05 -07:00
Clément Péron f22a9adb44 protobuf-c: bump to next release to support protobuf 4.23.x
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-27 14:22:09 -07:00
Clément Péron 39d8b9b7e6 protobuf: upgrade 4.22.2 -> 4.23.4
Bump protobuf to 4.23.4 to fix build with musl.

Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-27 14:22:09 -07:00
Xiangyu Chen 802925894a protobuf-c: add support of protobuf 4.22.x
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-27 14:22:09 -07:00
Xiangyu Chen fb34c7e3fa protobuf: upgrade 3.21.12 -> 4.22.2
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-27 14:22:09 -07:00
Samuli Piippo a0557fe543 protobuf: stage protoc binary to sysroot
If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot:

|   The imported target "protobuf::protoc" references the file
|
|      ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc-3.21.5.0"
|
|   but this file does not exist.  Possible reasons include:
|
|   * The file was deleted, renamed, or moved to another location.
|
|   * An install or uninstall procedure did not complete successfully.
|
|   * The installation package was faulty and contained
|
|      ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
|   but not all the files it references.

Use SYSROOT_DIRS to stage the binary to sysroot so it's always
available for other recipes.

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-27 12:05:45 -07:00
Ross Burton 6ce4546d84 Revert "protobuf: stage protoc binary to sysroot"
Putting the _target_ protoc into the sysroot for executation at _build_
time isn't useful because even if it has the right architecture, the
tune might be incompatible.  Recipes which want protoc should just depend
on protobuf-native.

This reverts commit d7f46fa816.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-09-07 08:22:43 -07:00
Martin Jansa be8c765c7c *.patch: add Upstream-Status to all patches
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a

This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).

This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.

This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:

5 (26%) 	meta-xfce
6 (50%) 	meta-perl
15 (42%)        meta-webserver
21 (36%)        meta-gnome
25 (57%)        meta-filesystems
26 (43%)        meta-initramfs
45 (45%)        meta-python
47 (55%)        meta-multimedia
312 (63%)       meta-networking
756 (61%)       meta-oe

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-21 09:15:20 -07:00
Wang Mingyu 9e2123adbc protobuf: upgrade 3.21.10 -> 3.21.12
Changelog:
==========
 Fix broken enum ranges (#11171)
 Stop requiring extension fields to have a sythetic oneof (#11091)
 Python runtime 4.21.10 not works generated code can not load valid proto.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-23 08:52:22 -08:00
He Zhe 53b7b6954d protobuf: upgrade 3.21.5 -> 3.21.10
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-12-08 17:10:47 -08:00
Samuli Piippo d7f46fa816 protobuf: stage protoc binary to sysroot
If protoc is enabled for the build, recipes using protobuf will
fail when protoc is not available in the recipe sysroot:

|   The imported target "protobuf::protoc" references the file
|
|      ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc-3.21.5.0"
|
|   but this file does not exist.  Possible reasons include:
|
|   * The file was deleted, renamed, or moved to another location.
|
|   * An install or uninstall procedure did not complete successfully.
|
|   * The installation package was faulty and contained
|
|      ".../recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
|   but not all the files it references.

Use SYSROOT_DIRS to stage the binary to sysroot so it's always
available for other recipes.

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-11-23 08:25:31 -08:00
Khem Raj ded3e642e3 protobuf: Enable protoc binary in nativesdk
When it was disabled for target, it was enabled for native but not for
nativesdk explicitly, lets do it here.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-10-21 09:57:59 -07:00
Vyacheslav Yurkov 8c6ae75bef protobuf: disable protoc binary for target
When applications want to use protoc during the build, the target binary
has to be disabled in order to avoid following error:

|   The imported target "protobuf::protoc" references the file
|
|      "<application build dir>/recipe-sysroot/usr/bin/protoc-<protobuf version>"
|
|   but this file does not exist.  Possible reasons include:
|
|   * The file was deleted, renamed, or moved to another location.
|
|   * An install or uninstall procedure did not complete successfully.
|
|   * The installation package was faulty and contained
|
|      "<application build dir>/recipe-sysroot/usr/lib/cmake/protobuf/protobuf-targets.cmake"
|
|   but not all the files it references.

Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-27 07:39:10 -07:00
Vyacheslav Yurkov 4db814180c protobuf: change build system to cmake
Autotools support has been removed and replaced completely by CMake.

See related issues for details:
https://github.com/protocolbuffers/protobuf/issues/7911
https://github.com/protocolbuffers/protobuf/pull/10132

Drop autotools patches too.

Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-27 07:37:46 -07:00
Vyacheslav Yurkov 61e3493c53 protobuf: 3.19.4 -> 3.21.5 upgrade
Drop the patch that was accepted upstream
Forward port clang-mips patch

Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-27 07:37:45 -07:00
Vyacheslav Yurkov 3ef754446c protobuf: correct ptest dependency
Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-25 23:08:11 -07:00
Wentao Zhang 95904cca4a protobuf-c: update to 1.4.1 fix CVE-2022-33070
Signed-off-by: Wentao Zhang <wzhang4@ala-lpd-susbld2.wrs.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-07-12 09:12:14 +01:00
Zheng Ruoqin fee9d14b43 protobuf: upgrade 3.19.3 -> 3.19.4
Changelog:
=========
Python
* Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)

Ruby
* Fixed a data loss bug that could occur when the number of 'optional'
  fields in a message is an exact multiple of 32. (#9440).

PHP
* Fixed a data loss bug that could occur when the number of 'optional'
  fields in a message is an exact multiple of 32. (#9440).

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-23 09:25:19 -08:00
wangmy 77ebec820c protobuf: upgrade 3.19.1 -> 3.19.3
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-18 09:01:51 -08:00
He Zhe 87bde66c95 protobuf: Fix static init fiasco
The protobuf suffers from the C++ "Static Initialization Fiasco"
issue. This patches makes the extension attributes have a higher
priority than the attributes, so there's no possibility of random
initialization orders.

Signed-off-by: Jani Nurminen <jani.nurminen@windriver.com>

Upstream-Status: Pending

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-18 09:01:51 -08:00
Khem Raj bf1e71cea9 protobuf-c: Export native protoc
configure detects protoc based on some pkgconfig logic which confuses
cross compilation and ends up choosing /usr/bin/protoc causing build
failures when host system has version mismatched protoc installed, it
works ok as long as compatible protoc is installed

Fixes
./protobuf-c/protobuf-c.pb.h:17:2: error: This file was generated by an older version of protoc which is
 ^

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-09 21:48:00 -08:00
Richard Purdie b402a3076f recipes: Update SRC_URI branch and protocols
This patch updates SRC_URIs using git to include branch=master if no branch is set
and also to use protocol=https for github urls as generated by the conversion script
in OE-Core.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:49 -07:00
Khem Raj 32d397a06d protobuf: Disable tailcall on mips/clang
Clang13 crashes and lets workaround it for now

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-01 05:45:18 -07:00
Khem Raj fd7297b442 protobuf: Upgrade to 3.19.1
Release details [1]
[1] https://github.com/protocolbuffers/protobuf/releases/tag/v3.19.1

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-01 05:45:18 -07:00
Oleksandr Kravchuk 2a1cb560ae protobuf: update to 3.19.0
Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-01 05:45:18 -07:00
Martin Jansa f3f98c28b5 protobuf: import a patch from meta-webosose to fix building protobuf-c with gold linker
* imported from:
  https://github.com/webosose/meta-webosose/commit/9250cad447658cc6cc431572cb3b2c606e3fe257

* fixes:
| make[1]: Entering directory '/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/build'
| ./x86_64-oe-linux-libtool  --tag=CXX   --mode=link x86_64-oe-linux-g++  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot -std=c++11  -pthread -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0                      -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0                      -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0                      -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0                      -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot=                      -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot-native=  -Wl,-z,relro,-z,now  -fuse-ld=bfd  -o protoc-c/protoc-gen-c protoc-c/protoc_gen_c-c_bytes_field.o protoc-c/protoc_gen_c-c_enum.o protoc-c/protoc_gen_c-c_enum_field.o protoc-c/protoc_gen_c-c_extension.o protoc-c/protoc_gen_c-c_field.o protoc-c/protoc_gen_c-c_file.o protoc-c/protoc_gen_c-c_generator.o protoc-c/protoc_gen_c-c_helpers.o protoc-c/protoc_gen_c-c_message.o protoc-c/protoc_gen_c-c_message_field.o protoc-c/protoc_gen_c-c_primitive_field.o protoc-c/protoc_gen_c-c_service.o protoc-c/protoc_gen_c-c_string_field.o protobuf-c/protoc_c_protoc_gen_c-protobuf-c.pb.o protoc-c/protoc_gen_c-main.o -lprotobuf -lpthread -lprotoc
| x86_64-oe-linux-libtool: link: x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot -std=c++11 -pthread -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0=/usr/src/debug/protobuf-c/1.4.0-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot-native= -Wl,-z -Wl,relro -Wl,-z -Wl,now -fuse-ld=bfd -o protoc-c/protoc-gen-c protoc-c/protoc_gen_c-c_bytes_field.o protoc-c/protoc_gen_c-c_enum.o protoc-c/protoc_gen_c-c_enum_field.o protoc-c/protoc_gen_c-c_extension.o protoc-c/protoc_gen_c-c_field.o protoc-c/protoc_gen_c-c_file.o protoc-c/protoc_gen_c-c_generator.o protoc-c/protoc_gen_c-c_helpers.o protoc-c/protoc_gen_c-c_message.o protoc-c/protoc_gen_c-c_message_field.o protoc-c/protoc_gen_c-c_primitive_field.o protoc-c/protoc_gen_c-c_service.o protoc-c/protoc_gen_c-c_string_field.o protobuf-c/protoc_c_protoc_gen_c-protobuf-c.pb.o protoc-c/protoc_gen_c-main.o  -lprotobuf -lpthread -lprotoc -pthread
| /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/protobuf-c/1.4.0-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/11.2.0/ld.bfd: protobuf-c/protoc_c_protoc_gen_c-protobuf-c.pb.o:(.data.rel.ro+0x30): undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto'
| collect2: error: ld returned 1 exit status

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-19 09:23:08 -07:00
Oleksandr Kravchuk 12b27e5129 protobuf-c: update to 1.4.0
Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-16 09:50:38 -07:00
zhengruoqin d7d9597348 protobuf: upgrade 3.17.3 -> 3.18.0
C++
Fix warnings raised by clang 11 (#8664)
Make StringPiece constructible from std::string_view (#8707)
Add missing capability attributes for LLVM 12 (#8714)
Stop using std::iterator (deprecated in C++17). (#8741)
Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
Fix #7047 Safely handle setlocale (#8735)
Remove deprecated version of SetTotalBytesLimit() (#8794)
Support arena allocation of google::protobuf::AnyMetadata (#8758)
Fix undefined symbol error around SharedCtor() (#8827)
Fix default value of enum(int) in json_util with proto2 (#8835)
Better Smaller ByteSizeLong
Introduce event filters for inject_field_listener_events
Reduce memory usage of DescriptorPool
For lazy fields copy serialized form when allowed.
Re-introduce the InlinedStringField class
v2 access listener
Reduce padding in the proto's ExtensionRegistry map.
GetExtension performance optimizations
Make tracker a static variable rather than call static functions
Support extensions in field access listener
Annotate MergeFrom for field access listener
Fix incomplete types for field access listener
Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
record the map items which are different in MessageDifferencer's reporter.
Reduce binary size due to fieldless proto messages
TextFormat: ParseInfoTree supports getting field end location in addition to
start.
Fix repeated enum extension size in field listener
Enable Any Text Expansion for Descriptors::DebugString()
Switch from int{8,16,32,64} to int{8,16,32,64}_t
Java
Fix errorprone conflict (#8723)
Removing deprecated TimeUtil class. (#8749)
Optimized FieldDescriptor.valueOf() to avoid array copying.
Removing deprecated TimeUtil class.
Add Durations.parseUnchecked(String) and Timestamps.parseUnchecked(String)
FieldMaskUtil: Add convenience method to mask the fields out of a given proto.
JavaScript
Optimize binary parsing of repeated float64
Fix for optimization when reading doubles from binary wire format
Replace toArray implementation with toJSON.
PHP
Migrate PHP & Ruby to ABSL wyhash (#8854)
Added support for PHP 8.1 (currently in RC1) to the C extension (#8964)
Fixed PHP SEGV when constructing messages from a destructor. (#8969)
Ruby
Move DSL implementation from C to pure Ruby (#8850)
Fixed a memory bug with RepeatedField#+. (#8970)
Python
Drops support for 2.7 and 3.5.
Other
[csharp] ByteString.CreateCodedInput should use ArraySegment offset and count (#8740)
[ObjC] Add support for using the proto package to prefix symbols. (#8760)
field_presence.md: fix Go example (#8788)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-09-24 08:12:36 -07:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00