[13/27] optee-os[-tadevkit]-custom: Migrate to bbclass'es

Message ID 2c41d8e09fb52933c4ef2f049d40b812f32aedee.1762170735.git.jan.kiszka@siemens.com
State Under Review
Headers show
Series [01/27] linux-custom: Drop redundant template inheritance | expand

Commit Message

Jan Kiszka Nov. 3, 2025, 11:52 a.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

"inherit optee-os[-tadevkit]" is shorter and a more common pattern
compared to OE/yocto. Keep the original .inc files as transitional
helpers, issuing a warning when they are used with a migration
suggestion.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../optee-os-base.bbclass}                    |  3 +--
 .../optee-os-tadevkit.bbclass}                |  2 +-
 .../optee-os.bbclass}                         |  4 +--
 meta/recipes-bsp/optee-os/optee-os-custom.inc | 19 +++++---------
 .../optee-os/optee-os-tadevkit-custom.inc     | 25 +++++--------------
 5 files changed, 16 insertions(+), 37 deletions(-)
 rename meta/{recipes-bsp/optee-os/optee-os.inc => classes-recipe/optee-os-base.bbclass} (92%)
 copy meta/{recipes-bsp/optee-os/optee-os-tadevkit-custom.inc => classes-recipe/optee-os-tadevkit.bbclass} (97%)
 copy meta/{recipes-bsp/optee-os/optee-os-custom.inc => classes-recipe/optee-os.bbclass} (88%)

Patch

diff --git a/meta/recipes-bsp/optee-os/optee-os.inc b/meta/classes-recipe/optee-os-base.bbclass
similarity index 92%
rename from meta/recipes-bsp/optee-os/optee-os.inc
rename to meta/classes-recipe/optee-os-base.bbclass
index eac75ae8..58305383 100644
--- a/meta/recipes-bsp/optee-os/optee-os.inc
+++ b/meta/classes-recipe/optee-os-base.bbclass
@@ -7,8 +7,7 @@ 
 
 inherit dpkg
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/optee-os/files"
 SRC_URI += "file://debian/"
 
 DESCRIPTION ?= "Custom OP-TEE OS"
diff --git a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc b/meta/classes-recipe/optee-os-tadevkit.bbclass
similarity index 97%
copy from meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
copy to meta/classes-recipe/optee-os-tadevkit.bbclass
index cfb2cfd5..77d63d02 100644
--- a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
+++ b/meta/classes-recipe/optee-os-tadevkit.bbclass
@@ -5,7 +5,7 @@ 
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherit optee-os-base
 
 DEBIAN_PACKAGE_NAME = "optee-os-tadevkit-${OPTEE_NAME}"
 DESCRIPTION:append = ", trust application development kit."
diff --git a/meta/recipes-bsp/optee-os/optee-os-custom.inc b/meta/classes-recipe/optee-os.bbclass
similarity index 88%
copy from meta/recipes-bsp/optee-os/optee-os-custom.inc
copy to meta/classes-recipe/optee-os.bbclass
index abe46e81..48f97bee 100644
--- a/meta/recipes-bsp/optee-os/optee-os-custom.inc
+++ b/meta/classes-recipe/optee-os.bbclass
@@ -1,11 +1,11 @@ 
 # Custom OP-TEE OS build
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2020-2023
+# Copyright (c) Siemens AG, 2020-2025
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherit optee-os-base
 
 DESCRIPTION:append = ", firmware binaries"
 
diff --git a/meta/recipes-bsp/optee-os/optee-os-custom.inc b/meta/recipes-bsp/optee-os/optee-os-custom.inc
index abe46e81..1f4ebf7e 100644
--- a/meta/recipes-bsp/optee-os/optee-os-custom.inc
+++ b/meta/recipes-bsp/optee-os/optee-os-custom.inc
@@ -1,20 +1,13 @@ 
-# Custom OP-TEE OS build
+# Transitional include for optee-os.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2020-2023
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherir optee-os
 
-DESCRIPTION:append = ", firmware binaries"
-
-PROVIDES += "optee-os-${OPTEE_NAME}"
-
-do_prepare_build:append() {
-    rm -f ${S}/debian/optee-os-${OPTEE_NAME}.install
-    for binary in ${OPTEE_BINARIES}; do
-        echo "out/arm-plat-${OPTEE_PLATFORM_BASE}/core/$binary /usr/lib/optee-os/${OPTEE_NAME}/" >> \
-            ${S}/debian/optee-os-${OPTEE_NAME}.install
-    done
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/optee-os/optee-os-custom.inc\" to \"inherit optee-os\""
 }
+addtask warn_custom_inc before do_unpack
diff --git a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc b/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
index cfb2cfd5..bc011567 100644
--- a/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
+++ b/meta/recipes-bsp/optee-os/optee-os-tadevkit-custom.inc
@@ -1,26 +1,13 @@ 
-# Custom OP-TEE OS build for TA devkit
+# Transitional include for optee-os-tadevkit.bbclass
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2023
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
 
-require optee-os.inc
+inherit optee-os-tadevkit
 
-DEBIAN_PACKAGE_NAME = "optee-os-tadevkit-${OPTEE_NAME}"
-DESCRIPTION:append = ", trust application development kit."
-
-PROVIDES += "${DEBIAN_PACKAGE_NAME}"
-
-do_prepare_build:append() {
-    if [ "${DISTRO_ARCH}" = "arm64" ]; then
-        TADEVKIT_DIR="export-ta_arm64"
-    elif [ "${DISTRO_ARCH}" = "armhf" ]; then
-        TADEVKIT_DIR="export-ta_arm32"
-    else
-        bbfatal "${DISTRO_ARCH} does not have a compat arch for optee TA devkit!"
-    fi
-
-    echo "out/arm-plat-${OPTEE_PLATFORM_BASE}/${TADEVKIT_DIR} /usr/lib/optee-os/${OPTEE_NAME}/" > \
-        ${S}/debian/optee-os-tadevkit-${OPTEE_NAME}.install
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/optee-os/optee-os-tadevkit-custom.inc\" to \"inherit optee-os-tadevkit\""
 }
+addtask warn_custom_inc before do_unpack