added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,68 @@
From c0546e351f6d7ab50eb1de8cef1d0d167760fccc Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Mon, 27 Aug 2018 22:50:57 +0200
Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes #1910
With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline
assembly fails to build with GCC < 5 in PIC mode with the following error:
include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ebx in asm
This is because older GCC versions treated the x86 ebx register (which is
used for the GOT) as a fixed reserved register when building as PIC.
This is fixed by an improved register allocator in GCC 5+. From the release
notes:
Register allocation improvements: Reuse of the PIC hard register, instead of
using a fixed register, was implemented on x86/x86-64 targets. This
improves generated PIC code performance as more hard registers can be used.
https://www.gnu.org/software/gcc/gcc-5/changes.html
As a workaround, detect this situation and disable the inline assembly,
similar to the MULADDC_CANNOT_USE_R7 logic.
Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/c0546e351f6d7ab50eb1de8cef1d0d167760fccc]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
library/bn_mul.h | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
--- a/third_party/openthread/repo/third_party/mbedtls/repo/include/mbedtls/bn_mul.h
+++ b/third_party/openthread/repo/third_party/mbedtls/repo/include/mbedtls/bn_mul.h
@@ -55,12 +55,28 @@
( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 )
/*
+ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a
+ * fixed reserved register when building as PIC, leading to errors
+ * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm'
+ *
+ * This is fixed by an improved register allocator in GCC 5+. From the
+ * release notes:
+ * Register allocation improvements: Reuse of the PIC hard register,
+ * instead of using a fixed register, was implemented on x86/x86-64
+ * targets. This improves generated PIC code performance as more hard
+ * registers can be used.
+ */
+#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__)
+#define MULADDC_CANNOT_USE_EBX
+#endif
+
+/*
* Disable use of the i386 assembly code below if option -O0, to disable all
* compiler optimisations, is passed, detected with __OPTIMIZE__
* This is done as the number of registers used in the assembly code doesn't
* work with the -O0 option.
*/
-#if defined(__i386__) && defined(__OPTIMIZE__)
+#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX)
#define MULADDC_INIT \
asm( \

View File

@@ -0,0 +1,40 @@
From aa706d714294b83db696de2beca9a722a512796f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 19 Apr 2022 14:04:40 -0700
Subject: [PATCH] cmake: Disable nonnull-compare warning on gcc
GCC finds a legit warning which clang does not on code like this
class Message;
void SendResponse(Message & aMessage)
{
if ((&aMessage) != nullptr) { return; }
}
Perhaps it should be fixed upstream but for now disable treating this
warning as error when using gcc
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
CMakeLists.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 59a567e729..3134740ff6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,6 +57,10 @@ endif()
set(CMAKE_CXX_EXTENSIONS OFF)
+if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ add_compile_options(-Wno-error=nonnull-compare)
+endif()
+
if (OTBR_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
message(STATUS "Coverage: ON")
target_compile_options(otbr-config INTERFACE -g -O0 --coverage)
--
2.36.0

View File

@@ -0,0 +1,35 @@
From ed60d4605b81c43b9ba9504a37835109c247c6f8 Mon Sep 17 00:00:00 2001
From: Stefan Schmidt <stefan.schmidt@huawei.com>
Date: Fri, 1 Apr 2022 21:46:03 +0200
Subject: [PATCH] otbr-agent.service.in: remove pre exec hook for mdns service
It uses the service command which is not available in all cases under
Yocto/OE. The upstream project uses this mainly with Ubuntu and Raspian
as testbeds.
In our case we simply ensure that avahi-daemon is installed on the
system inside the recipe.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com>
---
src/agent/otbr-agent.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/agent/otbr-agent.service.in b/src/agent/otbr-agent.service.in
index 8314121347..4c97869def 100644
--- a/src/agent/otbr-agent.service.in
+++ b/src/agent/otbr-agent.service.in
@@ -6,7 +6,7 @@ After=dbus.socket
[Service]
EnvironmentFile=-@CMAKE_INSTALL_FULL_SYSCONFDIR@/default/otbr-agent
-@EXEC_START_PRE@ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/otbr-agent $OTBR_AGENT_OPTS
+ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/otbr-agent $OTBR_AGENT_OPTS
KillMode=mixed
Restart=on-failure
RestartSec=5
--
2.35.1

View File

@@ -0,0 +1,34 @@
mbedtls: Disable documentation warning as error with clang
There are shortcomings with doxygen info which clang-15+ flags, dont
treat them as errors
Remove unused variable
Fixes
library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable]
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c
+++ b/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c
@@ -1544,7 +1544,7 @@ __attribute__ ((noinline))
#endif
void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
{
- mbedtls_mpi_uint c = 0, t = 0;
+ mbedtls_mpi_uint c = 0, t __attribute__ ((unused)) = 0;
#if defined(MULADDC_HUIT)
for( ; i >= 8; i -= 8 )
--- a/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt
+++ b/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt
@@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU)
endif(CMAKE_COMPILER_IS_GNU)
if(CMAKE_COMPILER_IS_CLANG)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation")
set(CMAKE_C_FLAGS_RELEASE "-O2")
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")

View File

@@ -0,0 +1,10 @@
--- a/third_party/openthread/repo/src/cli/cli.cpp
+++ b/third_party/openthread/repo/src/cli/cli.cpp
@@ -1785,6 +1785,7 @@ template <> otError Interpreter::Process
for (uint8_t i = 0;; i++)
{
+ OT_UNUSED_VARIABLE(i);
SuccessOrExit(otThreadGetNextCacheEntry(GetInstancePtr(), &entry, &iterator));
OutputEidCacheEntry(entry);
}

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
SUMMARY = "OpenThread Border Router"
SECTION = "net"
LICENSE = "BSD-3-Clause & MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=87109e44b2fda96a8991f27684a7349c \
file://third_party/Simple-web-server/repo/LICENSE;md5=852b3f7f320b19f6431487b8b2fb1d74 \
file://third_party/cJSON/repo/LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0 \
file://third_party/http-parser/repo/LICENSE-MIT;md5=9bfa835d048c194ab30487af8d7b3778 \
file://third_party/openthread/repo/LICENSE;md5=543b6fe90ec5901a683320a36390c65f \
"
DEPENDS = "autoconf-archive dbus readline avahi jsoncpp boost libnetfilter-queue"
SRCREV = "ad6822257ffddbac295db97186e4ab449a2ed32a"
PV = "0.3.0+git${SRCPV}"
SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=main \
file://0001-otbr-agent.service.in-remove-pre-exec-hook-for-mdns-.patch \
file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
file://0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch \
file://mbedtls.patch \
file://unused_var.patch \
"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE:${PN} = "otbr-agent.service"
inherit pkgconfig cmake systemd
# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable]
# for (uint8_t i = 0;; i++)
CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable"
EXTRA_OECMAKE = "-DBUILD_TESTING=OFF \
-DOTBR_DBUS=ON \
-DOTBR_REST=ON \
-DOTBR_WEB=OFF \
-DCMAKE_LIBRARY_PATH=${libdir} \
-DOTBR_MDNS=avahi \
-DOTBR_BACKBONE_ROUTER=ON \
-DOTBR_BORDER_ROUTING=ON \
-DOTBR_SRP_ADVERTISING_PROXY=ON \
-DOTBR_BORDER_AGENT=ON \
-DOT_SPINEL_RESET_CONNECTION=ON \
-DOT_TREL=ON \
-DOT_MLR=ON \
-DOT_SRP_SERVER=ON \
-DOT_ECDSA=ON \
-DOT_SERVICE=ON \
-DOTBR_DUA_ROUTING=ON \
-DOT_DUA=ON \
-DOT_BORDER_ROUTING_NAT64=ON \
-DOTBR_DNSSD_DISCOVERY_PROXY=ON \
-DOTBR_INFRA_IF_NAME=eth0 \
-DOTBR_NO_AUTO_ATTACH=1 \
-DOT_REFERENCE_DEVICE=ON \
-DOT_DHCP6_CLIENT=ON \
-DOT_DHCP6_SERVER=ON \
"
RDEPENDS:${PN} = "iproute2 ipset avahi-daemon"
RCONFLICTS:${PN} = "ot-daemon"
FILES:${PN} += "${systemd_unitdir}/*"
FILES:${PN} += "${datadir}/*"

View File

@@ -0,0 +1,68 @@
From c0546e351f6d7ab50eb1de8cef1d0d167760fccc Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <peter@korsgaard.com>
Date: Mon, 27 Aug 2018 22:50:57 +0200
Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes #1910
With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline
assembly fails to build with GCC < 5 in PIC mode with the following error:
include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ebx in asm
This is because older GCC versions treated the x86 ebx register (which is
used for the GOT) as a fixed reserved register when building as PIC.
This is fixed by an improved register allocator in GCC 5+. From the release
notes:
Register allocation improvements: Reuse of the PIC hard register, instead of
using a fixed register, was implemented on x86/x86-64 targets. This
improves generated PIC code performance as more hard registers can be used.
https://www.gnu.org/software/gcc/gcc-5/changes.html
As a workaround, detect this situation and disable the inline assembly,
similar to the MULADDC_CANNOT_USE_R7 logic.
Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/c0546e351f6d7ab50eb1de8cef1d0d167760fccc]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
library/bn_mul.h | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
--- a/third_party/mbedtls/repo/include/mbedtls/bn_mul.h
+++ b/third_party/mbedtls/repo/include/mbedtls/bn_mul.h
@@ -55,12 +55,28 @@
( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 )
/*
+ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a
+ * fixed reserved register when building as PIC, leading to errors
+ * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm'
+ *
+ * This is fixed by an improved register allocator in GCC 5+. From the
+ * release notes:
+ * Register allocation improvements: Reuse of the PIC hard register,
+ * instead of using a fixed register, was implemented on x86/x86-64
+ * targets. This improves generated PIC code performance as more hard
+ * registers can be used.
+ */
+#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__)
+#define MULADDC_CANNOT_USE_EBX
+#endif
+
+/*
* Disable use of the i386 assembly code below if option -O0, to disable all
* compiler optimisations, is passed, detected with __OPTIMIZE__
* This is done as the number of registers used in the assembly code doesn't
* work with the -O0 option.
*/
-#if defined(__i386__) && defined(__OPTIMIZE__)
+#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX)
#define MULADDC_INIT \
asm( \

View File

@@ -0,0 +1,34 @@
mbedtls: Disable documentation warning as error with clang
There are shortcomings with doxygen info which clang-15+ flags, dont
treat them as errors
Remove unused variable
Fixes
library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable]
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/third_party/mbedtls/repo/library/bignum.c
+++ b/third_party/mbedtls/repo/library/bignum.c
@@ -1544,7 +1544,7 @@ __attribute__ ((noinline))
#endif
void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b )
{
- mbedtls_mpi_uint c = 0, t = 0;
+ mbedtls_mpi_uint c = 0, t __attribute__ ((unused)) = 0;
#if defined(MULADDC_HUIT)
for( ; i >= 8; i -= 8 )
--- a/third_party/mbedtls/repo/CMakeLists.txt
+++ b/third_party/mbedtls/repo/CMakeLists.txt
@@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU)
endif(CMAKE_COMPILER_IS_GNU)
if(CMAKE_COMPILER_IS_CLANG)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation")
set(CMAKE_C_FLAGS_RELEASE "-O2")
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")

View File

@@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
SUMMARY = "OpenThread Daemon is an OpenThread POSIX build mode that runs OpenThread as a service."
SECTION = "net"
LICENSE = "BSD-3-Clause & Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=543b6fe90ec5901a683320a36390c65f \
file://third_party/mbedtls/repo/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
"
DEPENDS = "readline"
SRCREV = "7dfde1f12923f03c9680be4d838b94b7a2320324"
PV = "0.1+git${SRCPV}"
SRC_URI = "git://github.com/openthread/openthread.git;protocol=https;branch=main \
file://0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch \
file://mbedtls.patch \
"
S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE = "-DOT_DAEMON=ON \
-DOT_SPINEL_RESET_CONNECTION=ON \
-DOT_THREAD_VERSION=1.2 \
-DOT_COVERAGE=OFF \
-DOT_PLATFORM=posix \
-DCMAKE_BUILD_TYPE=Release \
"

View File

@@ -0,0 +1,32 @@
# SPDX-FileCopyrightText: Huawei Inc.
#
# SPDX-License-Identifier: Apache-2.0
SUMMARY = "wpantund, Userspace WPAN Network Daemon"
SECTION = "net"
LICENSE = "Apache-2.0 & MIT & BSL-1.0 & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e7820bc7f7d1638a6b54fc2e8d7fb103 \
file://third_party/assert-macros/LICENSE;md5=cbf35ecdc8161026afe4da2906fab204 \
file://third_party/boost/LICENSE;md5=e4224ccaecb14d942c71d31bef20d78c \
file://third_party/fgetln/LICENSE;md5=389e03d2254ecad45d0d9bbdefef7129 \
file://third_party/openthread/LICENSE;md5=543b6fe90ec5901a683320a36390c65f \
file://third_party/pt/LICENSE;md5=dcd598b69cad786beea33da7b1ae14b7 \
"
DEPENDS = "autoconf-archive dbus readline boost"
SRCREV = "0fb1f57e4224e2df3e630e146702bfcf63fbf07a"
PV = "0.07.01+git${SRCPV}"
SRC_URI = "gitsm://github.com/openthread/wpantund.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"
inherit pkgconfig perlnative autotools
# CVE-2020-8916 has been fixed in commit
# 3f108441e23e033b936e85be5b6877dd0a1fbf1c which is included in the SRCREV
# CVE-2021-33889 has been fixed in commit
# a8f3f761f6753b567d1e5ad22cbe6b0ceb6f2649 which is included in the SRCREV
# There has not been a wpantund release as of yet that includes these fixes.
# That means cve-check can not match them. Once a new release comes we can
# remove the ignore statement.
CVE_CHECK_IGNORE = "CVE-2020-8916 CVE-2021-33889"