Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,106 @@
From 62b2fd0a150133b6439f6537cb1762d35f5790ee Mon Sep 17 00:00:00 2001
From: Xiangyu Chen <xiangyu.chen@windriver.com>
Date: Fri, 31 Mar 2023 16:02:50 +0800
Subject: [PATCH] Makefile.am: do not compile the code which was generated from
test-full.proto in protobuf-c-native
Those code was auto generated by protoc command with test-full.proto, those code are not compatible
with protobuf 4.22.x, so temporarily disable compile those code until protobuf-c upstream adapt
the test-full.proto with latest version protobuf.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
---
Makefile.am | 75 -----------------------------------------------------
1 file changed, 75 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index ff12664..7412aef 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -136,81 +136,6 @@ else
LOG_COMPILER = $(VALGRIND)
-check_PROGRAMS += \
- t/generated-code/test-generated-code \
- t/generated-code2/test-generated-code2 \
- t/generated-code3/test-generated-code3 \
- t/version/version
-
-TESTS += \
- t/generated-code/test-generated-code \
- t/generated-code2/test-generated-code2 \
- t/generated-code3/test-generated-code3 \
- t/version/version
-
-t_generated_code_test_generated_code_SOURCES = \
- t/generated-code/test-generated-code.c \
- t/test.pb-c.c
-t_generated_code_test_generated_code_LDADD = \
- protobuf-c/libprotobuf-c.la
-
-t_generated_code2_test_generated_code2_SOURCES = \
- t/generated-code2/test-generated-code2.c \
- t/test-full.pb-c.c \
- t/test-optimized.pb-c.c
-t_generated_code2_test_generated_code2_LDADD = \
- protobuf-c/libprotobuf-c.la
-
-t_generated_code3_test_generated_code3_CPPFLAGS = \
- -DPROTO3
-
-t_generated_code3_test_generated_code3_SOURCES = \
- t/generated-code/test-generated-code.c \
- t/test-proto3.pb-c.c
-
-t_generated_code3_test_generated_code3_LDADD = \
- protobuf-c/libprotobuf-c.la
-
-noinst_PROGRAMS += \
- t/generated-code2/cxx-generate-packed-data
-
-t_generated_code2_cxx_generate_packed_data_SOURCES = \
- t/generated-code2/cxx-generate-packed-data.cc \
- t/test-full.pb.cc \
- protobuf-c/protobuf-c.pb.cc
-$(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h
-t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
- $(AM_CXXFLAGS) \
- $(protobuf_CFLAGS)
-t_generated_code2_cxx_generate_packed_data_LDADD = \
- $(protobuf_LIBS)
-
-t/test.pb-c.c t/test.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test.proto
- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
-
-t/test-optimized.pb-c.c t/test-optimized.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-optimized.proto
- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-optimized.proto
-
-t/test-full.pb-c.c t/test-full.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-full.proto
- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
-
-t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto
- $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
-
-t/test-proto3.pb-c.c t/test-proto3.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-proto3.proto
- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-proto3.proto
-
-t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT)
- $(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
-
-BUILT_SOURCES += \
- t/test.pb-c.c t/test.pb-c.h \
- t/test-full.pb-c.c t/test-full.pb-c.h \
- t/test-optimized.pb-c.c t/test-optimized.pb-c.h \
- t/test-full.pb.cc t/test-full.pb.h \
- t/test-proto3.pb-c.c t/test-proto3.pb-c.h \
- t/generated-code2/test-full-cxx-output.inc
-
t_version_version_SOURCES = \
t/version/version.c
t_version_version_LDADD = \
--
2.34.1

View File

@@ -0,0 +1,38 @@
SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
serialization format. It includes libprotobuf-c, a pure C library that \
implements protobuf encoding and decoding, and protoc-c, a code generator that \
converts Protocol Buffer .proto files to C descriptor code, based on the \
original protoc. protobuf-c formerly included an RPC implementation; that code \
has been split out into the protobuf-c-rpc project."
HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
SECTION = "console/tools"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d11077c6a2b5d2e64b9f32b61a9b78ba"
DEPENDS = "protobuf-native protobuf"
SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https"
SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch"
SRCREV = "8c201f6e47a53feaab773922a743091eb6c8972a"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
export PROTOC = "${STAGING_BINDIR_NATIVE}/protoc"
# After several fix attempts there is still a race between generating
# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite
# BUILT_SOURCES and explicit dependencies.
PARALLEL_MAKE = ""
PACKAGE_BEFORE_PN = "${PN}-compiler"
FILES:${PN}-compiler = "${bindir}"
RDEPENDS:${PN}-compiler = "protobuf-compiler"
RDEPENDS:${PN}-dev += "${PN}-compiler"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,26 @@
From 08e46feb6553af670754e65d94c3bb6fcd4e0cf9 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 31 Oct 2021 23:39:44 -0700
Subject: [PATCH] Fix build on mips/clang
clang13 crashes on mips, until its fixed upstream disable tailcall on
mips
https://bugs.llvm.org/show_bug.cgi?id=52367
Upstream-Status: Inappropriate [Clang workaround]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/google/protobuf/port_def.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/google/protobuf/port_def.inc
+++ b/src/google/protobuf/port_def.inc
@@ -255,6 +255,7 @@
#error PROTOBUF_TAILCALL was previously defined
#endif
#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
+ !defined(__mips__) && \
!defined(_ARCH_PPC) && !defined(__wasm__) && \
!(defined(_MSC_VER) && defined(_M_IX86)) && \
!(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)

View File

@@ -0,0 +1,61 @@
From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Fri, 28 Jun 2019 13:50:52 +0000
Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
with gold
* move pkg-config call to separate variable, so that the final version
of the whole command so it's shown in log.do_compile_ptest_base
* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
add_person_cpp otherwise it fails to link with gold:
i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
/tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
/tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
collect2: error: ld returned 1 exit status
Makefile:43: recipe for target 'add_person_cpp' failed
* and the same with list_people_cpp this time with pkg-config already through the variable:
i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp
/tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
/tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
collect2: error: ld returned 1 exit status
Makefile:49: recipe for target 'list_people_cpp' failed
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
examples/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/examples/Makefile b/examples/Makefile
index ef7a4ef58..7206e14e1 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -2,6 +2,8 @@
.PHONY: all cpp java python clean
+PROTOBUF := $(shell pkg-config --cflags --libs protobuf)
+
all: cpp java python
cpp: add_person_cpp list_people_cpp
@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
add_person_cpp: add_person.cc protoc_middleman
pkg-config --cflags protobuf # fails if protobuf is not installed
- c++ -std=c++14 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp #$(CXX) -std=c++17 $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
list_people_cpp: list_people.cc protoc_middleman
pkg-config --cflags protobuf # fails if protobuf is not installed
- c++ -std=c++14 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp #$(CXX) -std=c++17 $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
add_person_dart: add_person.dart protoc_middleman_dart
--
2.34.1

View File

@@ -0,0 +1,38 @@
#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
TEST_FILE="/tmp/test.data"
RETVAL=0
# Test every writing test application
for write_exe_full_path in ${DIR}/add_person_*; do
if [ -x "${write_exe_full_path}" ]; then
write_exe=`basename ${write_exe_full_path}`
echo "Generating new test file using ${write_exe}..."
printf "1234\nname\nname@example.com\n" | ${write_exe_full_path} "${TEST_FILE}"
RETVAL=$?
[ $RETVAL -eq 0 ] || exit $RETVAL
# Test every reading test application
for read_exe_full_path in ${DIR}/list_people_*; do
read_exe=`basename ${read_exe_full_path}`
echo "Test: Write with ${write_exe}; Read with ${read_exe}..."
if [ -x "${read_exe_full_path}" ]; then
${read_exe_full_path} "${TEST_FILE}"
RETVAL=$?
[ $RETVAL -eq 0 ] || exit $RETVAL
fi
done
# Cleanup...
if [ -e "${TEST_FILE}" ]; then
rm "${TEST_FILE}"
fi
fi
done
if [ $RETVAL -eq 0 ] ; then
echo "PASS: protobuf"
else
echo "FAIL: protobuf"
fi

View File

@@ -0,0 +1,118 @@
SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
efficient yet extensible format. Google uses Protocol Buffers for almost \
all of its internal RPC protocols and file formats."
HOMEPAGE = "https://github.com/google/protobuf"
SECTION = "console/tools"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
DEPENDS = "zlib abseil-cpp"
DEPENDS:append:class-target = " protobuf-native"
SRCREV = "a4cbdd3ed0042e8f9b9c30e8b0634096d9532809"
SRC_URI = "gitsm://github.com/protocolbuffers/protobuf.git;branch=25.x;protocol=https \
file://run-ptest \
file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
"
SRC_URI:append:mips:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
SRC_URI:append:mipsel:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
S = "${WORKDIR}/git"
inherit cmake pkgconfig ptest
PACKAGECONFIG ??= ""
PACKAGECONFIG:class-native ?= "compiler"
PACKAGECONFIG:class-nativesdk ?= "compiler"
PACKAGECONFIG[python] = ",,"
PACKAGECONFIG[compiler] = "-Dprotobuf_BUILD_PROTOC_BINARIES=ON,-Dprotobuf_BUILD_PROTOC_BINARIES=OFF"
EXTRA_OECMAKE += "\
-Dprotobuf_BUILD_SHARED_LIBS=ON \
-Dprotobuf_BUILD_LIBPROTOC=ON \
-Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_BUILD_EXAMPLES=OFF \
-Dprotobuf_ABSL_PROVIDER="package" \
"
TEST_SRC_DIR = "examples"
LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
do_compile_ptest() {
mkdir -p "${B}/${TEST_SRC_DIR}"
# Add the location of the cross-compiled header and library files
# which haven't been installed yet.
cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
cp ${S}/${TEST_SRC_DIR}/*.cc "${B}/${TEST_SRC_DIR}/"
cp ${S}/${TEST_SRC_DIR}/*.proto "${B}/${TEST_SRC_DIR}/"
cp ${S}/${TEST_SRC_DIR}/*.py "${B}/${TEST_SRC_DIR}/"
cp ${S}/${TEST_SRC_DIR}/Makefile "${B}/${TEST_SRC_DIR}/"
# Adapt protobuf.pc
sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Cflags:|Cflags: -I${S}/src |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Cflags:|Cflags: -I${WORKDIR}/recipe-sysroot${includedir} |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Libs:|Libs: -L${B}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Libs:|Libs: -L${WORKDIR}/recipe-sysroot/usr/lib |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Libs:|Libs: -labsl_log_internal_check_op |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
sed -e 's|Libs:|Libs: -labsl_log_internal_message |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
# Adapt uf8_range.pc
cp "${B}/third_party/utf8_range/utf8_range.pc" "${B}/${TEST_SRC_DIR}/utf8_range.pc"
sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc"
sed -e 's|Libs:|Libs= -L${B}/third_party/utf8_range |' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc"
# Until out-of-tree build of examples is supported, we have to use this approach
sed -e 's|../src/google/protobuf/.libs/timestamp.pb.o|${B}/CMakeFiles/libprotobuf.dir/src/google/protobuf/timestamp.pb.cc.o|' -i "${B}/${TEST_SRC_DIR}/Makefile"
export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
# Save the pkgcfg sysroot variable, and update it to nothing so
# that it doesn't append the sysroot to the beginning of paths.
# The header and library files aren't installed to the target
# system yet. So the absolute paths were specified above.
save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
export PKG_CONFIG_SYSROOT_DIR=
# Compile the tests
for lang in ${LANG_SUPPORT}; do
oe_runmake -C "${B}/${TEST_SRC_DIR}" ${lang}
done
# Restore the pkgconfig sysroot variable
export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
}
do_install_ptest() {
local olddir=`pwd`
cd "${S}/${TEST_SRC_DIR}"
install -d "${D}/${PTEST_PATH}"
for i in add_person* list_people*; do
if [ -x "$i" ]; then
install "$i" "${D}/${PTEST_PATH}"
fi
done
cp "${B}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
cd "$olddir"
}
PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
# CMake requires protoc binary to exist in sysroot, even if it has wrong architecture.
SYSROOT_DIRS += "${bindir}"
RDEPENDS:${PN}-compiler = "${PN}"
RDEPENDS:${PN}-dev += "${PN}-compiler"
RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
MIPS_INSTRUCTION_SET = "mips"
BBCLASSEXTEND = "native nativesdk"
LDFLAGS:append:arm = " -latomic"
LDFLAGS:append:mips = " -latomic"
LDFLAGS:append:powerpc = " -latomic"
LDFLAGS:append:mipsel = " -latomic"