bitbake removes cleandirs once per prefunc and then again for the actual task. By moving the concat_dtb step here from prefunc to main task we can add do_deploy[cleandirs] = "${DEPLOYDIR}" to deploy.bbclass without losing the files produced by concat_dtb.
It looks like using do_deploy(_append) was the original goal anyways. I tested this with poky, putting the following in local.conf: UBOOT_SIGN_ENABLE = "1" KERNEL_CLASSES = " kernel-fitimage " KERNEL_IMAGETYPE = "fitImage" and then doing bitbake core-image-minimal bitbake u-boot It builds successfully, the kernel and uboot recipes' temp/run.do_deploy scripts look good (kernel's do_deploy is not broken, and uboot's do_deploy still calls concat_dtb). Signed-off-by: Daniel Klauer <daniel.kla...@gin.de> --- meta/classes/uboot-sign.bbclass | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass index 982ed46d01..713196df41 100644 --- a/meta/classes/uboot-sign.bbclass +++ b/meta/classes/uboot-sign.bbclass @@ -117,15 +117,16 @@ do_install_append() { fi } +do_deploy_prepend_pn-${UBOOT_PN}() { + if [ "${UBOOT_SIGN_ENABLE}" = "1" -a -n "${UBOOT_DTB_BINARY}" ]; then + concat_dtb + fi +} + python () { if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN') and d.getVar('UBOOT_DTB_BINARY'): kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel') # Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb d.appendVarFlag('do_deploy', 'depends', ' %s:do_deploy' % kernel_pn) - - # kernerl's do_deploy is a litle special, so we can't use - # do_deploy_append, otherwise it would override - # kernel_do_deploy. - d.appendVarFlag('do_deploy', 'prefuncs', ' concat_dtb') } -- 2.17.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core