Message ID | 20211116125505.32716-1-maxim.uvarov@linaro.org |
---|---|
State | New |
Headers | show |
Series | [PATCHv4,1/3] optee: updae optee-os.inc to support external TAs | expand |
On Tue, Nov 16, 2021 at 03:55:03PM +0300, Maxim Uvarov wrote: > Separate recipe for TA devkit is needed to solve > circular dependency to build TAs withthe devkit > and integrate it inside optee-os. > > Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> > --- It's still failing with ERROR: Nothing PROVIDES 'optee-os-tadevkit' (but /builds/jonmason00/meta-arm/meta-arm/recipes-security/optee-ftpm/optee-ftpm_git.bb DEPENDS on or otherwise requires it) https://gitlab.com/jonmason00/meta-arm/-/jobs/1788361637 This can be reproduced with kas $ kas shell --update --force-checkout ci/base.yml:ci/meta-openembedded.yml --command "ci/check-layers.py ci/check-layers.yml . ." or with "yocto-check-layer' in poky/scripts Also failing with /bin/sh: 1: unlink: not found /bin/sh: 1: aarch64-poky-linux-gcc: not found https://gitlab.com/jonmason00/meta-arm/-/jobs/1788361664 https://gitlab.com/jonmason00/meta-arm/-/jobs/1788361665 This can be reproduced by seting clang as your compiler in your local.conf TOOLCHAIN = "clang" or, if you are using kas $ kas build ci/qemuarm64-secureboot.yml:ci/clang.yml Thanks, Jon > .../recipes-security/optee/optee-examples.inc | 2 +- > .../optee/optee-os-tadevkit_3.14.0.bb | 20 +++++++++++++++++++ > meta-arm/recipes-security/optee/optee-os.inc | 7 ------- > 3 files changed, 21 insertions(+), 8 deletions(-) > create mode 100644 meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb > > diff --git a/meta-arm/recipes-security/optee/optee-examples.inc b/meta-arm/recipes-security/optee/optee-examples.inc > index 921fa18..656722e 100644 > --- a/meta-arm/recipes-security/optee/optee-examples.inc > +++ b/meta-arm/recipes-security/optee/optee-examples.inc > @@ -5,7 +5,7 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples" > LICENSE = "BSD-2-Clause" > LIC_FILES_CHKSUM = "file://LICENSE;md5=cd95ab417e23b94f381dafc453d70c30" > > -DEPENDS = "optee-client optee-os python3-pycryptodome-native" > +DEPENDS = "optee-client optee-os-tadevkit python3-pycryptodome-native" > > inherit python3native > > diff --git a/meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb b/meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb > new file mode 100644 > index 0000000..0d37a52 > --- /dev/null > +++ b/meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb > @@ -0,0 +1,20 @@ > +FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:" > +require optee-os_3.14.0.bb > + > +SUMMARY = "OP-TEE Trusted OS TA devkit" > +DESCRIPTION = "OP-TEE TA devkit for build TAs" > +HOMEPAGE = "https://www.op-tee.org/" > + > +do_install() { > + #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 > +} > + > +do_deploy() { > + echo "Do not inherit do_deploy from optee-os." > +} > + > +FILES:${PN} = "${includedir}/optee/" > diff --git a/meta-arm/recipes-security/optee/optee-os.inc b/meta-arm/recipes-security/optee/optee-os.inc > index 277646e..1506a58 100644 > --- a/meta-arm/recipes-security/optee/optee-os.inc > +++ b/meta-arm/recipes-security/optee/optee-os.inc > @@ -46,12 +46,6 @@ do_install() { > #install core in firmware > install -d ${D}${nonarch_base_libdir}/firmware/ > install -m 644 ${B}/core/*.bin ${B}/core/tee.elf ${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}" > @@ -66,7 +60,6 @@ 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/" > > # note: "textrel" is not triggered on all archs > INSANE_SKIP:${PN} = "textrel" > -- > 2.17.1 > >
diff --git a/meta-arm/recipes-security/optee/optee-examples.inc b/meta-arm/recipes-security/optee/optee-examples.inc index 921fa18..656722e 100644 --- a/meta-arm/recipes-security/optee/optee-examples.inc +++ b/meta-arm/recipes-security/optee/optee-examples.inc @@ -5,7 +5,7 @@ HOMEPAGE = "https://github.com/linaro-swg/optee_examples" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=cd95ab417e23b94f381dafc453d70c30" -DEPENDS = "optee-client optee-os python3-pycryptodome-native" +DEPENDS = "optee-client optee-os-tadevkit python3-pycryptodome-native" inherit python3native diff --git a/meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb b/meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb new file mode 100644 index 0000000..0d37a52 --- /dev/null +++ b/meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb @@ -0,0 +1,20 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/optee-os:" +require optee-os_3.14.0.bb + +SUMMARY = "OP-TEE Trusted OS TA devkit" +DESCRIPTION = "OP-TEE TA devkit for build TAs" +HOMEPAGE = "https://www.op-tee.org/" + +do_install() { + #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 +} + +do_deploy() { + echo "Do not inherit do_deploy from optee-os." +} + +FILES:${PN} = "${includedir}/optee/" diff --git a/meta-arm/recipes-security/optee/optee-os.inc b/meta-arm/recipes-security/optee/optee-os.inc index 277646e..1506a58 100644 --- a/meta-arm/recipes-security/optee/optee-os.inc +++ b/meta-arm/recipes-security/optee/optee-os.inc @@ -46,12 +46,6 @@ do_install() { #install core in firmware install -d ${D}${nonarch_base_libdir}/firmware/ install -m 644 ${B}/core/*.bin ${B}/core/tee.elf ${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}" @@ -66,7 +60,6 @@ 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/" # note: "textrel" is not triggered on all archs INSANE_SKIP:${PN} = "textrel"
Separate recipe for TA devkit is needed to solve circular dependency to build TAs withthe devkit and integrate it inside optee-os. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> --- .../recipes-security/optee/optee-examples.inc | 2 +- .../optee/optee-os-tadevkit_3.14.0.bb | 20 +++++++++++++++++++ meta-arm/recipes-security/optee/optee-os.inc | 7 ------- 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 meta-arm/recipes-security/optee/optee-os-tadevkit_3.14.0.bb