[1/2] optee-ftpm: Migrate to a bbclass

Message ID 168e42a3-0671-493d-a41f-b8975d519105@siemens.com
State New
Headers show
Series [1/2] optee-ftpm: Migrate to a bbclass | expand

Commit Message

Jan Kiszka Dec. 12, 2025, 7:59 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

"inherit optee-ftpm" is shorter and a more common pattern compared to
OE/yocto. Keep the original .inc file as transitional helper, issuing a
warning when it's used with a migration suggestion.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../optee-ftpm.bbclass}                       |  3 +-
 meta/recipes-bsp/optee-ftpm/optee-ftpm.inc    | 65 ++-----------------
 2 files changed, 9 insertions(+), 59 deletions(-)
 copy meta/{recipes-bsp/optee-ftpm/optee-ftpm.inc => classes-recipe/optee-ftpm.bbclass} (96%)

Patch

diff --git a/meta/recipes-bsp/optee-ftpm/optee-ftpm.inc b/meta/classes-recipe/optee-ftpm.bbclass
similarity index 96%
copy from meta/recipes-bsp/optee-ftpm/optee-ftpm.inc
copy to meta/classes-recipe/optee-ftpm.bbclass
index 2c854efc..ba017c5a 100644
--- a/meta/recipes-bsp/optee-ftpm/optee-ftpm.inc
+++ b/meta/classes-recipe/optee-ftpm.bbclass
@@ -6,13 +6,14 @@ 
 #
 # SPDX-License-Identifier: MIT
 #
+
 inherit dpkg
 
 SUMMARY = "OP-TEE fTPM TA"
 DESCRIPTION = "Firmware TPM as OP-TEE TCG TA, using Microsoft's TPM 2.0 reference implementation"
 HOMEPAGE = "https://github.com/OP-TEE/optee_ftpm"
 
-FILESPATH:append := ":${FILE_DIRNAME}/files"
+FILESPATH:append = ":${LAYERDIR_core}/recipes-bsp/optee-ftpm/files"
 
 SRC_URI += "file://debian"
 
diff --git a/meta/recipes-bsp/optee-ftpm/optee-ftpm.inc b/meta/recipes-bsp/optee-ftpm/optee-ftpm.inc
index 2c854efc..992c9122 100644
--- a/meta/recipes-bsp/optee-ftpm/optee-ftpm.inc
+++ b/meta/recipes-bsp/optee-ftpm/optee-ftpm.inc
@@ -1,64 +1,13 @@ 
-# Copyright (c) Siemens AG, 2023-2025
+# Transitional include for optee-ftpm.bbclass
 #
-# Authors:
-#  Su Bao Cheng <baocheng.su@siemens.com>
-#  Jan Kiszka <jan.kiszka@siemens.com>
+# This software is a part of ISAR.
+# Copyright (c) Siemens AG, 2025
 #
 # SPDX-License-Identifier: MIT
-#
-inherit dpkg
-
-SUMMARY = "OP-TEE fTPM TA"
-DESCRIPTION = "Firmware TPM as OP-TEE TCG TA, using Microsoft's TPM 2.0 reference implementation"
-HOMEPAGE = "https://github.com/OP-TEE/optee_ftpm"
-
-FILESPATH:append := ":${FILE_DIRNAME}/files"
-
-SRC_URI += "file://debian"
-
-OPTEE_NAME ?= "${MACHINE}"
-
-DEPENDS = "optee-os-tadevkit-${OPTEE_NAME}"
-DEBIAN_BUILD_DEPENDS ?= " \
-    python3-cryptography:native,                                        \
-    optee-os-tadevkit-${OPTEE_NAME}                                     \
-    "
-
-TA_CPU ?= "unknown"
-TA_DEV_KIT_DIR ?= "unknown"
-OPTEE_FTPM_BUILD_ARGS_EXTRA ?= " "
-
-# Set to the subdir in WORKDIR containing the unpacked ms-tpm-20-ref sources
-# Leave empty for if still using ms-tpm-20-ref for OP-TEE TA integration
-MS_TPM_20_REF_DIR ?= ""
-
-OPTEE_FTPM_SRCDIR = "${@'Samples/ARM32-FirmwareTPM/optee_ta' if d.getVar('MS_TPM_20_REF_DIR') == '' else '.'}"
-OPTEE_FTPM_BINDIR = "${@'Samples/ARM32-FirmwareTPM/optee_ta/fTPM' if d.getVar('MS_TPM_20_REF_DIR') == '' else '.'}"
-
-TEMPLATE_FILES = "debian/rules.tmpl debian/control.tmpl"
-TEMPLATE_VARS += "DEBIAN_BUILD_DEPENDS \
-    DEBIAN_COMPAT \
-    OPTEE_FTPM_BUILD_ARGS_EXTRA \
-    TA_CPU \
-    TA_DEV_KIT_DIR \
-    MS_TPM_20_REF_DIR \
-    OPTEE_FTPM_SRCDIR \
-    DEBIAN_STANDARDS_VERSION"
-
-do_prepare_build() {
-    rm -rf "${S}/debian"
-    cp -r "${WORKDIR}/debian" "${S}/"
-
-    deb_add_changelog
 
-    rm -f ${S}/debian/optee-ftpm-${OPTEE_NAME}.install
-    echo "${OPTEE_FTPM_BINDIR}/out/bc50d971-d4c9-42c4-82cb-343fb7f37896.ta /usr/lib/optee-os/${OPTEE_NAME}/ta" > \
-        ${S}/debian/optee-ftpm-${OPTEE_NAME}.install
-    echo "${OPTEE_FTPM_BINDIR}/out/bc50d971-d4c9-42c4-82cb-343fb7f37896.stripped.elf /usr/lib/optee-os/${OPTEE_NAME}/ta" >> \
-        ${S}/debian/optee-ftpm-${OPTEE_NAME}.install
+inherit optee-ftpm
 
-    if [ -n "${MS_TPM_20_REF_DIR}" ] && [ -e "${WORKDIR}/${MS_TPM_20_REF_DIR}" ]; then
-        rm -rf "${S}/${MS_TPM_20_REF_DIR}"
-        cp -a "${WORKDIR}/${MS_TPM_20_REF_DIR}" "${S}/"
-    fi
+do_warn_custom_inc() {
+    bbwarn "Please migrate from \"require recipes-bsp/optee-ftpm/optee-ftpm.inc\" to \"inherit optee-ftpm\""
 }
+addtask warn_custom_inc before do_unpack