[PATCH] meta-isar: Use exact matches for COMPATIBLE_MACHINE

5 views
Skip to first unread message

Jan Kiszka

unread,
Dec 12, 2025, 3:04:29 PM (5 days ago) Dec 12
to isar-users
From: Jan Kiszka <jan.k...@siemens.com>

COMPATIBLE_MACHINE is evaluated as regular expression. To avoid wrong
matches in the future or with downstream layers, make sure that we only
match if the current machine is identical to the expected one.

Brackets are not strictly needed for the match but improve readability.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
meta-isar/recipes-bsp/bootconfig-rpi/bootconfig-rpi.bb | 2 +-
.../jh7110-u-boot-spl-tool/jh7110-u-boot-spl-tool_0.2.bb | 2 +-
meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_1.1.bb | 2 +-
.../recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.4.bb | 2 +-
.../recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb | 2 +-
.../optee-examples/optee-examples-stm32mp15x_3.21.0.bb | 2 +-
.../optee-ftpm/optee-ftpm-stm32mp15x_0~230316+git.bb | 2 +-
meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb | 2 +-
meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.inc | 2 +-
.../trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb | 2 +-
.../trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb | 2 +-
meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2025.10.bb | 2 +-
meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb | 2 +-
.../recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb | 2 +-
meta-isar/recipes-bsp/u-boot/u-boot-stm32mp15x_2020.10.bb | 2 +-
meta-isar/recipes-kernel/linux/linux-phy_6.12.58.bb | 2 +-
.../recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb | 2 +-
17 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/meta-isar/recipes-bsp/bootconfig-rpi/bootconfig-rpi.bb b/meta-isar/recipes-bsp/bootconfig-rpi/bootconfig-rpi.bb
index 91ae221d..299e2488 100644
--- a/meta-isar/recipes-bsp/bootconfig-rpi/bootconfig-rpi.bb
+++ b/meta-isar/recipes-bsp/bootconfig-rpi/bootconfig-rpi.bb
@@ -27,4 +27,4 @@ do_install() {
fi
}

-COMPATIBLE_MACHINE = "rpi"
+COMPATIBLE_MACHINE = "^(rpi)$"
diff --git a/meta-isar/recipes-bsp/jh7110-u-boot-spl-tool/jh7110-u-boot-spl-tool_0.2.bb b/meta-isar/recipes-bsp/jh7110-u-boot-spl-tool/jh7110-u-boot-spl-tool_0.2.bb
index 6c998029..30ce7f80 100644
--- a/meta-isar/recipes-bsp/jh7110-u-boot-spl-tool/jh7110-u-boot-spl-tool_0.2.bb
+++ b/meta-isar/recipes-bsp/jh7110-u-boot-spl-tool/jh7110-u-boot-spl-tool_0.2.bb
@@ -19,4 +19,4 @@ do_prepare_build(){
echo "spl_tool usr/bin" > ${S}/debian/${BPN}.install
}

-COMPATIBLE_MACHINE = "starfive-visionfive2"
+COMPATIBLE_MACHINE = "^(starfive-visionfive2)$"
diff --git a/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_1.1.bb b/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_1.1.bb
index b83c27c9..7481eeb3 100644
--- a/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_1.1.bb
+++ b/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_1.1.bb
@@ -15,4 +15,4 @@ DEBIAN_BUILD_DEPENDS = "u-boot-sifive"
OPENSBI_EXTRA_BUILDARGS = "FW_PAYLOAD_PATH=/usr/lib/u-boot/sifive_unleashed/u-boot.bin"
OPENSBI_BIN = "fw_payload.bin"

-COMPATIBLE_MACHINE = "sifive-fu540"
+COMPATIBLE_MACHINE = "^(sifive-fu540)$"
diff --git a/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.4.bb b/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.4.bb
index 0b08a1af..84e3a07f 100644
--- a/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.4.bb
+++ b/meta-isar/recipes-bsp/opensbi/opensbi-starfive-visionfive2_1.4.bb
@@ -15,4 +15,4 @@ S = "${WORKDIR}/opensbi-${PV}"
OPENSBI_EXTRA_BUILDARGS = "FW_TEXT_START=0x40000000 FW_OPTIONS=0"
OPENSBI_BIN = "fw_dynamic.bin"

-COMPATIBLE_MACHINE = "starfive-visionfive2"
+COMPATIBLE_MACHINE = "^(starfive-visionfive2)$"
diff --git a/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb b/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb
index c0a29e01..4f03166f 100644
--- a/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb
+++ b/meta-isar/recipes-bsp/optee-client/optee-client-stm32mp15x_3.21.0.bb
@@ -17,4 +17,4 @@ S = "${WORKDIR}/optee_client-${PV}"
# Use RPMB emulation
RPMB_EMU = "1"

-COMPATIBLE_MACHINE = "stm32mp15x"
+COMPATIBLE_MACHINE = "^(stm32mp15x)$"
diff --git a/meta-isar/recipes-bsp/optee-examples/optee-examples-stm32mp15x_3.21.0.bb b/meta-isar/recipes-bsp/optee-examples/optee-examples-stm32mp15x_3.21.0.bb
index 013153c4..f04f8842 100644
--- a/meta-isar/recipes-bsp/optee-examples/optee-examples-stm32mp15x_3.21.0.bb
+++ b/meta-isar/recipes-bsp/optee-examples/optee-examples-stm32mp15x_3.21.0.bb
@@ -99,4 +99,4 @@ do_prepare_build() {
${S}/debian/${PN}-secure-storage-host.install
}

-COMPATIBLE_MACHINE = "stm32mp15x"
+COMPATIBLE_MACHINE = "^(stm32mp15x)$"
diff --git a/meta-isar/recipes-bsp/optee-ftpm/optee-ftpm-stm32mp15x_0~230316+git.bb b/meta-isar/recipes-bsp/optee-ftpm/optee-ftpm-stm32mp15x_0~230316+git.bb
index 215273c5..1cf93f03 100644
--- a/meta-isar/recipes-bsp/optee-ftpm/optee-ftpm-stm32mp15x_0~230316+git.bb
+++ b/meta-isar/recipes-bsp/optee-ftpm/optee-ftpm-stm32mp15x_0~230316+git.bb
@@ -31,4 +31,4 @@ do_prepare_build:append() {
cp -a ${S}/../wolfssl-${SRCREV-wolfssl} ${S}/external/wolfssl
}

-COMPATIBLE_MACHINE = "stm32mp15x"
+COMPATIBLE_MACHINE = "^(stm32mp15x)$"
diff --git a/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb b/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb
index db46d481..8a04c3f4 100644
--- a/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb
+++ b/meta-isar/recipes-bsp/optee-os/optee-os-beagleplay_4.0.0.bb
@@ -17,4 +17,4 @@ OPTEE_EXTRA_BUILDARGS = " \
TEE_IMPL_VERSION=${PV} \
CFG_ARM64_core=y CFG_USER_TA_TARGETS=ta_arm64"

-COMPATIBLE_MACHINE = "beagleplay"
+COMPATIBLE_MACHINE = "^(beagleplay)$"
diff --git a/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.inc b/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.inc
index 2f55f36f..c82449b1 100644
--- a/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.inc
+++ b/meta-isar/recipes-bsp/optee-os/optee-os-stm32mp15x_3.21.0.inc
@@ -17,4 +17,4 @@ OPTEE_EXTRA_BUILDARGS = " \
CFG_TEE_CORE_LOG_LEVEL=2"
OPTEE_BINARIES = "tee-header_v2.stm32 tee-pageable_v2.stm32 tee-pager_v2.stm32"

-COMPATIBLE_MACHINE = "stm32mp15x"
+COMPATIBLE_MACHINE = "^(stm32mp15x)$"
diff --git a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb
index 156907e0..33c717d5 100644
--- a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb
+++ b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-beagleplay_2.10.bb
@@ -14,4 +14,4 @@ TF_A_PLATFORM = "k3"
TF_A_EXTRA_BUILDARGS = "CFG_ARM64=y TARGET_BOARD=lite SPD=opteed"
TF_A_BINARIES = "lite/release/bl31.bin"

-COMPATIBLE_MACHINE = "beagleplay"
+COMPATIBLE_MACHINE = "^(beagleplay)$"
diff --git a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb
index a74b1dc5..aa62253d 100644
--- a/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb
+++ b/meta-isar/recipes-bsp/trusted-firmware-a/trusted-firmware-a-stm32mp15x_2.4.bb
@@ -20,4 +20,4 @@ TF_A_EXTRA_BUILDARGS = " \
DTB_FILE_NAME=stm32mp157c-ev1.dtb"
TF_A_BINARIES = "release/tf-a-stm32mp157c-ev1.stm32"

-COMPATIBLE_MACHINE = "stm32mp15x"
+COMPATIBLE_MACHINE = "^(stm32mp15x)$"
diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2025.10.bb b/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2025.10.bb
index 966d7807..6d0f0c76 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2025.10.bb
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-beagleplay_2025.10.bb
@@ -22,7 +22,7 @@ SRC_URI[dm.sha256sum] = "0748804446dc79a8f9564f2d734d1f4346639a55e667707714c11e6

S = "${WORKDIR}/u-boot-${PV}"

-COMPATIBLE_MACHINE = "beagleplay"
+COMPATIBLE_MACHINE = "^(beagleplay)$"

U_BOOT_BIN_INSTALL = "tiboot3-am62x-gp-evm.bin tispl.bin_unsigned u-boot.img_unsigned"

diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb b/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb
index cd9369e5..feecd96d 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-de0-nano-soc_2020.10.bb
@@ -8,4 +8,4 @@ require u-boot-${PV}.inc
# Just for testing purposes, distro package would be recent enough
U_BOOT_TOOLS_PACKAGE = "1"

-COMPATIBLE_MACHINE = "de0-nano-soc"
+COMPATIBLE_MACHINE = "^(de0-nano-soc)$"
diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb
index 095d9fc4..9972803b 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-starfive-visionfive2_2024.01.bb
@@ -5,7 +5,7 @@

inherit u-boot

-COMPATIBLE_MACHINE = "starfive-visionfive2"
+COMPATIBLE_MACHINE = "^(starfive-visionfive2)$"

SRC_URI += "https://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 \
file://0001-scripts-dtc-pylibfdt-libfdt.i_shipped-Use-SWIG_Appen.patch \
diff --git a/meta-isar/recipes-bsp/u-boot/u-boot-stm32mp15x_2020.10.bb b/meta-isar/recipes-bsp/u-boot/u-boot-stm32mp15x_2020.10.bb
index fddeb52f..aab67bf1 100644
--- a/meta-isar/recipes-bsp/u-boot/u-boot-stm32mp15x_2020.10.bb
+++ b/meta-isar/recipes-bsp/u-boot/u-boot-stm32mp15x_2020.10.bb
@@ -9,4 +9,4 @@ SRC_URI += " \
file://0001-fdtdec-optionally-add-property-no-map-to-created-res.patch \
file://0002-optee-add-property-no-map-to-secure-reserved-memory.patch"

-COMPATIBLE_MACHINE = "stm32mp15x"
+COMPATIBLE_MACHINE = "^(stm32mp15x)$"
diff --git a/meta-isar/recipes-kernel/linux/linux-phy_6.12.58.bb b/meta-isar/recipes-kernel/linux/linux-phy_6.12.58.bb
index 0ee6eea9..a61befe2 100644
--- a/meta-isar/recipes-kernel/linux/linux-phy_6.12.58.bb
+++ b/meta-isar/recipes-kernel/linux/linux-phy_6.12.58.bb
@@ -11,4 +11,4 @@ KERNEL_DEFCONFIG = "imx_v6_v7_defconfig"

LINUX_VERSION_EXTENSION = "-isar"

-COMPATIBLE_MACHINE = "phyboard-mira"
+COMPATIBLE_MACHINE = "^(phyboard-mira)$"
diff --git a/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb b/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb
index 41e2c308..44f707c3 100644
--- a/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb
+++ b/meta-isar/recipes-kernel/linux/linux-starfive_6.6.20-visionfive2.bb
@@ -19,4 +19,4 @@ KERNEL_DEFCONFIG = "starfive_visionfive2_defconfig"

LINUX_VERSION_EXTENSION = "-isar"

-COMPATIBLE_MACHINE = "starfive-visionfive2"
+COMPATIBLE_MACHINE = "^(starfive-visionfive2)$"
--
2.51.0

Anton Mikanovich

unread,
Dec 16, 2025, 4:41:35 AM (yesterday) Dec 16
to Jan Kiszka, isar-users
Hello Jan,
We have different rpi machines (rpi-arm, rpi-arm-v7, rpi-arm-v7l,
rpi-arm64-v8, rpi-arm64-v8-efi),
so here it was really used for multiple machines.
We should have more complex regexp for bootconfig recipe here.

Jan Kiszka

unread,
Dec 16, 2025, 6:24:05 AM (yesterday) Dec 16
to Anton Mikanovich, isar-users
So "^rpi-arm.*" then? Just "rpi" was highly risky for downstream.

Jan

--
Siemens AG, Foundational Technologies
Linux Expert Center
Reply all
Reply to author
Forward
0 new messages