Date   

[meta-zephyr][PATCH 3/4] zephyr-core/classes: Remove West-based logic from zephyr.bbclass

Peter Hoyes
 

From: Peter Hoyes <Peter.Hoyes@...>

For a given release tag, ZEPHYR_MODULES is constant. It is therefore now
populated by the generate-version.py script, the output of which is
stored in the repository, so the build-time logic to populate
ZEPHYR_MODULES is no longer needed.

Remove the do_get_zmods task, but retain the Python dependencies which
are still required by Python scripts in the Zephyr repository that are
trigerred by CMake.

The above means that West is now only required as a host dependency to
run generate-version.py, so remove the West Yocto recipe.

Signed-off-by: Peter Hoyes <Peter.Hoyes@...>
---
meta-zephyr-core/classes/zephyr.bbclass | 32 +------------------
.../recipes-devtools/west/west_0.12.99.bb | 22 -------------
2 files changed, 1 insertion(+), 53 deletions(-)
delete mode 100644 meta-zephyr-core/recipes-devtools/west/west_0.12.99.b=
b

diff --git a/meta-zephyr-core/classes/zephyr.bbclass b/meta-zephyr-core/c=
lasses/zephyr.bbclass
index 8030456..5b71bda 100644
--- a/meta-zephyr-core/classes/zephyr.bbclass
+++ b/meta-zephyr-core/classes/zephyr.bbclass
@@ -2,6 +2,7 @@ inherit terminal
inherit python3native
=20
PYTHONPATH=3D"${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages"
+DEPENDS +=3D "python3-pyelftools-native python3-pyyaml-native python3-py=
kwalify-native"
=20
OE_TERMINAL_EXPORTS +=3D "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO CROSS_CU=
RSES_LIB CROSS_CURSES_INC"
HOST_EXTRACFLAGS =3D "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
@@ -24,39 +25,8 @@ python () {
d.setVar('BOARD',board)
}
=20
-do_get_zmods() {
-
- export PYTHONPATH=3D"${RECIPE_SYSROOT_NATIVE}/${libdir}/${PYTHON_DIR=
}/site-packages:${RECIPE_SYSROOT_NATIVE}/${libdir}/${PYTHON_DIR}"
- cd ${S}
- =20
- # I really dislike how tied in this is to west, but without reimplem=
enting their script, this seems to be the
- # easiest way to do this
- rm -rf .west; mkdir .west
- cat << EOF >> ${S}/.west/config
-[manifest]
-path =3D zephyr
-file =3D west.yml
-EOF
-
- # Get all available modules and add them to ZEPHYR_MODULES
- for i in $(west list|awk 'NR>1 {print $2}'); do
- ZEPHYR_MODULES=3D"${S}/$i\;${ZEPHYR_MODULES}"
- done
- export ZEPHYR_MODULES
-}
-
-do_get_zmods[nostamp] =3D "1"
-do_get_zmods[dirs] =3D "${B}"
-
EXTRA_OECMAKE:append =3D " -DZEPHYR_MODULES=3D${ZEPHYR_MODULES}"
=20
-addtask get_zmods after do_patch before do_configure
-do_get_zmods[depends] +=3D "west-native:do_populate_sysroot"
-do_get_zmods[depends] +=3D "python3-pyyaml-native:do_populate_sysroot"
-do_get_zmods[depends] +=3D "python3-pykwalify-native:do_populate_sysroot=
"
-do_get_zmods[depends] +=3D "python3-colorama-native:do_populate_sysroot"
-do_get_zmods[depends] +=3D "python3-pyelftools-native:do_populate_sysroo=
t"
-
python do_menuconfig() {
os.chdir(d.getVar('ZEPHYR_SRC_DIR', True))
configdir =3D d.getVar('ZEPHYR_SRC_DIR', True) + '/outdir/' + d.getV=
ar('BOARD', True)
diff --git a/meta-zephyr-core/recipes-devtools/west/west_0.12.99.bb b/met=
a-zephyr-core/recipes-devtools/west/west_0.12.99.bb
deleted file mode 100644
index 6a9f8bc..0000000
--- a/meta-zephyr-core/recipes-devtools/west/west_0.12.99.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-FileCopyrightText: Huawei Inc.
-# SPDX-License-Identifier: Apache-2.0
-
-SUMMARY =3D "Zephyr RTOS Project meta-tool"
-HOMEPAGE =3D "https://github.com/zephyrproject-rtos/west"
-LICENSE =3D "Apache-2.0"
-LIC_FILES_CHKSUM =3D "file://LICENSE;md5=3De3fc50a88d0a364313df4b21ef20c=
29e"
-
-SRC_URI =3D "git://github.com/zephyrproject-rtos/west;protocol=3Dhttps;b=
ranch=3Dmain"
-
-PV =3D "0.12.99"
-SRCREV =3D "38e656b05ea8f4c8d80b953f6d88b1ed604d11f8"
-PROVIDES =3D "virtual/west"
-
-S =3D "${WORKDIR}/git"
-
-inherit setuptools3 python3native
-
-DEPENDS_${PN} +=3D "python3-pyyaml python3-core python3-packaging python=
3-colorama python3-pyparsing"
-RDEPENDS_${PN} +=3D "python3-pyyaml python3-core python3-packaging pytho=
n3-colorama python3-pyparsing"
-BBCLASSEXTEND =3D "native nativesdk"
-TOOLCHAIN_HOST_TASK:append =3D " nativesdk-west"
--=20
2.25.1


[meta-zephyr][PATCH 2/4] zephyr-core/zephyr-kernel: Migrate to script-driven version files

Peter Hoyes
 

From: Peter Hoyes <Peter.Hoyes@...>

This commit uses the output of
meta-zephyr-core/scripts/generate-version.py for both the 2.7.3 and
3.1.0 versions.

Rename a patch for for v2.7.3 to match the filename expected by the
generated configuration.

Signed-off-by: Peter Hoyes <Peter.Hoyes@...>
---
...y-generation-issue-in-cross-compila.patch} | 0
.../zephyr-kernel/zephyr-kernel-src-2.7.3.inc | 202 +++++++++++++---
.../zephyr-kernel/zephyr-kernel-src-3.1.0.inc | 220 +++++++++++++++---
.../zephyr-kernel/zephyr-kernel-src.inc | 43 ----
4 files changed, 347 insertions(+), 118 deletions(-)
rename meta-zephyr-core/recipes-kernel/zephyr-kernel/files/{0001-x86-fix=
-efi-binary-generation-issue-in-cross-compila.patch =3D> 0001-2.7-x86-fix=
-efi-binary-generation-issue-in-cross-compila.patch} (100%)

diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-x86=
-fix-efi-binary-generation-issue-in-cross-compila.patch b/meta-zephyr-cor=
e/recipes-kernel/zephyr-kernel/files/0001-2.7-x86-fix-efi-binary-generati=
on-issue-in-cross-compila.patch
similarity index 100%
rename from meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-x86-=
fix-efi-binary-generation-issue-in-cross-compila.patch
rename to meta-zephyr-core/recipes-kernel/zephyr-kernel/files/0001-2.7-x8=
6-fix-efi-binary-generation-issue-in-cross-compila.patch
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-=
src-2.7.3.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kern=
el-src-2.7.3.inc
index 1c53748..2d20888 100644
--- a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7=
.3.inc
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7=
.3.inc
@@ -1,18 +1,6 @@
-SRCREV_FORMAT =3D "default_cmsis"
+# Auto-generated from zephyr-kernel-src.inc.jinja
=20
-# These repositories are specific to post-2.6 branches
-
-SRC_URI +=3D " \
- git://github.com/zephyrproject-rtos/mcumgr.git;protocol=3Dhttps;nobr=
anch=3D1;destsuffix=3Dgit/modules/lib/mcumgr;name=3Dmcumgr \
- git://github.com/zephyrproject-rtos/TraceRecorderSource.git;protocol=
=3Dhttps;nobranch=3D1;destsuffix=3Dgit/modules/debug/TraceRecorder;name=3D=
TraceRecorder \
- git://github.com/zephyrproject-rtos/trusted-firmware-m.git;protocol=3D=
https;nobranch=3D1;destsuffix=3Dgit/modules/tee/tfm;name=3Dtfm \
-"
-
-#
-# Generated from:
-# west forall -c 'x=3D$(filename `pwd`); rev=3D$(git rev-parse HEAD); \
-# echo SRCREV_$x =3D \"$rev\"'
-#
+SRCREV_FORMAT =3D "default"
=20
SRCREV_default =3D "003de78ce0dd213a1c7b3d159b967fb19a12aa45"
SRCREV_canopennode =3D "f167efe85c8c7de886f1bc47f9173cfb8a346bb5"
@@ -20,23 +8,23 @@ SRCREV_civetweb =3D "094aeb41bb93e9199d24d665ee43e9e05=
d6d7b1c"
SRCREV_cmsis =3D "b0612c97c1401feeb4160add6462c3627fe90fc7"
SRCREV_edtt =3D "31badfbbd04f2948e3df6ebf329f930317550961"
SRCREV_fatfs =3D "94fcd6bfb3801ac0a5e12ea2f52187e0a688b90e"
-SRCREV_altera =3D "23c1c1dd7a0c1cc9a399509d1819375847c95b97"
-SRCREV_atmel =3D "9f78f520f6cbb997e5b44fe8ab17dd5bf2448095"
-SRCREV_cypress =3D "81a059f21435bc7e315bccd720da5a9b615bbb50"
-SRCREV_espressif =3D "3400257534944d3a6a4194d1dbf8f0cd1670d64e"
-SRCREV_infineon =3D "f1fa8241f8786198ba41155413243de36ed878a5"
-SRCREV_microchip =3D "870d05e6a64ea9548da6b907058b03c8c9420826"
-SRCREV_nordic =3D "a6e5299041f152da5ae0ab17b2e44e088bb96d6d"
-SRCREV_nuvoton =3D "b4d31f33238713a568e23618845702fadd67386f"
-SRCREV_nxp =3D "78efc4ba7c1057c1cf2bf06e3e27ed7cc33e1da7"
-SRCREV_openisa =3D "40d049f69c50b58ea20473bee14cf93f518bf262"
-SRCREV_quicklogic =3D "b3a66fe6d04d87fd1533a5c8de51d0599fcd08d0"
-SRCREV_silabs =3D "be39d4eebeddac6e18e9c0c3ba1b31ad1e82eaed"
-SRCREV_st =3D "575de9d461aa6f430cf62c58a053675377e700f3"
-SRCREV_stm32 =3D "5c8275071ec1cf160bfe8c18bbd9330a7d714dc8"
-SRCREV_telink =3D "ffcfd6282aa213f1dc0848dbca6279b098f6b143"
-SRCREV_ti =3D "1992a4c536554c4f409c36896eda6abdc414d277"
-SRCREV_xtensa =3D "6e1cf3c483e87df4888e87c5396b4534570f01af"
+SRCREV_hal_altera =3D "23c1c1dd7a0c1cc9a399509d1819375847c95b97"
+SRCREV_hal_atmel =3D "9f78f520f6cbb997e5b44fe8ab17dd5bf2448095"
+SRCREV_hal_cypress =3D "81a059f21435bc7e315bccd720da5a9b615bbb50"
+SRCREV_hal_espressif =3D "3400257534944d3a6a4194d1dbf8f0cd1670d64e"
+SRCREV_hal_infineon =3D "f1fa8241f8786198ba41155413243de36ed878a5"
+SRCREV_hal_microchip =3D "870d05e6a64ea9548da6b907058b03c8c9420826"
+SRCREV_hal_nordic =3D "a6e5299041f152da5ae0ab17b2e44e088bb96d6d"
+SRCREV_hal_nuvoton =3D "b4d31f33238713a568e23618845702fadd67386f"
+SRCREV_hal_nxp =3D "78efc4ba7c1057c1cf2bf06e3e27ed7cc33e1da7"
+SRCREV_hal_openisa =3D "40d049f69c50b58ea20473bee14cf93f518bf262"
+SRCREV_hal_quicklogic =3D "b3a66fe6d04d87fd1533a5c8de51d0599fcd08d0"
+SRCREV_hal_silabs =3D "be39d4eebeddac6e18e9c0c3ba1b31ad1e82eaed"
+SRCREV_hal_st =3D "575de9d461aa6f430cf62c58a053675377e700f3"
+SRCREV_hal_stm32 =3D "5c8275071ec1cf160bfe8c18bbd9330a7d714dc8"
+SRCREV_hal_telink =3D "ffcfd6282aa213f1dc0848dbca6279b098f6b143"
+SRCREV_hal_ti =3D "1992a4c536554c4f409c36896eda6abdc414d277"
+SRCREV_hal_xtensa =3D "6e1cf3c483e87df4888e87c5396b4534570f01af"
SRCREV_libmetal =3D "39d049d4ae68e6f6d595fce7de1dcfc1024fb4eb"
SRCREV_littlefs =3D "9e4498d1c73009acd84bb36036ee5e2869112a6c"
SRCREV_loramac-node =3D "12019623bbad9eb54fe51066847a7cbd4b4eac57"
@@ -56,15 +44,153 @@ SRCREV_sof =3D "76feb11d1b8f425021b5691668af2250fee4=
44ac"
SRCREV_tflite-micro =3D "9156d050927012da87079064db59d07f03b8baf6"
SRCREV_tinycbor =3D "40daca97b478989884bffb5226e9ab73ca54b8c4"
SRCREV_tinycrypt =3D "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"
-SRCREV_TraceRecorder =3D "36c577727642457b0db7274298a4b96558374832"
-SRCREV_tfm =3D "c74be3890c9d975976fde1b1a3b2f5742bec34c0"
+SRCREV_TraceRecorderSource =3D "36c577727642457b0db7274298a4b96558374832=
"
+SRCREV_trusted-firmware-m =3D "c74be3890c9d975976fde1b1a3b2f5742bec34c0"
=20
-ZEPHYR_BRANCH =3D "v2.7-branch"
-PV =3D "2.7.3+git${SRCPV}"
+SRC_URI_ZEPHYR ?=3D "git://github.com/zephyrproject-rtos/zephyr.git;prot=
ocol=3Dhttps"
+SRC_URI_CANOPENNODE ?=3D "git://github.com/zephyrproject-rtos/canopennod=
e;protocol=3Dhttps"
+SRC_URI_CIVETWEB ?=3D "git://github.com/zephyrproject-rtos/civetweb;prot=
ocol=3Dhttps"
+SRC_URI_CMSIS ?=3D "git://github.com/zephyrproject-rtos/cmsis;protocol=3D=
https"
+SRC_URI_EDTT ?=3D "git://github.com/zephyrproject-rtos/edtt;protocol=3Dh=
ttps"
+SRC_URI_FATFS ?=3D "git://github.com/zephyrproject-rtos/fatfs;protocol=3D=
https"
+SRC_URI_HAL_ALTERA ?=3D "git://github.com/zephyrproject-rtos/hal_altera;=
protocol=3Dhttps"
+SRC_URI_HAL_ATMEL ?=3D "git://github.com/zephyrproject-rtos/hal_atmel;pr=
otocol=3Dhttps"
+SRC_URI_HAL_CYPRESS ?=3D "git://github.com/zephyrproject-rtos/hal_cypres=
s;protocol=3Dhttps"
+SRC_URI_HAL_ESPRESSIF ?=3D "git://github.com/zephyrproject-rtos/hal_espr=
essif;protocol=3Dhttps"
+SRC_URI_HAL_INFINEON ?=3D "git://github.com/zephyrproject-rtos/hal_infin=
eon;protocol=3Dhttps"
+SRC_URI_HAL_MICROCHIP ?=3D "git://github.com/zephyrproject-rtos/hal_micr=
ochip;protocol=3Dhttps"
+SRC_URI_HAL_NORDIC ?=3D "git://github.com/zephyrproject-rtos/hal_nordic;=
protocol=3Dhttps"
+SRC_URI_HAL_NUVOTON ?=3D "git://github.com/zephyrproject-rtos/hal_nuvoto=
n;protocol=3Dhttps"
+SRC_URI_HAL_NXP ?=3D "git://github.com/zephyrproject-rtos/hal_nxp;protoc=
ol=3Dhttps"
+SRC_URI_HAL_OPENISA ?=3D "git://github.com/zephyrproject-rtos/hal_openis=
a;protocol=3Dhttps"
+SRC_URI_HAL_QUICKLOGIC ?=3D "git://github.com/zephyrproject-rtos/hal_qui=
cklogic;protocol=3Dhttps"
+SRC_URI_HAL_SILABS ?=3D "git://github.com/zephyrproject-rtos/hal_silabs;=
protocol=3Dhttps"
+SRC_URI_HAL_ST ?=3D "git://github.com/zephyrproject-rtos/hal_st;protocol=
=3Dhttps"
+SRC_URI_HAL_STM32 ?=3D "git://github.com/zephyrproject-rtos/hal_stm32;pr=
otocol=3Dhttps"
+SRC_URI_HAL_TELINK ?=3D "git://github.com/zephyrproject-rtos/hal_telink;=
protocol=3Dhttps"
+SRC_URI_HAL_TI ?=3D "git://github.com/zephyrproject-rtos/hal_ti;protocol=
=3Dhttps"
+SRC_URI_HAL_XTENSA ?=3D "git://github.com/zephyrproject-rtos/hal_xtensa;=
protocol=3Dhttps"
+SRC_URI_LIBMETAL ?=3D "git://github.com/zephyrproject-rtos/libmetal;prot=
ocol=3Dhttps"
+SRC_URI_LITTLEFS ?=3D "git://github.com/zephyrproject-rtos/littlefs;prot=
ocol=3Dhttps"
+SRC_URI_LORAMAC_NODE ?=3D "git://github.com/zephyrproject-rtos/loramac-n=
ode;protocol=3Dhttps"
+SRC_URI_LVGL ?=3D "git://github.com/zephyrproject-rtos/lvgl;protocol=3Dh=
ttps"
+SRC_URI_LZ4 ?=3D "git://github.com/zephyrproject-rtos/lz4;protocol=3Dhtt=
ps"
+SRC_URI_MBEDTLS ?=3D "git://github.com/zephyrproject-rtos/mbedtls;protoc=
ol=3Dhttps"
+SRC_URI_MCUBOOT ?=3D "git://github.com/zephyrproject-rtos/mcuboot;protoc=
ol=3Dhttps"
+SRC_URI_MCUMGR ?=3D "git://github.com/zephyrproject-rtos/mcumgr;protocol=
=3Dhttps"
+SRC_URI_MIPI_SYS_T ?=3D "git://github.com/zephyrproject-rtos/mipi-sys-t;=
protocol=3Dhttps"
+SRC_URI_NANOPB ?=3D "git://github.com/zephyrproject-rtos/nanopb;protocol=
=3Dhttps"
+SRC_URI_NET_TOOLS ?=3D "git://github.com/zephyrproject-rtos/net-tools;pr=
otocol=3Dhttps"
+SRC_URI_NRF_HW_MODELS ?=3D "git://github.com/zephyrproject-rtos/nrf_hw_m=
odels;protocol=3Dhttps"
+SRC_URI_OPEN_AMP ?=3D "git://github.com/zephyrproject-rtos/open-amp;prot=
ocol=3Dhttps"
+SRC_URI_OPENTHREAD ?=3D "git://github.com/zephyrproject-rtos/openthread;=
protocol=3Dhttps"
+SRC_URI_SEGGER ?=3D "git://github.com/zephyrproject-rtos/segger;protocol=
=3Dhttps"
+SRC_URI_SOF ?=3D "git://github.com/zephyrproject-rtos/sof;protocol=3Dhtt=
ps"
+SRC_URI_TFLITE_MICRO ?=3D "git://github.com/zephyrproject-rtos/tflite-mi=
cro;protocol=3Dhttps"
+SRC_URI_TINYCBOR ?=3D "git://github.com/zephyrproject-rtos/tinycbor;prot=
ocol=3Dhttps"
+SRC_URI_TINYCRYPT ?=3D "git://github.com/zephyrproject-rtos/tinycrypt;pr=
otocol=3Dhttps"
+SRC_URI_TRACERECORDERSOURCE ?=3D "git://github.com/zephyrproject-rtos/Tr=
aceRecorderSource;protocol=3Dhttps"
+SRC_URI_TRUSTED_FIRMWARE_M ?=3D "git://github.com/zephyrproject-rtos/tru=
sted-firmware-m;protocol=3Dhttps"
=20
-SRC_URI:append =3D " \
+SRC_URI_PATCHES ?=3D "\
file://dtc.patch;patchdir=3Dzephyr \
- file://0001-x86-fix-efi-binary-generation-issue-in-cross-compila.pat=
ch;patchdir=3Dzephyr \
file://0001-2.7-cmake-add-yocto-toolchain.patch;patchdir=3Dzephyr \
- git://github.com/zephyrproject-rtos/hal_cypress.git;protocol=3Dhttps=
;nobranch=3D1;destsuffix=3Dgit/modules/hal/cypress;name=3Dcypress \
+ file://0001-2.7-x86-fix-efi-binary-generation-issue-in-cross-compila=
.patch;patchdir=3Dzephyr \
+"
+
+SRC_URI =3D "\
+ ${SRC_URI_ZEPHYR};branch=3D${ZEPHYR_BRANCH};name=3Ddefault;destsuffi=
x=3Dgit/zephyr \
+ ${SRC_URI_CANOPENNODE};name=3Dcanopennode;nobranch=3D1;destsuffix=3D=
git/modules/lib/canopennode \
+ ${SRC_URI_CIVETWEB};name=3Dcivetweb;nobranch=3D1;destsuffix=3Dgit/mo=
dules/lib/civetweb \
+ ${SRC_URI_CMSIS};name=3Dcmsis;nobranch=3D1;destsuffix=3Dgit/modules/=
hal/cmsis \
+ ${SRC_URI_EDTT};name=3Dedtt;nobranch=3D1;destsuffix=3Dgit/tools/edtt=
\
+ ${SRC_URI_FATFS};name=3Dfatfs;nobranch=3D1;destsuffix=3Dgit/modules/=
fs/fatfs \
+ ${SRC_URI_HAL_ALTERA};name=3Dhal_altera;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/altera \
+ ${SRC_URI_HAL_ATMEL};name=3Dhal_atmel;nobranch=3D1;destsuffix=3Dgit/=
modules/hal/atmel \
+ ${SRC_URI_HAL_CYPRESS};name=3Dhal_cypress;nobranch=3D1;destsuffix=3D=
git/modules/hal/cypress \
+ ${SRC_URI_HAL_ESPRESSIF};name=3Dhal_espressif;nobranch=3D1;destsuffi=
x=3Dgit/modules/hal/espressif \
+ ${SRC_URI_HAL_INFINEON};name=3Dhal_infineon;nobranch=3D1;destsuffix=3D=
git/modules/hal/infineon \
+ ${SRC_URI_HAL_MICROCHIP};name=3Dhal_microchip;nobranch=3D1;destsuffi=
x=3Dgit/modules/hal/microchip \
+ ${SRC_URI_HAL_NORDIC};name=3Dhal_nordic;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/nordic \
+ ${SRC_URI_HAL_NUVOTON};name=3Dhal_nuvoton;nobranch=3D1;destsuffix=3D=
git/modules/hal/nuvoton \
+ ${SRC_URI_HAL_NXP};name=3Dhal_nxp;nobranch=3D1;destsuffix=3Dgit/modu=
les/hal/nxp \
+ ${SRC_URI_HAL_OPENISA};name=3Dhal_openisa;nobranch=3D1;destsuffix=3D=
git/modules/hal/openisa \
+ ${SRC_URI_HAL_QUICKLOGIC};name=3Dhal_quicklogic;nobranch=3D1;destsuf=
fix=3Dgit/modules/hal/quicklogic \
+ ${SRC_URI_HAL_SILABS};name=3Dhal_silabs;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/silabs \
+ ${SRC_URI_HAL_ST};name=3Dhal_st;nobranch=3D1;destsuffix=3Dgit/module=
s/hal/st \
+ ${SRC_URI_HAL_STM32};name=3Dhal_stm32;nobranch=3D1;destsuffix=3Dgit/=
modules/hal/stm32 \
+ ${SRC_URI_HAL_TELINK};name=3Dhal_telink;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/telink \
+ ${SRC_URI_HAL_TI};name=3Dhal_ti;nobranch=3D1;destsuffix=3Dgit/module=
s/hal/ti \
+ ${SRC_URI_HAL_XTENSA};name=3Dhal_xtensa;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/xtensa \
+ ${SRC_URI_LIBMETAL};name=3Dlibmetal;nobranch=3D1;destsuffix=3Dgit/mo=
dules/hal/libmetal \
+ ${SRC_URI_LITTLEFS};name=3Dlittlefs;nobranch=3D1;destsuffix=3Dgit/mo=
dules/fs/littlefs \
+ ${SRC_URI_LORAMAC_NODE};name=3Dloramac-node;nobranch=3D1;destsuffix=3D=
git/modules/lib/loramac-node \
+ ${SRC_URI_LVGL};name=3Dlvgl;nobranch=3D1;destsuffix=3Dgit/modules/li=
b/gui/lvgl \
+ ${SRC_URI_LZ4};name=3Dlz4;nobranch=3D1;destsuffix=3Dgit/modules/lib/=
lz4 \
+ ${SRC_URI_MBEDTLS};name=3Dmbedtls;nobranch=3D1;destsuffix=3Dgit/modu=
les/crypto/mbedtls \
+ ${SRC_URI_MCUBOOT};name=3Dmcuboot;nobranch=3D1;destsuffix=3Dgit/boot=
loader/mcuboot \
+ ${SRC_URI_MCUMGR};name=3Dmcumgr;nobranch=3D1;destsuffix=3Dgit/module=
s/lib/mcumgr \
+ ${SRC_URI_MIPI_SYS_T};name=3Dmipi-sys-t;nobranch=3D1;destsuffix=3Dgi=
t/modules/debug/mipi-sys-t \
+ ${SRC_URI_NANOPB};name=3Dnanopb;nobranch=3D1;destsuffix=3Dgit/module=
s/lib/nanopb \
+ ${SRC_URI_NET_TOOLS};name=3Dnet-tools;nobranch=3D1;destsuffix=3Dgit/=
tools/net-tools \
+ ${SRC_URI_NRF_HW_MODELS};name=3Dnrf_hw_models;nobranch=3D1;destsuffi=
x=3Dgit/modules/bsim_hw_models/nrf_hw_models \
+ ${SRC_URI_OPEN_AMP};name=3Dopen-amp;nobranch=3D1;destsuffix=3Dgit/mo=
dules/lib/open-amp \
+ ${SRC_URI_OPENTHREAD};name=3Dopenthread;nobranch=3D1;destsuffix=3Dgi=
t/modules/lib/openthread \
+ ${SRC_URI_SEGGER};name=3Dsegger;nobranch=3D1;destsuffix=3Dgit/module=
s/debug/segger \
+ ${SRC_URI_SOF};name=3Dsof;nobranch=3D1;destsuffix=3Dgit/modules/audi=
o/sof \
+ ${SRC_URI_TFLITE_MICRO};name=3Dtflite-micro;nobranch=3D1;destsuffix=3D=
git/modules/lib/tflite-micro \
+ ${SRC_URI_TINYCBOR};name=3Dtinycbor;nobranch=3D1;destsuffix=3Dgit/mo=
dules/lib/tinycbor \
+ ${SRC_URI_TINYCRYPT};name=3Dtinycrypt;nobranch=3D1;destsuffix=3Dgit/=
modules/crypto/tinycrypt \
+ ${SRC_URI_TRACERECORDERSOURCE};name=3DTraceRecorderSource;nobranch=3D=
1;destsuffix=3Dgit/modules/debug/TraceRecorder \
+ ${SRC_URI_TRUSTED_FIRMWARE_M};name=3Dtrusted-firmware-m;nobranch=3D1=
;destsuffix=3Dgit/modules/tee/tfm \
+ ${SRC_URI_PATCHES} \
+"
+
+ZEPHYR_MODULES =3D "\
+${S}/modules/lib/canopennode\;\
+${S}/modules/lib/civetweb\;\
+${S}/modules/hal/cmsis\;\
+${S}/tools/edtt\;\
+${S}/modules/fs/fatfs\;\
+${S}/modules/hal/altera\;\
+${S}/modules/hal/atmel\;\
+${S}/modules/hal/cypress\;\
+${S}/modules/hal/espressif\;\
+${S}/modules/hal/infineon\;\
+${S}/modules/hal/microchip\;\
+${S}/modules/hal/nordic\;\
+${S}/modules/hal/nuvoton\;\
+${S}/modules/hal/nxp\;\
+${S}/modules/hal/openisa\;\
+${S}/modules/hal/quicklogic\;\
+${S}/modules/hal/silabs\;\
+${S}/modules/hal/st\;\
+${S}/modules/hal/stm32\;\
+${S}/modules/hal/telink\;\
+${S}/modules/hal/ti\;\
+${S}/modules/hal/xtensa\;\
+${S}/modules/hal/libmetal\;\
+${S}/modules/fs/littlefs\;\
+${S}/modules/lib/loramac-node\;\
+${S}/modules/lib/gui/lvgl\;\
+${S}/modules/lib/lz4\;\
+${S}/modules/crypto/mbedtls\;\
+${S}/bootloader/mcuboot\;\
+${S}/modules/lib/mcumgr\;\
+${S}/modules/debug/mipi-sys-t\;\
+${S}/modules/lib/nanopb\;\
+${S}/tools/net-tools\;\
+${S}/modules/bsim_hw_models/nrf_hw_models\;\
+${S}/modules/lib/open-amp\;\
+${S}/modules/lib/openthread\;\
+${S}/modules/debug/segger\;\
+${S}/modules/audio/sof\;\
+${S}/modules/lib/tflite-micro\;\
+${S}/modules/lib/tinycbor\;\
+${S}/modules/crypto/tinycrypt\;\
+${S}/modules/debug/TraceRecorder\;\
+${S}/modules/tee/tfm\;\
"
+
+ZEPHYR_BRANCH =3D "v2.7-branch"
+PV =3D "2.7.3+git${SRCPV}"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-=
src-3.1.0.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kern=
el-src-3.1.0.inc
index c0fe5f2..68016e4 100644
--- a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-3.1=
.0.inc
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-3.1=
.0.inc
@@ -1,20 +1,6 @@
-SRCREV_FORMAT =3D "default_cmsis"
+# Auto-generated from zephyr-kernel-src.inc.jinja
=20
-#
-# Generated with:
-#
-# #!/usr/bin/python3
-#
-# import yaml
-# import sys
-#
-# if __name__ =3D=3D "__main__":
-# with open(sys.argv[1], "r") as fd:
-# data =3D yaml.safe_load(fd)
-#
-# for project in data["manifest"]["projects"]:
-# print("SRCREV_{} =3D \"{}\"".format(project["name"], proje=
ct["revision"]))
-#
+SRCREV_FORMAT =3D "default"
=20
SRCREV_default =3D "2ddd73feafd3316af2c547c34d6969bea637d5c6"
SRCREV_canopennode =3D "53d3415c14d60f8f4bfca54bfbc5d5a667d7e724"
@@ -24,24 +10,24 @@ SRCREV_cmsis =3D "5f86244bad4ad5a590e084f0e72ba7a1416=
c2edf"
SRCREV_edtt =3D "1ea61a390d2bfcf3b2ecdba8f8b0b98dfdffbd11"
SRCREV_fatfs =3D "a30531af3a95a9a3ea7d771ea8a578ebfed45514"
SRCREV_fff =3D "6ce5ba26486e93d5b7696a3e23f0585932c14b16"
-SRCREV_altera =3D "0d225ddd314379b32355a00fb669eacf911e750d"
-SRCREV_atmel =3D "78c5567c05b6b434dd7d98f49156319df4217bac"
-SRCREV_espressif =3D "df85671c5d0405c0747c2939c8dfe808b7e4cf38"
-SRCREV_gigadevice =3D "63a72ca90b7e0d7257211ddc5c79e8c0b940371b"
-SRCREV_infineon =3D "4af06965f57ba1e7d170e6a97d24c33785543a8c"
-SRCREV_microchip =3D "5d079f1683a00b801373bbbbf5d181d4e33b30d5"
-SRCREV_nordic =3D "a85bb3676d61d1ae202088e0d3fec556056b2c9e"
-SRCREV_nuvoton =3D "b4d31f33238713a568e23618845702fadd67386f"
-SRCREV_nxp =3D "2302a1e94f5bc00ce59db4e249b688ad2e959f58"
-SRCREV_openisa =3D "40d049f69c50b58ea20473bee14cf93f518bf262"
-SRCREV_quicklogic =3D "b3a66fe6d04d87fd1533a5c8de51d0599fcd08d0"
-SRCREV_rpi_pico =3D "191f5ba46fda49523cdaaef27583d1c875ba2c36"
-SRCREV_silabs =3D "be39d4eebeddac6e18e9c0c3ba1b31ad1e82eaed"
-SRCREV_st =3D "52a522ca4a8a9ec1e9bb5bb514e1ab6f102863fe"
-SRCREV_stm32 =3D "51b373cd3455b8c2b9babbf6ff41918116a442ac"
-SRCREV_telink =3D "ffcfd6282aa213f1dc0848dbca6279b098f6b143"
-SRCREV_ti =3D "905a5d4134899630071f9383aadaaf266e8f8cd2"
-SRCREV_xtensa =3D "0e577021bb66e644afd067cd9f7c71ab11b62b3d"
+SRCREV_hal_altera =3D "0d225ddd314379b32355a00fb669eacf911e750d"
+SRCREV_hal_atmel =3D "78c5567c05b6b434dd7d98f49156319df4217bac"
+SRCREV_hal_espressif =3D "df85671c5d0405c0747c2939c8dfe808b7e4cf38"
+SRCREV_hal_gigadevice =3D "63a72ca90b7e0d7257211ddc5c79e8c0b940371b"
+SRCREV_hal_infineon =3D "4af06965f57ba1e7d170e6a97d24c33785543a8c"
+SRCREV_hal_microchip =3D "5d079f1683a00b801373bbbbf5d181d4e33b30d5"
+SRCREV_hal_nordic =3D "a85bb3676d61d1ae202088e0d3fec556056b2c9e"
+SRCREV_hal_nuvoton =3D "b4d31f33238713a568e23618845702fadd67386f"
+SRCREV_hal_nxp =3D "2302a1e94f5bc00ce59db4e249b688ad2e959f58"
+SRCREV_hal_openisa =3D "40d049f69c50b58ea20473bee14cf93f518bf262"
+SRCREV_hal_quicklogic =3D "b3a66fe6d04d87fd1533a5c8de51d0599fcd08d0"
+SRCREV_hal_rpi_pico =3D "191f5ba46fda49523cdaaef27583d1c875ba2c36"
+SRCREV_hal_silabs =3D "be39d4eebeddac6e18e9c0c3ba1b31ad1e82eaed"
+SRCREV_hal_st =3D "52a522ca4a8a9ec1e9bb5bb514e1ab6f102863fe"
+SRCREV_hal_stm32 =3D "51b373cd3455b8c2b9babbf6ff41918116a442ac"
+SRCREV_hal_telink =3D "ffcfd6282aa213f1dc0848dbca6279b098f6b143"
+SRCREV_hal_ti =3D "905a5d4134899630071f9383aadaaf266e8f8cd2"
+SRCREV_hal_xtensa =3D "0e577021bb66e644afd067cd9f7c71ab11b62b3d"
SRCREV_libmetal =3D "850a3c3fd5bc655987021dc9106d8e8cd0f7e061"
SRCREV_liblc3codec =3D "3951cf1b71ff3be086c9b9b595e473e12301337c"
SRCREV_littlefs =3D "652f2c5646e79b881e6f3099686ad3b7af9e216c"
@@ -68,10 +54,170 @@ SRCREV_psa-arch-tests =3D "a81f9da287569f169d6002691=
6952641b233faa8"
SRCREV_zcbor =3D "882c489a7d9fdfff31d27666914a78a9eb6976d7"
SRCREV_zscilib =3D "fc979a8dcb74169c69b02835927bff8f070d6325"
=20
-ZEPHYR_BRANCH =3D "v3.1-branch"
-PV =3D "3.1.0+git${SRCPV}"
+SRC_URI_ZEPHYR ?=3D "git://github.com/zephyrproject-rtos/zephyr.git;prot=
ocol=3Dhttps"
+SRC_URI_CANOPENNODE ?=3D "git://github.com/zephyrproject-rtos/canopennod=
e;protocol=3Dhttps"
+SRC_URI_CHRE ?=3D "git://github.com/zephyrproject-rtos/chre;protocol=3Dh=
ttps"
+SRC_URI_CIVETWEB ?=3D "git://github.com/zephyrproject-rtos/civetweb;prot=
ocol=3Dhttps"
+SRC_URI_CMSIS ?=3D "git://github.com/zephyrproject-rtos/cmsis;protocol=3D=
https"
+SRC_URI_EDTT ?=3D "git://github.com/zephyrproject-rtos/edtt;protocol=3Dh=
ttps"
+SRC_URI_FATFS ?=3D "git://github.com/zephyrproject-rtos/fatfs;protocol=3D=
https"
+SRC_URI_FFF ?=3D "git://github.com/zephyrproject-rtos/fff;protocol=3Dhtt=
ps"
+SRC_URI_HAL_ALTERA ?=3D "git://github.com/zephyrproject-rtos/hal_altera;=
protocol=3Dhttps"
+SRC_URI_HAL_ATMEL ?=3D "git://github.com/zephyrproject-rtos/hal_atmel;pr=
otocol=3Dhttps"
+SRC_URI_HAL_ESPRESSIF ?=3D "git://github.com/zephyrproject-rtos/hal_espr=
essif;protocol=3Dhttps"
+SRC_URI_HAL_GIGADEVICE ?=3D "git://github.com/zephyrproject-rtos/hal_gig=
adevice;protocol=3Dhttps"
+SRC_URI_HAL_INFINEON ?=3D "git://github.com/zephyrproject-rtos/hal_infin=
eon;protocol=3Dhttps"
+SRC_URI_HAL_MICROCHIP ?=3D "git://github.com/zephyrproject-rtos/hal_micr=
ochip;protocol=3Dhttps"
+SRC_URI_HAL_NORDIC ?=3D "git://github.com/zephyrproject-rtos/hal_nordic;=
protocol=3Dhttps"
+SRC_URI_HAL_NUVOTON ?=3D "git://github.com/zephyrproject-rtos/hal_nuvoto=
n;protocol=3Dhttps"
+SRC_URI_HAL_NXP ?=3D "git://github.com/zephyrproject-rtos/hal_nxp;protoc=
ol=3Dhttps"
+SRC_URI_HAL_OPENISA ?=3D "git://github.com/zephyrproject-rtos/hal_openis=
a;protocol=3Dhttps"
+SRC_URI_HAL_QUICKLOGIC ?=3D "git://github.com/zephyrproject-rtos/hal_qui=
cklogic;protocol=3Dhttps"
+SRC_URI_HAL_RPI_PICO ?=3D "git://github.com/zephyrproject-rtos/hal_rpi_p=
ico;protocol=3Dhttps"
+SRC_URI_HAL_SILABS ?=3D "git://github.com/zephyrproject-rtos/hal_silabs;=
protocol=3Dhttps"
+SRC_URI_HAL_ST ?=3D "git://github.com/zephyrproject-rtos/hal_st;protocol=
=3Dhttps"
+SRC_URI_HAL_STM32 ?=3D "git://github.com/zephyrproject-rtos/hal_stm32;pr=
otocol=3Dhttps"
+SRC_URI_HAL_TELINK ?=3D "git://github.com/zephyrproject-rtos/hal_telink;=
protocol=3Dhttps"
+SRC_URI_HAL_TI ?=3D "git://github.com/zephyrproject-rtos/hal_ti;protocol=
=3Dhttps"
+SRC_URI_HAL_XTENSA ?=3D "git://github.com/zephyrproject-rtos/hal_xtensa;=
protocol=3Dhttps"
+SRC_URI_LIBMETAL ?=3D "git://github.com/zephyrproject-rtos/libmetal;prot=
ocol=3Dhttps"
+SRC_URI_LIBLC3CODEC ?=3D "git://github.com/zephyrproject-rtos/liblc3code=
c;protocol=3Dhttps"
+SRC_URI_LITTLEFS ?=3D "git://github.com/zephyrproject-rtos/littlefs;prot=
ocol=3Dhttps"
+SRC_URI_LORAMAC_NODE ?=3D "git://github.com/zephyrproject-rtos/loramac-n=
ode;protocol=3Dhttps"
+SRC_URI_LVGL ?=3D "git://github.com/zephyrproject-rtos/lvgl;protocol=3Dh=
ttps"
+SRC_URI_LZ4 ?=3D "git://github.com/zephyrproject-rtos/lz4;protocol=3Dhtt=
ps"
+SRC_URI_MBEDTLS ?=3D "git://github.com/zephyrproject-rtos/mbedtls;protoc=
ol=3Dhttps"
+SRC_URI_MCUBOOT ?=3D "git://github.com/zephyrproject-rtos/mcuboot;protoc=
ol=3Dhttps"
+SRC_URI_MIPI_SYS_T ?=3D "git://github.com/zephyrproject-rtos/mipi-sys-t;=
protocol=3Dhttps"
+SRC_URI_NANOPB ?=3D "git://github.com/zephyrproject-rtos/nanopb;protocol=
=3Dhttps"
+SRC_URI_NET_TOOLS ?=3D "git://github.com/zephyrproject-rtos/net-tools;pr=
otocol=3Dhttps"
+SRC_URI_NRF_HW_MODELS ?=3D "git://github.com/zephyrproject-rtos/nrf_hw_m=
odels;protocol=3Dhttps"
+SRC_URI_OPEN_AMP ?=3D "git://github.com/zephyrproject-rtos/open-amp;prot=
ocol=3Dhttps"
+SRC_URI_OPENTHREAD ?=3D "git://github.com/zephyrproject-rtos/openthread;=
protocol=3Dhttps"
+SRC_URI_SEGGER ?=3D "git://github.com/zephyrproject-rtos/segger;protocol=
=3Dhttps"
+SRC_URI_SOF ?=3D "git://github.com/zephyrproject-rtos/sof;protocol=3Dhtt=
ps"
+SRC_URI_TFLITE_MICRO ?=3D "git://github.com/zephyrproject-rtos/tflite-mi=
cro;protocol=3Dhttps"
+SRC_URI_TINYCBOR ?=3D "git://github.com/zephyrproject-rtos/tinycbor;prot=
ocol=3Dhttps"
+SRC_URI_TINYCRYPT ?=3D "git://github.com/zephyrproject-rtos/tinycrypt;pr=
otocol=3Dhttps"
+SRC_URI_TRACERECORDERSOURCE ?=3D "git://github.com/zephyrproject-rtos/Tr=
aceRecorderSource;protocol=3Dhttps"
+SRC_URI_TRUSTED_FIRMWARE_M ?=3D "git://github.com/zephyrproject-rtos/tru=
sted-firmware-m;protocol=3Dhttps"
+SRC_URI_TF_M_TESTS ?=3D "git://github.com/zephyrproject-rtos/tf-m-tests;=
protocol=3Dhttps"
+SRC_URI_PSA_ARCH_TESTS ?=3D "git://github.com/zephyrproject-rtos/psa-arc=
h-tests;protocol=3Dhttps"
+SRC_URI_ZCBOR ?=3D "git://github.com/zephyrproject-rtos/zcbor;protocol=3D=
https"
+SRC_URI_ZSCILIB ?=3D "git://github.com/zephyrproject-rtos/zscilib;protoc=
ol=3Dhttps"
=20
-SRC_URI +=3D " \
+SRC_URI_PATCHES ?=3D "\
file://0001-3.1-cmake-add-yocto-toolchain.patch;patchdir=3Dzephyr \
file://0001-3.1-x86-fix-efi-binary-generation-issue-in-cross-compila=
.patch;patchdir=3Dzephyr \
"
+
+SRC_URI =3D "\
+ ${SRC_URI_ZEPHYR};branch=3D${ZEPHYR_BRANCH};name=3Ddefault;destsuffi=
x=3Dgit/zephyr \
+ ${SRC_URI_CANOPENNODE};name=3Dcanopennode;nobranch=3D1;destsuffix=3D=
git/modules/lib/canopennode \
+ ${SRC_URI_CHRE};name=3Dchre;nobranch=3D1;destsuffix=3Dgit/modules/li=
b/chre \
+ ${SRC_URI_CIVETWEB};name=3Dcivetweb;nobranch=3D1;destsuffix=3Dgit/mo=
dules/lib/civetweb \
+ ${SRC_URI_CMSIS};name=3Dcmsis;nobranch=3D1;destsuffix=3Dgit/modules/=
hal/cmsis \
+ ${SRC_URI_EDTT};name=3Dedtt;nobranch=3D1;destsuffix=3Dgit/tools/edtt=
\
+ ${SRC_URI_FATFS};name=3Dfatfs;nobranch=3D1;destsuffix=3Dgit/modules/=
fs/fatfs \
+ ${SRC_URI_FFF};name=3Dfff;nobranch=3D1;destsuffix=3Dgit/modules/lib/=
fff \
+ ${SRC_URI_HAL_ALTERA};name=3Dhal_altera;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/altera \
+ ${SRC_URI_HAL_ATMEL};name=3Dhal_atmel;nobranch=3D1;destsuffix=3Dgit/=
modules/hal/atmel \
+ ${SRC_URI_HAL_ESPRESSIF};name=3Dhal_espressif;nobranch=3D1;destsuffi=
x=3Dgit/modules/hal/espressif \
+ ${SRC_URI_HAL_GIGADEVICE};name=3Dhal_gigadevice;nobranch=3D1;destsuf=
fix=3Dgit/modules/hal/gigadevice \
+ ${SRC_URI_HAL_INFINEON};name=3Dhal_infineon;nobranch=3D1;destsuffix=3D=
git/modules/hal/infineon \
+ ${SRC_URI_HAL_MICROCHIP};name=3Dhal_microchip;nobranch=3D1;destsuffi=
x=3Dgit/modules/hal/microchip \
+ ${SRC_URI_HAL_NORDIC};name=3Dhal_nordic;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/nordic \
+ ${SRC_URI_HAL_NUVOTON};name=3Dhal_nuvoton;nobranch=3D1;destsuffix=3D=
git/modules/hal/nuvoton \
+ ${SRC_URI_HAL_NXP};name=3Dhal_nxp;nobranch=3D1;destsuffix=3Dgit/modu=
les/hal/nxp \
+ ${SRC_URI_HAL_OPENISA};name=3Dhal_openisa;nobranch=3D1;destsuffix=3D=
git/modules/hal/openisa \
+ ${SRC_URI_HAL_QUICKLOGIC};name=3Dhal_quicklogic;nobranch=3D1;destsuf=
fix=3Dgit/modules/hal/quicklogic \
+ ${SRC_URI_HAL_RPI_PICO};name=3Dhal_rpi_pico;nobranch=3D1;destsuffix=3D=
git/modules/hal/rpi_pico \
+ ${SRC_URI_HAL_SILABS};name=3Dhal_silabs;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/silabs \
+ ${SRC_URI_HAL_ST};name=3Dhal_st;nobranch=3D1;destsuffix=3Dgit/module=
s/hal/st \
+ ${SRC_URI_HAL_STM32};name=3Dhal_stm32;nobranch=3D1;destsuffix=3Dgit/=
modules/hal/stm32 \
+ ${SRC_URI_HAL_TELINK};name=3Dhal_telink;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/telink \
+ ${SRC_URI_HAL_TI};name=3Dhal_ti;nobranch=3D1;destsuffix=3Dgit/module=
s/hal/ti \
+ ${SRC_URI_HAL_XTENSA};name=3Dhal_xtensa;nobranch=3D1;destsuffix=3Dgi=
t/modules/hal/xtensa \
+ ${SRC_URI_LIBMETAL};name=3Dlibmetal;nobranch=3D1;destsuffix=3Dgit/mo=
dules/hal/libmetal \
+ ${SRC_URI_LIBLC3CODEC};name=3Dliblc3codec;nobranch=3D1;destsuffix=3D=
git/modules/lib/liblc3codec \
+ ${SRC_URI_LITTLEFS};name=3Dlittlefs;nobranch=3D1;destsuffix=3Dgit/mo=
dules/fs/littlefs \
+ ${SRC_URI_LORAMAC_NODE};name=3Dloramac-node;nobranch=3D1;destsuffix=3D=
git/modules/lib/loramac-node \
+ ${SRC_URI_LVGL};name=3Dlvgl;nobranch=3D1;destsuffix=3Dgit/modules/li=
b/gui/lvgl \
+ ${SRC_URI_LZ4};name=3Dlz4;nobranch=3D1;destsuffix=3Dgit/modules/lib/=
lz4 \
+ ${SRC_URI_MBEDTLS};name=3Dmbedtls;nobranch=3D1;destsuffix=3Dgit/modu=
les/crypto/mbedtls \
+ ${SRC_URI_MCUBOOT};name=3Dmcuboot;nobranch=3D1;destsuffix=3Dgit/boot=
loader/mcuboot \
+ ${SRC_URI_MIPI_SYS_T};name=3Dmipi-sys-t;nobranch=3D1;destsuffix=3Dgi=
t/modules/debug/mipi-sys-t \
+ ${SRC_URI_NANOPB};name=3Dnanopb;nobranch=3D1;destsuffix=3Dgit/module=
s/lib/nanopb \
+ ${SRC_URI_NET_TOOLS};name=3Dnet-tools;nobranch=3D1;destsuffix=3Dgit/=
tools/net-tools \
+ ${SRC_URI_NRF_HW_MODELS};name=3Dnrf_hw_models;nobranch=3D1;destsuffi=
x=3Dgit/modules/bsim_hw_models/nrf_hw_models \
+ ${SRC_URI_OPEN_AMP};name=3Dopen-amp;nobranch=3D1;destsuffix=3Dgit/mo=
dules/lib/open-amp \
+ ${SRC_URI_OPENTHREAD};name=3Dopenthread;nobranch=3D1;destsuffix=3Dgi=
t/modules/lib/openthread \
+ ${SRC_URI_SEGGER};name=3Dsegger;nobranch=3D1;destsuffix=3Dgit/module=
s/debug/segger \
+ ${SRC_URI_SOF};name=3Dsof;nobranch=3D1;destsuffix=3Dgit/modules/audi=
o/sof \
+ ${SRC_URI_TFLITE_MICRO};name=3Dtflite-micro;nobranch=3D1;destsuffix=3D=
git/modules/lib/tflite-micro \
+ ${SRC_URI_TINYCBOR};name=3Dtinycbor;nobranch=3D1;destsuffix=3Dgit/mo=
dules/lib/tinycbor \
+ ${SRC_URI_TINYCRYPT};name=3Dtinycrypt;nobranch=3D1;destsuffix=3Dgit/=
modules/crypto/tinycrypt \
+ ${SRC_URI_TRACERECORDERSOURCE};name=3DTraceRecorderSource;nobranch=3D=
1;destsuffix=3Dgit/modules/debug/TraceRecorder \
+ ${SRC_URI_TRUSTED_FIRMWARE_M};name=3Dtrusted-firmware-m;nobranch=3D1=
;destsuffix=3Dgit/modules/tee/tf-m/trusted-firmware-m \
+ ${SRC_URI_TF_M_TESTS};name=3Dtf-m-tests;nobranch=3D1;destsuffix=3Dgi=
t/modules/tee/tf-m/tf-m-tests \
+ ${SRC_URI_PSA_ARCH_TESTS};name=3Dpsa-arch-tests;nobranch=3D1;destsuf=
fix=3Dgit/modules/tee/tf-m/psa-arch-tests \
+ ${SRC_URI_ZCBOR};name=3Dzcbor;nobranch=3D1;destsuffix=3Dgit/modules/=
lib/zcbor \
+ ${SRC_URI_ZSCILIB};name=3Dzscilib;nobranch=3D1;destsuffix=3Dgit/modu=
les/lib/zscilib \
+ ${SRC_URI_PATCHES} \
+"
+
+ZEPHYR_MODULES =3D "\
+${S}/modules/lib/canopennode\;\
+${S}/modules/lib/chre\;\
+${S}/modules/lib/civetweb\;\
+${S}/modules/hal/cmsis\;\
+${S}/tools/edtt\;\
+${S}/modules/fs/fatfs\;\
+${S}/modules/lib/fff\;\
+${S}/modules/hal/altera\;\
+${S}/modules/hal/atmel\;\
+${S}/modules/hal/espressif\;\
+${S}/modules/hal/gigadevice\;\
+${S}/modules/hal/infineon\;\
+${S}/modules/hal/microchip\;\
+${S}/modules/hal/nordic\;\
+${S}/modules/hal/nuvoton\;\
+${S}/modules/hal/nxp\;\
+${S}/modules/hal/openisa\;\
+${S}/modules/hal/quicklogic\;\
+${S}/modules/hal/rpi_pico\;\
+${S}/modules/hal/silabs\;\
+${S}/modules/hal/st\;\
+${S}/modules/hal/stm32\;\
+${S}/modules/hal/telink\;\
+${S}/modules/hal/ti\;\
+${S}/modules/hal/xtensa\;\
+${S}/modules/hal/libmetal\;\
+${S}/modules/lib/liblc3codec\;\
+${S}/modules/fs/littlefs\;\
+${S}/modules/lib/loramac-node\;\
+${S}/modules/lib/gui/lvgl\;\
+${S}/modules/lib/lz4\;\
+${S}/modules/crypto/mbedtls\;\
+${S}/bootloader/mcuboot\;\
+${S}/modules/debug/mipi-sys-t\;\
+${S}/modules/lib/nanopb\;\
+${S}/tools/net-tools\;\
+${S}/modules/bsim_hw_models/nrf_hw_models\;\
+${S}/modules/lib/open-amp\;\
+${S}/modules/lib/openthread\;\
+${S}/modules/debug/segger\;\
+${S}/modules/audio/sof\;\
+${S}/modules/lib/tflite-micro\;\
+${S}/modules/lib/tinycbor\;\
+${S}/modules/crypto/tinycrypt\;\
+${S}/modules/debug/TraceRecorder\;\
+${S}/modules/tee/tf-m/trusted-firmware-m\;\
+${S}/modules/tee/tf-m/tf-m-tests\;\
+${S}/modules/tee/tf-m/psa-arch-tests\;\
+${S}/modules/lib/zcbor\;\
+${S}/modules/lib/zscilib\;\
+"
+
+ZEPHYR_BRANCH =3D "v3.1-branch"
+PV =3D "3.1.0+git${SRCPV}"
diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-=
src.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src=
.inc
index a4bab22..f28d1d4 100644
--- a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src.inc
@@ -9,49 +9,6 @@ inherit cmake
# having an explicit path to the patches directory, will make bitbake fa=
il to
# find the patch(es) in SRC_URI.
FILESEXTRAPATHS:prepend :=3D "${THISDIR}/files:"
-
-SRC_URI =3D "\
- git://github.com/zephyrproject-rtos/zephyr.git;protocol=3Dhttps;bran=
ch=3D${ZEPHYR_BRANCH};name=3Ddefault;destsuffix=3Dgit/zephyr \
- git://github.com/zephyrproject-rtos/canopennode.git;protocol=3Dhttps=
;nobranch=3D1;destsuffix=3Dgit/modules/lib/canopennode;name=3Dcanopennode=
\
- git://github.com/zephyrproject-rtos/civetweb.git;protocol=3Dhttps;no=
branch=3D1;destsuffix=3Dgit/modules/lib/civetweb;name=3Dcivetweb \
- git://github.com/zephyrproject-rtos/cmsis.git;protocol=3Dhttps;nobra=
nch=3D1;destsuffix=3Dgit/modules/hal/cmsis;name=3Dcmsis \
- git://github.com/zephyrproject-rtos/edtt.git;protocol=3Dhttps;nobran=
ch=3D1;destsuffix=3Dgit/tools/edtt;name=3Dedtt \
- git://github.com/zephyrproject-rtos/fatfs.git;protocol=3Dhttps;nobra=
nch=3D1;destsuffix=3Dgit/modules/fs/fatfs;name=3Dfatfs \
- git://github.com/zephyrproject-rtos/hal_altera.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/hal/altera;name=3Daltera \
- git://github.com/zephyrproject-rtos/hal_atmel.git;protocol=3Dhttps;n=
obranch=3D1;destsuffix=3Dgit/modules/hal/atmel;name=3Datmel \
- git://github.com/zephyrproject-rtos/hal_espressif.git;protocol=3Dhtt=
ps;nobranch=3D1;destsuffix=3Dgit/modules/hal/espressif;name=3Despressif \
- git://github.com/zephyrproject-rtos/hal_infineon.git;protocol=3Dhttp=
s;nobranch=3D1;destsuffix=3Dgit/modules/hal/infineon;name=3Dinfineon \
- git://github.com/zephyrproject-rtos/hal_microchip.git;protocol=3Dhtt=
ps;nobranch=3D1;destsuffix=3Dgit/modules/hal/microchip;name=3Dmicrochip \
- git://github.com/zephyrproject-rtos/hal_nordic.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/hal/nordic;name=3Dnordic \
- git://github.com/zephyrproject-rtos/hal_nuvoton.git;protocol=3Dhttps=
;nobranch=3D1;destsuffix=3Dgit/modules/hal/nuvoton;name=3Dnuvoton \
- git://github.com/zephyrproject-rtos/hal_nxp.git;protocol=3Dhttps;nob=
ranch=3D1;destsuffix=3Dgit/modules/hal/nxp;name=3Dnxp \
- git://github.com/zephyrproject-rtos/hal_openisa.git;protocol=3Dhttps=
;nobranch=3D1;destsuffix=3Dgit/modules/hal/openisa;name=3Dopenisa \
- git://github.com/zephyrproject-rtos/hal_quicklogic.git;protocol=3Dht=
tps;nobranch=3D1;destsuffix=3Dgit/modules/hal/quicklogic;name=3Dquicklogi=
c \
- git://github.com/zephyrproject-rtos/hal_silabs.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/hal/silabs;name=3Dsilabs \
- git://github.com/zephyrproject-rtos/hal_st.git;protocol=3Dhttps;nobr=
anch=3D1;destsuffix=3Dgit/modules/hal/st;name=3Dst \
- git://github.com/zephyrproject-rtos/hal_stm32.git;protocol=3Dhttps;n=
obranch=3D1;destsuffix=3Dgit/modules/hal/stm32;name=3Dstm32 \
- git://github.com/zephyrproject-rtos/hal_ti.git;protocol=3Dhttps;nobr=
anch=3D1;destsuffix=3Dgit/modules/hal/ti;name=3Dti \
- git://github.com/zephyrproject-rtos/hal_xtensa.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/hal/xtensa;name=3Dxtensa \
- git://github.com/zephyrproject-rtos/libmetal.git;protocol=3Dhttps;no=
branch=3D1;destsuffix=3Dgit/modules/hal/libmetal;name=3Dlibmetal \
- git://github.com/zephyrproject-rtos/littlefs.git;protocol=3Dhttps;no=
branch=3D1;destsuffix=3Dgit/modules/fs/littlefs;name=3Dlittlefs \
- git://github.com/zephyrproject-rtos/loramac-node.git;protocol=3Dhttp=
s;nobranch=3D1;destsuffix=3Dgit/modules/lib/loramac-node;name=3Dloramac-n=
ode \
- git://github.com/zephyrproject-rtos/lvgl.git;protocol=3Dhttps;nobran=
ch=3D1;destsuffix=3Dgit/modules/lib/gui/lvgl;name=3Dlvgl \
- git://github.com/zephyrproject-rtos/mbedtls.git;protocol=3Dhttps;nob=
ranch=3D1;destsuffix=3Dgit/modules/crypto/mbedtls;name=3Dmbedtls \
- git://github.com/zephyrproject-rtos/mcuboot.git;protocol=3Dhttps;nob=
ranch=3D1;destsuffix=3Dgit/bootloader/mcuboot;name=3Dmcuboot \
- git://github.com/zephyrproject-rtos/mipi-sys-t.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/debug/mipi-sys-t;name=3Dmipi-sys-t =
\
- git://github.com/zephyrproject-rtos/nanopb.git;protocol=3Dhttps;nobr=
anch=3D1;destsuffix=3Dgit/modules/lib/nanopb;name=3Dnanopb \
- git://github.com/zephyrproject-rtos/net-tools.git;protocol=3Dhttps;n=
obranch=3D1;destsuffix=3Dgit/tools/net-tools;name=3Dnet-tools \
- git://github.com/zephyrproject-rtos/nrf_hw_models.git;protocol=3Dhtt=
ps;nobranch=3D1;destsuffix=3Dgit/modules/bsim_hw_models/nrf_hw_models;nam=
e=3Dnrf_hw_models \
- git://github.com/zephyrproject-rtos/open-amp.git;protocol=3Dhttps;no=
branch=3D1;destsuffix=3Dgit/modules/lib/open-amp;name=3Dopen-amp \
- git://github.com/zephyrproject-rtos/openthread.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/lib/openthread;name=3Dopenthread \
- git://github.com/zephyrproject-rtos/segger.git;protocol=3Dhttps;nobr=
anch=3D1;destsuffix=3Dgit/modules/debug/segger;name=3Dsegger \
- git://github.com/zephyrproject-rtos/sof.git;protocol=3Dhttps;nobranc=
h=3D1;destsuffix=3Dgit/modules/audio/sof;name=3Dsof \
- git://github.com/zephyrproject-rtos/tinycbor.git;protocol=3Dhttps;no=
branch=3D1;destsuffix=3Dgit/modules/lib/tinycbor;name=3Dtinycbor \
- git://github.com/zephyrproject-rtos/tinycrypt.git;protocol=3Dhttps;n=
obranch=3D1;destsuffix=3Dgit/modules/crypto/tinycrypt;name=3Dtinycrypt \
- git://github.com/zephyrproject-rtos/hal_telink.git;protocol=3Dhttps;=
nobranch=3D1;destsuffix=3Dgit/modules/hal/telink;name=3Dtelink \
- git://github.com/zephyrproject-rtos/lz4.git;protocol=3Dhttps;nobranc=
h=3D1;destsuffix=3Dgit/modules/lib/lz4;name=3Dlz4 \
- git://github.com/zephyrproject-rtos/tflite-micro.git;protocol=3Dhttp=
s;nobranch=3D1;destsuffix=3Dgit/modules/lib/tflite-micro;name=3Dtflite-mi=
cro \
-"
S =3D "${WORKDIR}/git"
=20
# Default to a stable version
--=20
2.25.1


[meta-zephyr][PATCH 1/4] zephyr-core/scripts: Introduce script to generate new versions

Peter Hoyes
 

From: Peter Hoyes <Peter.Hoyes@...>

Add a Python script which can be used to automatically generate
configuration for new Zephyr versions. This script:
* Takes the Zephyr version as a single argument
* Uses the Github API to find the version tag's SHA1
* Uses West as a library to parse the version's manifest file
* Uses a Jinja template to generate a .inc file for the version
* Outputs the .inc file directly into the zephyr-kernel directory

The generated .inc file includes:
* SRCREVs for all modules
* Separate SRC_URI_x variables for each module, to make it easier to
swap out a specific URL for a fork or mirror
* A version-specific SRC_URI, containing only the modules defined in
the release
* A list of the ZEPHYR_MODULES

Signed-off-by: Peter Hoyes <Peter.Hoyes@...>
---
README.txt | 17 +++++
meta-zephyr-core/scripts/generate-version.py | 73 +++++++++++++++++++
.../scripts/zephyr-kernel-src.inc.jinja | 35 +++++++++
3 files changed, 125 insertions(+)
create mode 100755 meta-zephyr-core/scripts/generate-version.py
create mode 100644 meta-zephyr-core/scripts/zephyr-kernel-src.inc.jinja

diff --git a/README.txt b/README.txt
index 4776a8a..ea129ba 100644
--- a/README.txt
+++ b/README.txt
@@ -125,6 +125,23 @@ you will need to run the above, copy the conf files =
from the deploy dir to the
machine conf directory and then run your build. This shouldn't need to h=
appen=20
often.
=20
+Generating new Zephyr recipe versions
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+The script meta-zephyr-core/scripts/generate-version.py is used to gener=
ate
+Yocto configuration for a Zephyr version from the West configuration in =
the
+Zephyr repository. It requires the west and jinja2 Python packages to be
+installed on the host. Run it as follows:
+
+ $ ./meta-zephyr-core/scripts/generate-version.py x.x.x
+
+where x.x.x is the Zephyr version.
+
+The patch files added to SRC_URI in the generated file should be validat=
ed and
+modified if required.
+
+The new version should be committed and submitted to the mailing list as
+described in "Contributing".
+
Contributing
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=20
diff --git a/meta-zephyr-core/scripts/generate-version.py b/meta-zephyr-c=
ore/scripts/generate-version.py
new file mode 100755
index 0000000..550f8df
--- /dev/null
+++ b/meta-zephyr-core/scripts/generate-version.py
@@ -0,0 +1,73 @@
+#!/usr/bin/env python3
+
+import json
+import pathlib
+import re
+import sys
+import urllib.parse
+import urllib.request
+
+# These non-standard modules must be installed on the host
+import jinja2
+import west.manifest
+
+# This script takes one argument - the Zephyr version in the form x.y.z
+version =3D sys.argv[1]
+if not re.match(r'\d+.\d+.\d+', version):
+ raise ValueError("Please provide a valid Zephyr version")
+
+# Convert the version (x.y.z) into the Git commit SHA using the Github A=
PI
+# This is a two-step process - first obtain the tag SHA
+ref_url =3D f'https://api.github.com/repos/zephyrproject-rtos/zephyr/git=
/refs/tags/v{version}'
+with urllib.request.urlopen(ref_url) as f:
+ ref_data =3D json.load(f)
+ ref_sha =3D ref_data['object']['sha']
+
+# Secondly, obtain the commit SHA of the tag SHA
+tag_url =3D f'https://api.github.com/repos/zephyrproject-rtos/zephyr/git=
/tags/{ref_sha}'
+with urllib.request.urlopen(tag_url) as f:
+ tag_data =3D json.load(f)
+ tag_sha =3D tag_data['object']['sha']
+
+# Obtain the West manifest and decode using west as a library
+manifest_url =3D f'https://raw.githubusercontent.com/zephyrproject-rtos/=
zephyr/v{version}/west.yml'
+with urllib.request.urlopen(manifest_url) as f:
+ source_data =3D f.read().decode()
+ manifest =3D west.manifest.Manifest(source_data=3Dsource_data,
+ import_flags=3Dwest.manifest.ImportFlag.IGNORE)
+ projects =3D manifest.get_projects([])
+
+# projects contains a 'manifest' project for 'self' which we don't want =
to use
+projects =3D list(filter(lambda project: project.name !=3D 'manifest', p=
rojects))
+template_params =3D dict(version=3Dversion, tag_sha=3Dtag_sha, projects=3D=
projects)
+
+def git_url_to_bitbake(url):
+ """
+ A template helper function which converts an URL for a Git repositor=
y into
+ a Bitbake-style URL with a 'protocol' suffix
+ """
+ parts =3D urllib.parse.urlparse(url)
+ original_sceme =3D parts.scheme
+ parts =3D parts._replace(scheme=3D'git')
+ return parts.geturl() + ';protocol=3D' + original_sceme
+
+def bitbake_var(name):
+ """
+ Returns a string suitable for use in a Bitbake variable name
+ """
+ return name.upper().replace('-', '_')
+
+# Set up the Jinja environment
+template_dir =3D pathlib.Path(__file__).parent
+env =3D jinja2.Environment(loader=3Djinja2.FileSystemLoader(template_dir=
))
+env.filters['git_url_to_bitbake'] =3D git_url_to_bitbake
+env.filters['bitbake_var'] =3D bitbake_var
+template =3D env.get_template('zephyr-kernel-src.inc.jinja')
+
+# Output directly to the zephyr-kernel directory
+dest_path =3D pathlib.Path(__file__).parents[1] / 'recipes-kernel' /\
+ 'zephyr-kernel' / f'zephyr-kernel-src-{version}.inc'
+
+# Generate the Bitbake include file
+with open(dest_path, 'w') as f:
+ f.write(template.render(**template_params))
diff --git a/meta-zephyr-core/scripts/zephyr-kernel-src.inc.jinja b/meta-=
zephyr-core/scripts/zephyr-kernel-src.inc.jinja
new file mode 100644
index 0000000..e7981ed
--- /dev/null
+++ b/meta-zephyr-core/scripts/zephyr-kernel-src.inc.jinja
@@ -0,0 +1,35 @@
+# Auto-generated from zephyr-kernel-src.inc.jinja
+{%- set short_version =3D '.'.join(version.split('.')[0:2]) %}
+
+SRCREV_FORMAT =3D "default"
+
+SRCREV_default =3D "{{ tag_sha }}"
+{% for project in projects -%}
+SRCREV_{{ project.name }} =3D "{{ project.revision }}"
+{% endfor %}
+SRC_URI_ZEPHYR ?=3D "git://github.com/zephyrproject-rtos/zephyr.git;prot=
ocol=3Dhttps"
+{%- for project in projects %}
+SRC_URI_{{ project.name | bitbake_var }} ?=3D "{{ project.url | git_url_=
to_bitbake }}"
+{%- endfor %}
+
+SRC_URI_PATCHES ?=3D "\
+ file://0001-{{ short_version }}-cmake-add-yocto-toolchain.patch;patc=
hdir=3Dzephyr \
+ file://0001-{{ short_version }}-x86-fix-efi-binary-generation-issue-=
in-cross-compila.patch;patchdir=3Dzephyr \
+"
+
+SRC_URI =3D "\
+ ${SRC_URI_ZEPHYR};branch=3D${ZEPHYR_BRANCH};name=3Ddefault;destsuffi=
x=3Dgit/zephyr \
+{%- for project in projects %}
+ ${SRC_URI_{{ project.name | bitbake_var }}};name=3D{{ project.name }=
};nobranch=3D1;destsuffix=3Dgit/{{ project.path }} \
+{%- endfor %}
+ ${SRC_URI_PATCHES} \
+"
+
+ZEPHYR_MODULES =3D "\{% for project in projects %}
+${S}/{{ project.path }}\;\
+{%- endfor %}
+"
+
+ZEPHYR_BRANCH =3D "v{{ short_version }}-branch"
+PV =3D "{{ version }}+git${SRCPV}"
+
--=20
2.25.1


[meta-zephyr][PATCH 0/4] Add script for version upgrades

Peter Hoyes
 

From: Peter Hoyes <Peter.Hoyes@...>

This patch chain has been developed on top of the 2.7.3 upgrade patch.

Add a script, generate-version.py, which can be used to automatically=20
generate configuration for new Zephyr versions. Regenerate
configuration for 2.7.3 and 3.1.0 using this script.

This script includes a constant version-specific declaration of
ZEPHYR_MODULES, so the build-time logic to extract ZEPHYR_MODULES is no
longer required. Remove the do_get_zmods task and the West recipe.

Peter Hoyes (4):
zephyr-core/scripts: Introduce script to generate new versions
zephyr-core/zephyr-kernel: Migrate to script-driven version files
zephyr-core/classes: Remove West-based logic from zephyr.bbclass
zephyr-core/zephyr-kernel: Update dtc.patch Upstream-Status

README.txt | 17 ++
meta-zephyr-core/classes/zephyr.bbclass | 32 +--
.../recipes-devtools/west/west_0.12.99.bb | 22 --
...y-generation-issue-in-cross-compila.patch} | 0
.../zephyr-kernel/files/dtc.patch | 2 +-
.../zephyr-kernel/zephyr-kernel-src-2.7.3.inc | 202 +++++++++++++---
.../zephyr-kernel/zephyr-kernel-src-3.1.0.inc | 220 +++++++++++++++---
.../zephyr-kernel/zephyr-kernel-src.inc | 43 ----
meta-zephyr-core/scripts/generate-version.py | 73 ++++++
.../scripts/zephyr-kernel-src.inc.jinja | 35 +++
10 files changed, 474 insertions(+), 172 deletions(-)
delete mode 100644 meta-zephyr-core/recipes-devtools/west/west_0.12.99.b=
b
rename meta-zephyr-core/recipes-kernel/zephyr-kernel/files/{0001-x86-fix=
-efi-binary-generation-issue-in-cross-compila.patch =3D> 0001-2.7-x86-fix=
-efi-binary-generation-issue-in-cross-compila.patch} (100%)
create mode 100755 meta-zephyr-core/scripts/generate-version.py
create mode 100644 meta-zephyr-core/scripts/zephyr-kernel-src.inc.jinja

--=20
2.25.1


Re: [meta-oe][PATCH] externalsrc:git submodule--helper list unsupported

Quentin Schulz
 

Hi John,

On 9/15/22 20:43, John Broadbent via lists.yoctoproject.org wrote:
From: John Edward Broadbent <jebr@...>
Git has removed support for "git submodule--helper list".
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_git_git_commit_31955475d1c283120d5d84247eb3fd55d9f5fdd9&d=DwIBaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=dPWGp0K5l_YXiJ9CQ0xgD9h8jzFwJf2ZGppZSv2ZZUvg_DVFfKt3g2SwAJdk6ATE&s=rTfHjnsYf5vusiYA_lI3L24FBLE9jU_hmbGFPELpuAg&e=
This change provides an alternate method for gathering the submodules
information.
Tested:
Build recipes with and without submodules
Signed-off-by: Carson Labrado <clabrado@...>
Signed-off-by: John Edward Broadbent <jebr@...>
---
meta/classes-recipe/externalsrc.bbclass | 19 ++++++++++---------
meta layer is part of openembedded-core, so please re-send to the correct mailing list following the docs here https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/meta/classes-recipe/externalsrc.bbclass b/meta/classes-recipe/externalsrc.bbclass
index ce753fce76..06a9548a20 100644
--- a/meta/classes-recipe/externalsrc.bbclass
+++ b/meta/classes-recipe/externalsrc.bbclass
@@ -230,15 +230,16 @@ def srctree_hash_files(d, srcdir=None):
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
- submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8")
- for line in submodule_helper.splitlines():
- module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
- if os.path.isdir(module_dir):
- proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
- proc.communicate()
- proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
- stdout, _ = proc.communicate()
- git_sha1 += stdout.decode("utf-8")
+ if os.path.exists(".gitmodules"):
+ submodule_helper = subprocess.check_output(["git", "config", "--file", ".gitmodules", "--get-regexp", "path"], cwd=s_dir, env=env).decode("utf-8")
+ for line in submodule_helper.splitlines():
+ module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
+ if os.path.isdir(module_dir):
+ proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ proc.communicate()
+ proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+ stdout, _ = proc.communicate()
+ git_sha1 += stdout.decode("utf-8")
Are those git commands supported in 1.8.3.1 version of git? I'm asking because this is the minimal version of git we currently advertise as supported. If it is not, then we need to bump this requirement in the docs and check that all currently supported distributions have this new minimal version in their package feed or remove them from the list (which will also impact whether dunfell and kirkstone can receive this patch).

Cheers,
Quentin


[meta-oe][PATCH] externalsrc:git submodule--helper list unsupported

John Broadbent
 

From: John Edward Broadbent <jebr@...>

Git has removed support for "git submodule--helper list".
https://github.com/git/git/commit/31955475d1c283120d5d84247eb3fd55d9f5fdd9

This change provides an alternate method for gathering the submodules
information.

Tested:
Build recipes with and without submodules

Signed-off-by: Carson Labrado <clabrado@...>
Signed-off-by: John Edward Broadbent <jebr@...>
---
meta/classes-recipe/externalsrc.bbclass | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/meta/classes-recipe/externalsrc.bbclass b/meta/classes-recipe/externalsrc.bbclass
index ce753fce76..06a9548a20 100644
--- a/meta/classes-recipe/externalsrc.bbclass
+++ b/meta/classes-recipe/externalsrc.bbclass
@@ -230,15 +230,16 @@ def srctree_hash_files(d, srcdir=None):
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
- submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8")
- for line in submodule_helper.splitlines():
- module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
- if os.path.isdir(module_dir):
- proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
- proc.communicate()
- proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
- stdout, _ = proc.communicate()
- git_sha1 += stdout.decode("utf-8")
+ if os.path.exists(".gitmodules"):
+ submodule_helper = subprocess.check_output(["git", "config", "--file", ".gitmodules", "--get-regexp", "path"], cwd=s_dir, env=env).decode("utf-8")
+ for line in submodule_helper.splitlines():
+ module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
+ if os.path.isdir(module_dir):
+ proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ proc.communicate()
+ proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+ stdout, _ = proc.communicate()
+ git_sha1 += stdout.decode("utf-8")
sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest()
with open(oe_hash_file, 'w') as fobj:
fobj.write(sha1)
--
2.37.3.968.ga6b4b080e4-goog


Re: Importing environmental variables to receipe

Khem Raj
 

On Thu, Sep 15, 2022 at 9:16 AM <vikkramblossoms@...> wrote:

I am working with yocto behind network proxy. Hence I want to pass the proxy variable (http_proxy) to recipe where cmake download some dependency. I tried to pass using BB_ENV_EXTRAWHITE .. but i haven't succeeded. Can someone suggest better option
There are some examples in metadata where we explicitly disable this
download happening during do_configure step via FetchContent cmake
module. Its better to club all downloads in do_fetch so fetcher can
checksum and make sure that it's deterministic.





Importing environmental variables to receipe

vikkramblossoms@...
 

I am working with yocto  behind network proxy. Hence I want to pass the proxy variable (http_proxy) to recipe where cmake download some dependency. I tried to pass using BB_ENV_EXTRAWHITE .. but i haven't succeeded. Can someone suggest better option


#yocto How to configure cgroup related configuration in Yocto build #yocto

Hariom@...
 

Hi,

I want to configure cgroup related configuration in Yocto build. Please guide me how can I configure cgroup during build time.

Regards,
Hariom


How to apply Rt patch in Raspberry-pi image? #raspberrypi #yocto #patch #dunfell #kernel

Nikita Gupta <nikitagupta2509@...>
 

Hello all, 

I have created a basic image of raspberry pi4 with the help of yocto. That is only a bootable image nothing else there (rpi-basic-image). Now I wanted to apply Rt-patch in that. I searched over the internet i am not getting any straight way to do that. Please suggest in me the right direction.
And also eager to know that how to check the difference between them (standard raspberry pi image and Rt patch raspberry pi image) like performance and latency results.

Any output would be appreciated.


Re: install: cannot create regular file Permission denied #dunfell

Quentin Schulz
 

Hi Mahendra,

On 9/14/22 20:16, Mahendra Sondagar wrote:
Hi.. there
Hope all are doing well
I'm working with the Yocto dunfell branch with the STM32MP1
My goal is to add the test.sh script in to the rootfs of the Yocto custom image (in to the bindir)
That's how, i have created the recipes file called "recipes-support"
Inside that, i have created "net-cfg" file
the files under net-cfg file at where, i have kept test.sh file
here is the tree structure
.
└── net-cfg
├── files
│   └── test.sh
└── net-cfg_1.0.bb
I have installed the image with the custom-image.bb file as a
IMAGE_INSTALL += "net-cfg"
The content of the net-cfg_1.0.bb are as follows
--------------------------------------------------------------------------------------
SUMMARY= "Script files for the testing"
SRC_URI = " file://test.sh"
LICENSE = "CLOSED"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/test.sh ${D}${bindir} /
Spurious slash at the end of the line, it tries to install ${WORKDIR}/test.sh and ${D}${bindir} to / (root directory of your build machine).

Just remove it.

Cheers,
Quentin


[meta-zephyr][PATCH] zephyr-kernel/2.7: update to zephyr v2.7.3

Naveen Saini
 

003de78ce0 release: Zephyr 2.7.3
9502d500b6 release: security: Notes for 2.7.3
2a88e08296 release: update v2.7.3 release notes
e1ee34e55c drivers: sensor: sm351lt: Fix global thread triggering bug
2ad1ef651b Bluetooth: host: Fix L2CAP reconfigure response with invalid CID
089675af45 Bluetooth: host: Fix L2CAP reconfigure response with invalid MTU
03ff0d471e net: route: Fix pkt leak if net_send_data() fails
cd96136bcb boards: nucleo_wb55rg: Fix documentation about BLE binary compatibility
567fda57df tests: drivers: can: api: add test for RTR filter matching
b14f356c96 drivers: can: loopback: check frame ID type and RTR bit in filters
874d77bc75 drivers: can: mcux: flexcan: fix handling of RTR frames
ec0befb938 drivers: can: mcan: acknowledge all received frames
273e90a86f scripts: release: list_backports: use older python dict merge method
59dc65a7b4 ci: backports: check if a backport PR has a valid issue
8ff8cafc18 scripts: release: list_backports.py
ba07347b60 scripts: release: use GITHUB_TOKEN and start_date in scripts
e423902617 tests: posix: pthread: test for pthread descriptor leaks
018f836c4d posix: pthread: consider PTHREAD_EXITED state in pthread_create
f4466c4760 tests: cpp: cxx: Add qemu_cortex_a53 as integration platform
9a5cbe3568 tests: cpp: cxx: Test with various types of libc
5b7b15fb2d tests: cpp: cxx: Add dynamic memory availability test for static init
e5a92a1fab tests: cpp: cxx: Add static global constructor invocation test
74f0b6443a lib: libc: newlib: Initialise libc heap during POST_KERNEL phase
6c16b3492b lib: libc: minimal: Initialise libc heap during POST_KERNEL phase
1831431bab lib: posix: semaphore: use consistent timebase in sem_timedwait
765f63c6b9 cmake: remove xtensa workaround in Zephyr toolchain code.
062306fc0b cmake: zephyr toolchain code cleanup
8fcf7f1d78 Revert "cmake: Zephyr sdk backward compatibility with 0.11.1 and 0.11.2"
f06b3d922c Bluetooth: Controller: Fix PHY update for unsupported PHY
b75c012c55 drivers: spi: stm32 spi with dma must enable cs after periph
1efe6de3fe drivers: i2c: Fix infinite recursion in driver unregister function
39270ed4a0 Bluetooth: Mesh: Fix segmentation when sending proxy message
81ffa550ee Bluetooth: Mesh: Check SegN when receiving Transaction Start PDU
8c2965e017 Bluetooth: Mesh: add check for rx buffer overflow in pb adv
7aa38b4ac8 drivers: can: m_can: fix alignmed issues
6dd320f791 release: update v2.7.2 release notes
ecac165d36 logging: shell: fix shell stats null pointer dereference
132d90d1bc tests/bluetooth/tester: Refactor Read UUID callback
58356313ac coredump: adjust mem_region find in gdbstub
99cfd3e4d7 Bluetooth: Controller: Fix per adv scheduling issue
780588bd33 edac: ibecc: Add support for EHL SKU13, SKU14, SKU15

Signed-off-by: Naveen Saini <naveen.kumar.saini@...>
---
...ephyr-kernel-src-2.7.2.inc => zephyr-kernel-src-2.7.3.inc} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta-zephyr-core/recipes-kernel/zephyr-kernel/{zephyr-kernel-src-2.7.2.inc => zephyr-kernel-src-2.7.3.inc} (97%)

diff --git a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.2.inc b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.3.inc
similarity index 97%
rename from meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.2.inc
rename to meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.3.inc
index cbe761f..1c53748 100644
--- a/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.2.inc
+++ b/meta-zephyr-core/recipes-kernel/zephyr-kernel/zephyr-kernel-src-2.7.3.inc
@@ -14,7 +14,7 @@ SRC_URI += " \
# echo SRCREV_$x = \"$rev\"'
#

-SRCREV_default = "6dd320f791c4da49190b30f9134f776d85bc5836"
+SRCREV_default = "003de78ce0dd213a1c7b3d159b967fb19a12aa45"
SRCREV_canopennode = "f167efe85c8c7de886f1bc47f9173cfb8a346bb5"
SRCREV_civetweb = "094aeb41bb93e9199d24d665ee43e9e05d6d7b1c"
SRCREV_cmsis = "b0612c97c1401feeb4160add6462c3627fe90fc7"
@@ -60,7 +60,7 @@ SRCREV_TraceRecorder = "36c577727642457b0db7274298a4b96558374832"
SRCREV_tfm = "c74be3890c9d975976fde1b1a3b2f5742bec34c0"

ZEPHYR_BRANCH = "v2.7-branch"
-PV = "2.7.2+git${SRCPV}"
+PV = "2.7.3+git${SRCPV}"

SRC_URI:append = " \
file://dtc.patch;patchdir=zephyr \
--
2.25.1


Re: install: cannot create regular file Permission denied #dunfell

Steve Sakoman
 

On Wed, Sep 14, 2022 at 8:16 AM Mahendra Sondagar
<mahendrasondagar08@...> wrote:

Hi.. there

Hope all are doing well

I'm working with the Yocto dunfell branch with the STM32MP1
My goal is to add the test.sh script in to the rootfs of the Yocto custom image (in to the bindir)

That's how, i have created the recipes file called "recipes-support"
Inside that, i have created "net-cfg" file
the files under net-cfg file at where, i have kept test.sh file
here is the tree structure

.
└── net-cfg
├── files
│ └── test.sh
└── net-cfg_1.0.bb

I have installed the image with the custom-image.bb file as a
IMAGE_INSTALL += "net-cfg"

The content of the net-cfg_1.0.bb are as follows
--------------------------------------------------------------------------------------
SUMMARY= "Script files for the testing"
SRC_URI = " file://test.sh"

LICENSE = "CLOSED"

do_install() {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/test.sh ${D}${bindir} /
I don't think you intended to have this space here ^

That's why it is attempting to install test.sh to /

Steve

}

FILES_${PN} += "${bindir}/test.sh"

--------------------------------------------------------------------------------------

During the baking the image, i got the error like | install: cannot create regular file '/test.sh': Permission denied

I have attached the full error logs here

Can any one help me here to figure out the issue ?

Thanks
Mahendra




Re: meta-go dependencies #dunfell #golang

Alexander Kanavin
 

You can ask Konrad about it. But please keep the mailing list in CC,
so that the entire conversation remains visible and archived to all.

Alex

On Wed, 14 Sept 2022 at 21:18, Ed Watson <edmundwatson@...> wrote:

Hello,


Great thank very much.
It would appear that there are a lot of dependencies I need under https://github.com/priv-kweihmann/meta-sca
That means at least I don't have to do them all myself.

Thanks



Ed Watson
Tel: +46 702053827



On Wed, 14 Sept 2022 at 20:53, Alexander Kanavin <alex.kanavin@...> wrote:

Right, I don't think such a dedicated layer exists. You may want to go
over the list of dependencies and type them into
http://layers.openembedded.org/layerindex/branch/master/recipes/ to
see if anything comes up.

Otherwise, you just have to list them one by one in SRC_URI, so
bitbake will compose the source tree in a 'vendored' fashion.

Alex

On Wed, 14 Sept 2022 at 20:05, Ed Watson <edmundwatson@...> wrote:

Hello

Sure thanks it is https://github.com/aler9/rtsp-simple-server

Ed Watson




On Wed, 14 Sept 2022 at 19:53, Alexander Kanavin <alex.kanavin@...> wrote:

It helps if you can name the project. Are the sources public?

Alex

On Wed 14. Sep 2022 at 18.42, <edmundwatson@...> wrote:

Hello,


I am trying to include a go project in my yocto build. It has quite a few dependencies. I may have missed something, there is a meta-go around that I have missed? Or a quick way of pulling in multiple dependencies.
Thanks

Edmund Watson


Re: meta-go dependencies #dunfell #golang

Alexander Kanavin
 

Right, I don't think such a dedicated layer exists. You may want to go
over the list of dependencies and type them into
http://layers.openembedded.org/layerindex/branch/master/recipes/ to
see if anything comes up.

Otherwise, you just have to list them one by one in SRC_URI, so
bitbake will compose the source tree in a 'vendored' fashion.

Alex

On Wed, 14 Sept 2022 at 20:05, Ed Watson <edmundwatson@...> wrote:

Hello

Sure thanks it is https://github.com/aler9/rtsp-simple-server

Ed Watson




On Wed, 14 Sept 2022 at 19:53, Alexander Kanavin <alex.kanavin@...> wrote:

It helps if you can name the project. Are the sources public?

Alex

On Wed 14. Sep 2022 at 18.42, <edmundwatson@...> wrote:

Hello,


I am trying to include a go project in my yocto build. It has quite a few dependencies. I may have missed something, there is a meta-go around that I have missed? Or a quick way of pulling in multiple dependencies.
Thanks

Edmund Watson


install: cannot create regular file Permission denied #dunfell

Mahendra Sondagar
 

Hi.. there

Hope all are doing well

I'm working with the Yocto dunfell branch with the STM32MP1
My goal is to add the test.sh script in to the rootfs of the Yocto custom image (in to the bindir)

That's how, i have created the recipes file called "recipes-support"
Inside that, i have created "net-cfg" file
the files under net-cfg file at where, i have kept test.sh file
here is the tree structure

.
└── net-cfg
    ├── files
    │   └── test.sh
    └── net-cfg_1.0.bb

I have installed the image with the custom-image.bb file as a
IMAGE_INSTALL += "net-cfg"

The content of the net-cfg_1.0.bb are as follows
--------------------------------------------------------------------------------------
SUMMARY= "Script files for the testing"
SRC_URI = " file://test.sh"

LICENSE = "CLOSED"

do_install() {
        install -d ${D}${bindir}
        install -m 0755 ${WORKDIR}/test.sh ${D}${bindir} /
}

FILES_${PN} += "${bindir}/test.sh"

--------------------------------------------------------------------------------------

During the baking the image, i got the error like | install: cannot create regular file '/test.sh': Permission denied

I have attached the full error logs here

Can any one help me here to figure out the issue ?

Thanks
Mahendra


Re: meta-go dependencies #dunfell #golang

Ed Watson
 

Hello 

Sure thanks it is https://github.com/aler9/rtsp-simple-server

Ed Watson




On Wed, 14 Sept 2022 at 19:53, Alexander Kanavin <alex.kanavin@...> wrote:
It helps if you can name the project. Are the sources public?

Alex

On Wed 14. Sep 2022 at 18.42, <edmundwatson@...> wrote:
Hello,


I am trying to include a go project in my yocto build. It has quite a few dependencies. I may have missed something, there is a meta-go around that I have missed? Or a quick way of pulling in multiple dependencies. 
Thanks

Edmund Watson



Re: meta-go dependencies #dunfell #golang

Alexander Kanavin
 

It helps if you can name the project. Are the sources public?

Alex

On Wed 14. Sep 2022 at 18.42, <edmundwatson@...> wrote:
Hello,


I am trying to include a go project in my yocto build. It has quite a few dependencies. I may have missed something, there is a meta-go around that I have missed? Or a quick way of pulling in multiple dependencies. 
Thanks

Edmund Watson



meta-go dependencies #dunfell #golang

Ed Watson
 

Hello,


I am trying to include a go project in my yocto build. It has quite a few dependencies. I may have missed something, there is a meta-go around that I have missed? Or a quick way of pulling in multiple dependencies. 
Thanks

Edmund Watson


oeqa problems with >= Python3.8

Hulme, Richard <richard.hulme@...>
 

Hello,

I found an issue when upgrading a box running unit tests that bumped Python from 3.7 to 3.9.

The unit tests themselves are run OK but processing them causes KeyErrors to be raised:

======================================================================
ERROR: test_ping (oeqa.runtime.ping.PingTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File \"/tmp/moduletest/oeqa/oetest.py\", line 114, in tearDown
res = getResults()
File \"/tmp/moduletest/oeqa/utils/decorators.py\", line 43, in __init__
self.faillist = handleList(upperf.f_locals['result'].failures)
KeyError: 'result'

It seems that the problem is in https://git.yoctoproject.org/poky/tree/meta/lib/oeqa/utils/decorators.py?h=master#n25 where it looks for the last frame in the call stack from 'unittest.case' and then assumes that frame must have a local variable called 'result'

upperf = sys._current_frames()[ident]
while (upperf.f_globals['__name__'] != 'unittest.case'):
upperf = upperf.f_back
# deleted a few lines for clarity
self.faillist = handleList(upperf.f_locals['result'].failures)
self.errorlist = handleList(upperf.f_locals['result'].errors)
self.skiplist = handleList(upperf.f_locals['result'].skipped)

That frame will be the one belonging to unittest.case.run but since Python3.8 'run' no longer calls 'tearDown' directly so there is now an additional frame belonging to unittest.case (see https://github.com/python/cpython/commit/4dd3e3f9bbd320f0dd556688e04db0a6b55a7b52)

This change was introduced here https://github.com/python/cpython/commit/4dd3e3f9bbd320f0dd556688e04db0a6b55a7b52 and is tagged with everything from 3.8 beta1 onwards.

Changing the 'while' loop to look for a frame from "unittest.case" *and* that has a local variable called "result" seems to fix the problem:

while (upperf.f_globals['__name__'] != 'unittest.case') or ('result' not in upperf_flocals):

or

while not ((upperf.f_globals['__name__'] == 'unittest.case') and ('result' in upperf.f_locals)):

(depending on your preference for combining negative conditions).

Accessing a local variable in a base class method seems rather ugly and fragile to me but that is perhaps a different issue.

I haven't been able to find any references to anyone else coming across this problem before but Python3.8 hasn't only just been released so surely someone's been hit by this already?

Am I missing something?

Richard