Avoid a circular dependency between do_concat_dtb and do_assemble_fitimage
when UBOOT_SIGN_ENABLE is active:

Dependency loop #1 found:
  do_concat_dtb (dependent Tasks ['linux-yocto_4.10.bb:do_assemble_fitimage'])
  do_install (dependent Tasks ['pseudo_1.8.2.bb:do_populate_sysroot', 
'u-boot_2017.01.bb:do_compile', 'u-boot_2017.01.bb:do_concat_dtb'])
  do_deploy (dependent Tasks ['u-boot_2017.01.bb:do_deploy_dtb', 
'u-boot_2017.01.bb:do_install'])
  do_assemble_fitimage (dependent Tasks ['linux-yocto_4.10.bb:do_compile', 
'u-boot_2017.01.bb:do_deploy'])

Signed-off-by: Thomas Perrot <thomas.per...@tupi.fr>
---
 meta/classes/kernel-fitimage.bbclass |  2 +-
 meta/classes/uboot-sign.bbclass      | 21 +++++++++------------
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/meta/classes/kernel-fitimage.bbclass 
b/meta/classes/kernel-fitimage.bbclass
index 9baf399f2e..2779ce5226 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -33,7 +33,7 @@ python __anonymous () {
         # the fitImage:
         if d.getVar('UBOOT_SIGN_ENABLE') == "1":
             uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
-            d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_deploy' 
% uboot_pn)
+            d.appendVarFlag('do_assemble_fitimage', 'depends', ' 
%s:do_deploy_dtb' % uboot_pn)
 }
 
 # Options for the device tree compiler passed to mkimage '-D' feature:
diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass
index 8ee904e7df..2f616bf2a9 100644
--- a/meta/classes/uboot-sign.bbclass
+++ b/meta/classes/uboot-sign.bbclass
@@ -47,16 +47,14 @@ do_deploy_dtb () {
        cd ${DEPLOYDIR}
 
        if [ -f ${B}/${UBOOT_DTB_BINARY} ]; then
-               install ${B}/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/${UBOOT_DTB_IMAGE}
-               rm -f ${UBOOT_DTB_BINARY} ${UBOOT_DTB_SYMLINK}
-               ln -sf ${UBOOT_DTB_IMAGE} ${UBOOT_DTB_SYMLINK}
-               ln -sf ${UBOOT_DTB_IMAGE} ${UBOOT_DTB_BINARY}
+               install ${B}/${UBOOT_DTB_BINARY} 
${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}
+               ln -sf ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE} 
${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_SYMLINK}
+               ln -sf ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE} 
${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY}
        fi
        if [ -f ${B}/${UBOOT_NODTB_BINARY} ]; then
-               install ${B}/${UBOOT_NODTB_BINARY} 
${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}
-               rm -f ${UBOOT_NODTB_BINARY} ${UBOOT_NODTB_SYMLINK}
-               ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_SYMLINK}
-               ln -sf ${UBOOT_NODTB_IMAGE} ${UBOOT_NODTB_BINARY}
+               install ${B}/${UBOOT_NODTB_BINARY} 
${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_IMAGE}
+               ln -sf ${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_IMAGE} 
${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_SYMLINK}
+               ln -sf ${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_IMAGE} 
${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_BINARY}
        fi
 }
 
@@ -70,11 +68,10 @@ do_concat_dtb () {
                        oe_runmake EXT_DTB=${DEPLOYDIR}/${UBOOT_DTB_IMAGE}
                        install ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
                        install ${B}/${UBOOT_BINARY} 
${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
-               elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e 
"${DEPLOYDIR}/${UBOOT_DTB_IMAGE}" ]; then
-                       cd ${DEPLOYDIR}
-                       cat ${UBOOT_NODTB_IMAGE} ${UBOOT_DTB_IMAGE} | tee 
${B}/${UBOOT_BINARY} > ${UBOOT_IMAGE}
+               elif [ -e "${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_IMAGE}" -a -e 
"${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE}" ]; then
+                       cat ${DEPLOY_DIR_IMAGE}/${UBOOT_NODTB_IMAGE} 
${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_IMAGE} | tee ${B}/${UBOOT_BINARY} > 
${UBOOT_IMAGE}
                else
-                       bbwarn "Failure while adding public key to u-boot 
binary. Verified boot won't be available."
+                       bbfatal "Failure while adding public key to u-boot 
binary. Verified boot won't be available."
                fi
        fi
 }
-- 
2.13.6

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to