[meta-arm,2/6] optee: upgraded recipes to 3.10

Submitted by brett.warren@arm.com on Oct. 14, 2020, 11:33 a.m. | Patch ID: 177242

Details

Message ID 8kyH.1602675228543077329.RykC@lists.yoctoproject.org
State New
Headers show

Commit Message

brett.warren@arm.com Oct. 14, 2020, 11:33 a.m.
The optee recipes were upgraded due to issues booting with 3.8
on qemuarm64-secureboot, which were resolved by the upgrade.
The 3.8 recipes are retained for backwards compatibility.

optee-test and optee-examples were modified to pass a sysroot
to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
of the libgcc library.

Recipes have been renamed to reflect their current version.
As this makes the PV variables redundent, these have been removed.

Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
Signed-off-by: Brett Warren <brett.warren@arm.com>
---
.../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
.../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
.../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
.../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
.../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
8 files changed, 251 insertions(+), 8 deletions(-)
create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)

--
2.17.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1197): https://lists.yoctoproject.org/g/meta-arm/message/1197
Mute This Topic: https://lists.yoctoproject.org/mt/77503203/3617530
Group Owner: meta-arm+owner@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [oe-patchwork@oe-patch.openembedded.org]
-=-=-=-=-=-=-=-=-=-=-=-

Patch hide | download patch | download mbox

diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
new file mode 100644
index 0000000..cbd3b93
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
@@ -0,0 +1,59 @@ 
+SUMMARY = "OP-TEE Client API"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
+
+require optee.inc
+
+inherit python3native systemd update-rc.d
+
+SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
+SRC_URI = " \
+    git://github.com/OP-TEE/optee_client.git \
+    file://tee-supplicant.service \
+    file://tee-supplicant.sh \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+EXTRA_OEMAKE = "O=${B}"
+
+do_compile() {
+    cd ${S}
+    oe_runmake
+}
+do_compile[cleandirs] = "${B}"
+
+do_install() {
+    cd ${S}
+    oe_runmake install
+
+    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
+
+    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
+    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
+    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
+
+    install -d ${D}${includedir}
+    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
+
+    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
+
+    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
+
+    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
+           -e s:@sbindir@:${sbindir}:g \
+              ${D}${systemd_system_unitdir}/tee-supplicant.service \
+              ${D}${sysconfdir}/init.d/tee-supplicant
+}
+
+SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
+
+INITSCRIPT_PACKAGES = "${PN}"
+
+INITSCRIPT_NAME_${PN} = "tee-supplicant"
+INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
+
diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
similarity index 98%
rename from meta-arm/recipes-security/optee/optee-client_git.bb
rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
index 5dbbfe9..d43ebf4 100644
--- a/meta-arm/recipes-security/optee/optee-client_git.bb
+++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
@@ -5,8 +5,6 @@  HOMEPAGE = "https://www.op-tee.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"

-PV = "3.8.0+git${SRCPV}"
-
require optee.inc

inherit python3native systemd update-rc.d
diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
new file mode 100644
index 0000000..4a7db10
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
@@ -0,0 +1,52 @@ 
+SUMMARY = "OP-TEE examples"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
+HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
+
+DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
+
+inherit python3native
+
+require optee.inc
+
+SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
+           file://0001-make-Pass-ldflags-during-link.patch \
+           "
+SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
+
+EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+                 TEEC_EXPORT=${TEEC_EXPORT} \
+                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
+                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+                 V=1 \
+                 OUTPUT_DIR=${B} \
+               "
+
+do_compile() {
+    cd ${S}
+    oe_runmake
+}
+do_compile[cleandirs] = "${B}"
+
+do_install () {
+    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
+    mkdir -p ${D}${bindir}
+    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
+    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
+}
+
+FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
+
+# Imports machine specific configs from staging to build
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
similarity index 95%
rename from meta-arm/recipes-security/optee/optee-examples_git.bb
rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
index 71be593..7ed3dfa 100644
--- a/meta-arm/recipes-security/optee/optee-examples_git.bb
+++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
@@ -5,8 +5,6 @@  HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"

-PV = "3.8.0+git${SRCPV}"
-
DEPENDS = "optee-client optee-os python3-pycryptodomex-native"

inherit python3native
@@ -30,6 +28,7 @@  EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
TEEC_EXPORT=${TEEC_EXPORT} \
HOST_CROSS_COMPILE=${TARGET_PREFIX} \
TA_CROSS_COMPILE=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
V=1 \
OUTPUT_DIR=${B} \
"
diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
new file mode 100644
index 0000000..369e011
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
@@ -0,0 +1,83 @@ 
+SUMMARY = "OP-TEE Trusted OS"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
+
+inherit deploy python3native
+require optee.inc
+
+DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
+
+SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
+SRC_URI = " \
+    git://github.com/OP-TEE/optee_os.git \
+    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEEMACHINE ?= "${MACHINE}"
+OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
+OPTEE_ARCH = "null"
+OPTEE_ARCH_armv7a = "arm32"
+OPTEE_ARCH_aarch64 = "arm64"
+OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
+
+EXTRA_OEMAKE = " \
+    PLATFORM=${OPTEEMACHINE} \
+    CFG_${OPTEE_CORE}_core=y \
+    CROSS_COMPILE_core=${HOST_PREFIX} \
+    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
+    NOWERROR=1 \
+    V=1 \
+    ta-targets=ta_${OPTEE_ARCH} \
+    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+    O=${B} \
+"
+
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+CPPFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+    cd ${S}
+    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
+}
+do_compile[cleandirs] = "${B}"
+
+do_install() {
+    #install core in firmware
+    install -d ${D}${nonarch_base_libdir}/firmware/
+    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
+
+    #install TA devkit
+    install -d ${D}${includedir}/optee/export-user_ta/
+    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
+        cp -aR $f ${D}${includedir}/optee/export-user_ta/
+    done
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_deploy() {
+    install -d ${DEPLOYDIR}/optee
+    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
+}
+
+addtask deploy before do_build after do_install
+
+SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
+
+FILES_${PN} = "${nonarch_base_libdir}/firmware/"
+FILES_${PN}-dev = "${includedir}/optee/"
+
+INSANE_SKIP_${PN}-dev = "staticdev"
+
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
similarity index 98%
rename from meta-arm/recipes-security/optee/optee-os_git.bb
rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
index deeb515..0001271 100644
--- a/meta-arm/recipes-security/optee/optee-os_git.bb
+++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
@@ -5,8 +5,6 @@  HOMEPAGE = "https://www.op-tee.org/"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"

-PV = "3.8.0+git${SRCPV}"
-
inherit deploy python3native
require optee.inc

diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
new file mode 100644
index 0000000..96e612a
--- /dev/null
+++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
@@ -0,0 +1,55 @@ 
+SUMMARY = "OP-TEE sanity testsuite"
+DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
+HOMEPAGE = "https://www.op-tee.org/"
+
+LICENSE = "BSD & GPLv2"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
+
+inherit python3native
+require optee.inc
+
+DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
+
+SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
+SRC_URI = "git://github.com/OP-TEE/optee_test.git \
+           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
+          "
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
+TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
+TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
+
+EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+                 TEEC_EXPORT=${TEEC_EXPORT} \
+                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
+                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
+                 V=1 \
+                 O=${B} \
+               "
+
+do_compile() {
+    cd ${S}
+    # Top level makefile doesn't seem to handle parallel make gracefully
+    oe_runmake xtest
+    oe_runmake ta
+}
+do_compile[cleandirs] = "${B}"
+
+do_install () {
+    install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
+
+    # install path should match the value set in optee-client/tee-supplicant
+    # default TEEC_LOAD_PATH is /lib
+    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
+    install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
+}
+
+FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
+
+# Imports machine specific configs from staging to build
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
similarity index 96%
rename from meta-arm/recipes-security/optee/optee-test_git.bb
rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
index 957286c..65e6cd1 100644
--- a/meta-arm/recipes-security/optee/optee-test_git.bb
+++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
@@ -10,8 +10,6 @@  require optee.inc

DEPENDS = "optee-client optee-os python3-pycryptodomex-native"

-PV = "3.8.0+git${SRCPV}"
-
SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
SRC_URI = "git://github.com/OP-TEE/optee_test.git \
file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
@@ -29,6 +27,7 @@  EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
TEEC_EXPORT=${TEEC_EXPORT} \
CROSS_COMPILE_HOST=${TARGET_PREFIX} \
CROSS_COMPILE_TA=${TARGET_PREFIX} \
+                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
V=1 \
O=${B} \
"

Comments

Ricardo Salveti Oct. 14, 2020, 3:31 p.m.
On Wed, Oct 14, 2020 at 8:33 AM Brett Warren <brett.warren@arm.com> wrote:
>
> The optee recipes were upgraded due to issues booting with 3.8
> on qemuarm64-secureboot, which were resolved by the upgrade.
> The 3.8 recipes are retained for backwards compatibility.
>
> optee-test and optee-examples were modified to pass a sysroot
> to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> of the libgcc library.
>
> Recipes have been renamed to reflect their current version.
> As this makes the PV variables redundent, these have been removed.

OP-TEE 3.11.0 should be released in a few days (if not tomorrow), so
wonder if it would be just better to move to that revision instead?

https://github.com/OP-TEE/optee_os/pull/4101

Then we won't have to keep 3.10.0 around, as done with 3.8.0.

Cheers,
Denys Dmytriyenko Oct. 14, 2020, 3:58 p.m.
Maybe passing --find-copies-harder would yield a smaller and more readable 
patch (i.e. diff between 3.8 and 3.10)?

Also, are there any details on backward compatibility needs to preserve 3.8?

Thanks.
Jon Mason Oct. 16, 2020, 12:54 p.m.
On Wed, Oct 14, 2020 at 11:58:48AM -0400, Denys Dmytriyenko wrote:
> Maybe passing --find-copies-harder would yield a smaller and more readable 
> patch (i.e. diff between 3.8 and 3.10)?
> 
> Also, are there any details on backward compatibility needs to preserve 3.8?

I have not heard anyone asking to keep 3.8 around, but I also don't
know of any users of OPTEE in meta-arm.  My logic in asking Brett to
convert the existing recipe to 3.8 is to allow for it to be used in
case there are unknown users.

After making the gatestgarth release, I plan on dropping older
versions of recipes (like OPTEE 3.8) unless some says they need it.

Thanks,
Jon

> 
> Thanks.
> 
> -- 
> Denys
> 
> 
> On Wed, Oct 14, 2020 at 04:33:48AM -0700, Brett Warren wrote:
> > The optee recipes were upgraded due to issues booting with 3.8
> > on qemuarm64-secureboot, which were resolved by the upgrade.
> > The 3.8 recipes are retained for backwards compatibility.
> > 
> > optee-test and optee-examples were modified to pass a sysroot
> > to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> > of the libgcc library.
> > 
> > Recipes have been renamed to reflect their current version.
> > As this makes the PV variables redundent, these have been removed.
> > 
> > Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
> > Signed-off-by: Brett Warren <brett.warren@arm.com>
> > ---
> > .../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
> > ...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
> > .../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
> > ...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
> > .../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
> > .../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
> > .../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
> > ...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
> > 8 files changed, 251 insertions(+), 8 deletions(-)
> > create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > new file mode 100644
> > index 0000000..cbd3b93
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > @@ -0,0 +1,59 @@
> > +SUMMARY = "OP-TEE Client API"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > +
> > +require optee.inc
> > +
> > +inherit python3native systemd update-rc.d
> > +
> > +SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_client.git \
> > +    file://tee-supplicant.service \
> > +    file://tee-supplicant.sh \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +EXTRA_OEMAKE = "O=${B}"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    cd ${S}
> > +    oe_runmake install
> > +
> > +    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
> > +
> > +    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
> > +
> > +    install -d ${D}${includedir}
> > +    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
> > +
> > +    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
> > +
> > +    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
> > +
> > +    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
> > +           -e s:@sbindir@:${sbindir}:g \
> > +              ${D}${systemd_system_unitdir}/tee-supplicant.service \
> > +              ${D}${sysconfdir}/init.d/tee-supplicant
> > +}
> > +
> > +SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
> > +
> > +INITSCRIPT_PACKAGES = "${PN}"
> > +
> > +INITSCRIPT_NAME_${PN} = "tee-supplicant"
> > +INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
> > +
> > diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-client_git.bb
> > rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > index 5dbbfe9..d43ebf4 100644
> > --- a/meta-arm/recipes-security/optee/optee-client_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > require optee.inc
> > 
> > inherit python3native systemd update-rc.d
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > new file mode 100644
> > index 0000000..4a7db10
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > @@ -0,0 +1,52 @@
> > +SUMMARY = "OP-TEE examples"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
> > +HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > +
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +inherit python3native
> > +
> > +require optee.inc
> > +
> > +SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
> > +           file://0001-make-Pass-ldflags-during-link.patch \
> > +           "
> > +SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 OUTPUT_DIR=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
> > +    mkdir -p ${D}${bindir}
> > +    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
> > +    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > similarity index 95%
> > rename from meta-arm/recipes-security/optee/optee-examples_git.bb
> > rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > index 71be593..7ed3dfa 100644
> > --- a/meta-arm/recipes-security/optee/optee-examples_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > LICENSE = "GPLv2"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > inherit python3native
> > @@ -30,6 +28,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > OUTPUT_DIR=${B} \
> > "
> > diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > new file mode 100644
> > index 0000000..369e011
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > @@ -0,0 +1,83 @@
> > +SUMMARY = "OP-TEE Trusted OS"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > +
> > +inherit deploy python3native
> > +require optee.inc
> > +
> > +DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
> > +
> > +SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_os.git \
> > +    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEEMACHINE ?= "${MACHINE}"
> > +OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
> > +OPTEE_ARCH = "null"
> > +OPTEE_ARCH_armv7a = "arm32"
> > +OPTEE_ARCH_aarch64 = "arm64"
> > +OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
> > +
> > +EXTRA_OEMAKE = " \
> > +    PLATFORM=${OPTEEMACHINE} \
> > +    CFG_${OPTEE_CORE}_core=y \
> > +    CROSS_COMPILE_core=${HOST_PREFIX} \
> > +    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
> > +    NOWERROR=1 \
> > +    V=1 \
> > +    ta-targets=ta_${OPTEE_ARCH} \
> > +    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +    O=${B} \
> > +"
> > +
> > +CFLAGS[unexport] = "1"
> > +LDFLAGS[unexport] = "1"
> > +CPPFLAGS[unexport] = "1"
> > +AS[unexport] = "1"
> > +LD[unexport] = "1"
> > +
> > +do_configure[noexec] = "1"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    #install core in firmware
> > +    install -d ${D}${nonarch_base_libdir}/firmware/
> > +    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
> > +
> > +    #install TA devkit
> > +    install -d ${D}${includedir}/optee/export-user_ta/
> > +    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
> > +        cp -aR $f ${D}${includedir}/optee/export-user_ta/
> > +    done
> > +}
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > +
> > +do_deploy() {
> > +    install -d ${DEPLOYDIR}/optee
> > +    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
> > +}
> > +
> > +addtask deploy before do_build after do_install
> > +
> > +SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
> > +
> > +FILES_${PN} = "${nonarch_base_libdir}/firmware/"
> > +FILES_${PN}-dev = "${includedir}/optee/"
> > +
> > +INSANE_SKIP_${PN}-dev = "staticdev"
> > +
> > +INHIBIT_PACKAGE_STRIP = "1"
> > diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-os_git.bb
> > rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > index deeb515..0001271 100644
> > --- a/meta-arm/recipes-security/optee/optee-os_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > inherit deploy python3native
> > require optee.inc
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > new file mode 100644
> > index 0000000..96e612a
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > @@ -0,0 +1,55 @@
> > +SUMMARY = "OP-TEE sanity testsuite"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD & GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
> > +
> > +inherit python3native
> > +require optee.inc
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
> > +SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > +           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > +          "
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > +                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 O=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    # Top level makefile doesn't seem to handle parallel make gracefully
> > +    oe_runmake xtest
> > +    oe_runmake ta
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
> > +
> > +    # install path should match the value set in optee-client/tee-supplicant
> > +    # default TEEC_LOAD_PATH is /lib
> > +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
> > +    install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > similarity index 96%
> > rename from meta-arm/recipes-security/optee/optee-test_git.bb
> > rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > index 957286c..65e6cd1 100644
> > --- a/meta-arm/recipes-security/optee/optee-test_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > @@ -10,8 +10,6 @@ require optee.inc
> > 
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
> > SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > @@ -29,6 +27,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > O=${B} \
> > "
> > --
> > 2.17.1
> 
> > 
> > 
> > 
> 

> 
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1216): https://lists.yoctoproject.org/g/meta-arm/message/1216
Mute This Topic: https://lists.yoctoproject.org/mt/77503203/3617530
Group Owner: meta-arm+owner@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [oe-patchwork@oe-patch.openembedded.org]
-=-=-=-=-=-=-=-=-=-=-=-
Jon Mason Oct. 16, 2020, 12:56 p.m.
On Wed, Oct 14, 2020 at 12:31:09PM -0300, Ricardo Salveti wrote:
> On Wed, Oct 14, 2020 at 8:33 AM Brett Warren <brett.warren@arm.com> wrote:
> >
> > The optee recipes were upgraded due to issues booting with 3.8
> > on qemuarm64-secureboot, which were resolved by the upgrade.
> > The 3.8 recipes are retained for backwards compatibility.
> >
> > optee-test and optee-examples were modified to pass a sysroot
> > to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> > of the libgcc library.
> >
> > Recipes have been renamed to reflect their current version.
> > As this makes the PV variables redundent, these have been removed.
> 
> OP-TEE 3.11.0 should be released in a few days (if not tomorrow), so
> wonder if it would be just better to move to that revision instead?
> 
> https://github.com/OP-TEE/optee_os/pull/4101
> 
> Then we won't have to keep 3.10.0 around, as done with 3.8.0.

We can do a new patch for 3.11 when it is released, and the drop 3.8
and 3.10 after making the gatesgarth release.  Best of both worlds.
:)

Thanks,
Jon

> 
> Cheers,
> -- 
> Ricardo Salveti

> 
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1217): https://lists.yoctoproject.org/g/meta-arm/message/1217
Mute This Topic: https://lists.yoctoproject.org/mt/77503203/3617530
Group Owner: meta-arm+owner@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [oe-patchwork@oe-patch.openembedded.org]
-=-=-=-=-=-=-=-=-=-=-=-
Denys Dmytriyenko Oct. 16, 2020, 6:12 p.m.
On Wed, Oct 14, 2020 at 11:58:48AM -0400, Denys Dmytriyenko wrote:
> Maybe passing --find-copies-harder would yield a smaller and more readable 
> patch (i.e. diff between 3.8 and 3.10)?

^^^ as I suspected - see my resend.


> Also, are there any details on backward compatibility needs to preserve 3.8?
> 
> Thanks.
> 
> -- 
> Denys
> 
> 
> On Wed, Oct 14, 2020 at 04:33:48AM -0700, Brett Warren wrote:
> > The optee recipes were upgraded due to issues booting with 3.8
> > on qemuarm64-secureboot, which were resolved by the upgrade.
> > The 3.8 recipes are retained for backwards compatibility.
> > 
> > optee-test and optee-examples were modified to pass a sysroot
> > to the LIBGCC_LOCATE_CFLAGS parameter, to ensure proper location
> > of the libgcc library.
> > 
> > Recipes have been renamed to reflect their current version.
> > As this makes the PV variables redundent, these have been removed.
> > 
> > Change-Id: Iacaba02d64570a790d5cc20eca8be58246e39019
> > Signed-off-by: Brett Warren <brett.warren@arm.com>
> > ---
> > .../optee/optee-client_3.10.0.bb              | 59 +++++++++++++
> > ...ee-client_git.bb => optee-client_3.8.0.bb} |  2 -
> > .../optee/optee-examples_3.10.0.bb            | 52 ++++++++++++
> > ...xamples_git.bb => optee-examples_3.8.0.bb} |  3 +-
> > .../recipes-security/optee/optee-os_3.10.0.bb | 83 +++++++++++++++++++
> > .../{optee-os_git.bb => optee-os_3.8.0.bb}    |  2 -
> > .../optee/optee-test_3.10.0.bb                | 55 ++++++++++++
> > ...{optee-test_git.bb => optee-test_3.8.0.bb} |  3 +-
> > 8 files changed, 251 insertions(+), 8 deletions(-)
> > create mode 100644 meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-client_git.bb => optee-client_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-examples_git.bb => optee-examples_3.8.0.bb} (95%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-os_git.bb => optee-os_3.8.0.bb} (98%)
> > create mode 100644 meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > rename meta-arm/recipes-security/optee/{optee-test_git.bb => optee-test_3.8.0.bb} (96%)
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-client_3.10.0.bb b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > new file mode 100644
> > index 0000000..cbd3b93
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.10.0.bb
> > @@ -0,0 +1,59 @@
> > +SUMMARY = "OP-TEE Client API"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Normal World Client side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > +
> > +require optee.inc
> > +
> > +inherit python3native systemd update-rc.d
> > +
> > +SRCREV = "2a77cf88d956c34cb4a1c191bea6113e327f5fe0"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_client.git \
> > +    file://tee-supplicant.service \
> > +    file://tee-supplicant.sh \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +EXTRA_OEMAKE = "O=${B}"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    cd ${S}
> > +    oe_runmake install
> > +
> > +    install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
> > +
> > +    install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
> > +    ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
> > +
> > +    install -d ${D}${includedir}
> > +    install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
> > +
> > +    install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service
> > +
> > +    install -D -p -m0755 ${WORKDIR}/tee-supplicant.sh ${D}${sysconfdir}/init.d/tee-supplicant
> > +
> > +    sed -i -e s:@sysconfdir@:${sysconfdir}:g \
> > +           -e s:@sbindir@:${sbindir}:g \
> > +              ${D}${systemd_system_unitdir}/tee-supplicant.service \
> > +              ${D}${sysconfdir}/init.d/tee-supplicant
> > +}
> > +
> > +SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
> > +
> > +INITSCRIPT_PACKAGES = "${PN}"
> > +
> > +INITSCRIPT_NAME_${PN} = "tee-supplicant"
> > +INITSCRIPT_PARAMS_${PN} = "start 10 1 2 3 4 5 . stop 90 0 6 ."
> > +
> > diff --git a/meta-arm/recipes-security/optee/optee-client_git.bb b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-client_git.bb
> > rename to meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > index 5dbbfe9..d43ebf4 100644
> > --- a/meta-arm/recipes-security/optee/optee-client_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-client_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=69663ab153298557a59c67a60a743e5b"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > require optee.inc
> > 
> > inherit python3native systemd update-rc.d
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > new file mode 100644
> > index 0000000..4a7db10
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.10.0.bb
> > @@ -0,0 +1,52 @@
> > +SUMMARY = "OP-TEE examples"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Sample Applications"
> > +HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > +
> > +LICENSE = "GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +inherit python3native
> > +
> > +require optee.inc
> > +
> > +SRC_URI = "git://github.com/linaro-swg/optee_examples.git \
> > +           file://0001-make-Pass-ldflags-during-link.patch \
> > +           "
> > +SRCREV = "c6eb00a9d83bf068a37e4806c97f582bb16e2973"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 OUTPUT_DIR=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
> > +    mkdir -p ${D}${bindir}
> > +    install -D -p -m0755 ${B}/ca/* ${D}${bindir}
> > +    install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-examples_git.bb b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > similarity index 95%
> > rename from meta-arm/recipes-security/optee/optee-examples_git.bb
> > rename to meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > index 71be593..7ed3dfa 100644
> > --- a/meta-arm/recipes-security/optee/optee-examples_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-examples_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples"
> > LICENSE = "GPLv2"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > inherit python3native
> > @@ -30,6 +28,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > HOST_CROSS_COMPILE=${TARGET_PREFIX} \
> > TA_CROSS_COMPILE=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > OUTPUT_DIR=${B} \
> > "
> > diff --git a/meta-arm/recipes-security/optee/optee-os_3.10.0.bb b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > new file mode 100644
> > index 0000000..369e011
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.10.0.bb
> > @@ -0,0 +1,83 @@
> > +SUMMARY = "OP-TEE Trusted OS"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Trusted side of the TEE"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > +
> > +inherit deploy python3native
> > +require optee.inc
> > +
> > +DEPENDS = "python3-pycryptodome-native python3-pycryptodomex-native python3-pyelftools-native"
> > +
> > +SRCREV = "d1c635434c55b7d75eadf471bde04926bd1e50a7"
> > +SRC_URI = " \
> > +    git://github.com/OP-TEE/optee_os.git \
> > +    file://0006-allow-setting-sysroot-for-libgcc-lookup.patch \
> > +"
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEEMACHINE ?= "${MACHINE}"
> > +OPTEEMACHINE_aarch64_qemuall ?= "vexpress-qemu_armv8a"
> > +OPTEE_ARCH = "null"
> > +OPTEE_ARCH_armv7a = "arm32"
> > +OPTEE_ARCH_aarch64 = "arm64"
> > +OPTEE_CORE = "${@d.getVar('OPTEE_ARCH').upper()}"
> > +
> > +EXTRA_OEMAKE = " \
> > +    PLATFORM=${OPTEEMACHINE} \
> > +    CFG_${OPTEE_CORE}_core=y \
> > +    CROSS_COMPILE_core=${HOST_PREFIX} \
> > +    CROSS_COMPILE_ta_${OPTEE_ARCH}=${HOST_PREFIX} \
> > +    NOWERROR=1 \
> > +    V=1 \
> > +    ta-targets=ta_${OPTEE_ARCH} \
> > +    LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +    O=${B} \
> > +"
> > +
> > +CFLAGS[unexport] = "1"
> > +LDFLAGS[unexport] = "1"
> > +CPPFLAGS[unexport] = "1"
> > +AS[unexport] = "1"
> > +LD[unexport] = "1"
> > +
> > +do_configure[noexec] = "1"
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install() {
> > +    #install core in firmware
> > +    install -d ${D}${nonarch_base_libdir}/firmware/
> > +    install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
> > +
> > +    #install TA devkit
> > +    install -d ${D}${includedir}/optee/export-user_ta/
> > +    for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
> > +        cp -aR $f ${D}${includedir}/optee/export-user_ta/
> > +    done
> > +}
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > +
> > +do_deploy() {
> > +    install -d ${DEPLOYDIR}/optee
> > +    install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/optee/
> > +}
> > +
> > +addtask deploy before do_build after do_install
> > +
> > +SYSROOT_DIRS += "${nonarch_base_libdir}/firmware"
> > +
> > +FILES_${PN} = "${nonarch_base_libdir}/firmware/"
> > +FILES_${PN}-dev = "${includedir}/optee/"
> > +
> > +INSANE_SKIP_${PN}-dev = "staticdev"
> > +
> > +INHIBIT_PACKAGE_STRIP = "1"
> > diff --git a/meta-arm/recipes-security/optee/optee-os_git.bb b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > similarity index 98%
> > rename from meta-arm/recipes-security/optee/optee-os_git.bb
> > rename to meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > index deeb515..0001271 100644
> > --- a/meta-arm/recipes-security/optee/optee-os_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-os_3.8.0.bb
> > @@ -5,8 +5,6 @@ HOMEPAGE = "https://www.op-tee.org/"
> > LICENSE = "BSD"
> > LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=c1f21c4f72f372ef38a5a4aee55ec173"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > inherit deploy python3native
> > require optee.inc
> > 
> > diff --git a/meta-arm/recipes-security/optee/optee-test_3.10.0.bb b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > new file mode 100644
> > index 0000000..96e612a
> > --- /dev/null
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.10.0.bb
> > @@ -0,0 +1,55 @@
> > +SUMMARY = "OP-TEE sanity testsuite"
> > +DESCRIPTION = "Open Portable Trusted Execution Environment - Test suite"
> > +HOMEPAGE = "https://www.op-tee.org/"
> > +
> > +LICENSE = "BSD & GPLv2"
> > +LIC_FILES_CHKSUM = "file://${S}/LICENSE.md;md5=daa2bcccc666345ab8940aab1315a4fa"
> > +
> > +inherit python3native
> > +require optee.inc
> > +
> > +DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > +
> > +SRCREV = "30efcbeaf8864d0f2a5c4be593a5411001fab31b"
> > +SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > +           file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > +          "
> > +
> > +S = "${WORKDIR}/git"
> > +B = "${WORKDIR}/build"
> > +
> > +OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
> > +TEEC_EXPORT         = "${STAGING_DIR_HOST}${prefix}"
> > +TA_DEV_KIT_DIR      = "${STAGING_INCDIR}/optee/export-user_ta"
> > +
> > +EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > +                 OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
> > +                 TEEC_EXPORT=${TEEC_EXPORT} \
> > +                 CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > +                 CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > +                 V=1 \
> > +                 O=${B} \
> > +               "
> > +
> > +do_compile() {
> > +    cd ${S}
> > +    # Top level makefile doesn't seem to handle parallel make gracefully
> > +    oe_runmake xtest
> > +    oe_runmake ta
> > +}
> > +do_compile[cleandirs] = "${B}"
> > +
> > +do_install () {
> > +    install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
> > +
> > +    # install path should match the value set in optee-client/tee-supplicant
> > +    # default TEEC_LOAD_PATH is /lib
> > +    mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
> > +    install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
> > +}
> > +
> > +FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
> > +
> > +# Imports machine specific configs from staging to build
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > diff --git a/meta-arm/recipes-security/optee/optee-test_git.bb b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > similarity index 96%
> > rename from meta-arm/recipes-security/optee/optee-test_git.bb
> > rename to meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > index 957286c..65e6cd1 100644
> > --- a/meta-arm/recipes-security/optee/optee-test_git.bb
> > +++ b/meta-arm/recipes-security/optee/optee-test_3.8.0.bb
> > @@ -10,8 +10,6 @@ require optee.inc
> > 
> > DEPENDS = "optee-client optee-os python3-pycryptodomex-native"
> > 
> > -PV = "3.8.0+git${SRCPV}"
> > -
> > SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
> > SRC_URI = "git://github.com/OP-TEE/optee_test.git \
> > file://0001-host-xtest-Adjust-order-of-including-compiler.h.patch \
> > @@ -29,6 +27,7 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
> > TEEC_EXPORT=${TEEC_EXPORT} \
> > CROSS_COMPILE_HOST=${TARGET_PREFIX} \
> > CROSS_COMPILE_TA=${TARGET_PREFIX} \
> > +                 LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
> > V=1 \
> > O=${B} \
> > "
> > --
> > 2.17.1
> 
> > 
> > 
> > 
> 

> 
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#1220): https://lists.yoctoproject.org/g/meta-arm/message/1220
Mute This Topic: https://lists.yoctoproject.org/mt/77503203/3617530
Group Owner: meta-arm+owner@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [oe-patchwork@oe-patch.openembedded.org]
-=-=-=-=-=-=-=-=-=-=-=-