From: Bartosz Golaszewski <bgolaszew...@baylibre.com> Instead of using do_image_complete for both the deployment of image artifacts into DEPLOY_DIR_IMAGE as well as calling the image post-process commands, split the responsability between two separate tasks: do_image_deploy will take care of the sstate deployment, while do_image_complete will only do the post-processing. This way we can make the dependencies more fine-grained.
Signed-off-by: Bartosz Golaszewski <bgolaszew...@baylibre.com> --- meta/classes/image.bbclass | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 07aa1f1fa5..6e2b864f73 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -144,7 +144,7 @@ python () { deps += " %s:%s" % (dep, task) return deps - d.appendVarFlag('do_image_complete', 'depends', extraimage_getdepends('do_populate_sysroot')) + d.appendVarFlag('do_image_deploy', 'depends', extraimage_getdepends('do_populate_sysroot')) deps = " " + imagetypes_getdepends(d) d.appendVarFlag('do_rootfs', 'depends', deps) @@ -264,6 +264,17 @@ do_image[dirs] = "${TOPDIR}" do_image[umask] = "022" addtask do_image after do_rootfs +do_image_deploy() { + # This is a placeholder really but it still needs to run for sstate + # to correctly deploy the image artifacts. + true +} +SSTATETASKS += "do_image_deploy" +do_image_deploy[sstate-inputdirs] = "${IMGDEPLOYDIR}" +do_image_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" +SSTATE_SKIP_CREATION_task-image-deploy = '1' +addtask do_image_deploy after do_image before do_build + fakeroot python do_image_complete () { from oe.utils import execute_pre_post_process @@ -273,12 +284,8 @@ fakeroot python do_image_complete () { } do_image_complete[dirs] = "${TOPDIR}" do_image_complete[umask] = "022" -SSTATETASKS += "do_image_complete" -SSTATE_SKIP_CREATION_task-image-complete = '1' -do_image_complete[sstate-inputdirs] = "${IMGDEPLOYDIR}" -do_image_complete[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" do_image_complete[stamp-extra-info] = "${MACHINE_ARCH}" -addtask do_image_complete after do_image before do_build +addtask do_image_complete after do_image_deploy before do_build python do_image_complete_setscene () { sstate_setscene(d) } @@ -500,8 +507,8 @@ python () { d.appendVarFlag(task, 'vardeps', ' ' + ' '.join(vardeps)) d.appendVarFlag(task, 'vardepsexclude', ' DATETIME DATE ' + ' '.join(vardepsexclude)) - bb.debug(2, "Adding task %s before %s, after %s" % (task, 'do_image_complete', after)) - bb.build.addtask(task, 'do_image_complete', after, d) + bb.debug(2, "Adding task %s before do_image_deploy, after %s" % (task, after)) + bb.build.addtask(task, 'do_image_deploy', after, d) } # -- 2.19.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core