I'm building a custom yocto 1.5.3 based distro with a number of layers. To simplify building I created a meta package which depends on all real target images, sdk, tests etc. But it seems that image recipies are not build when they are listed in DEPENDS += "image sdk" of the meta package. With yocto 1.6 this is working as expected. I verified with 'bitbake -g meta-package' that dependency to image recipe is correctly recorded, and 'bitbake image' naturally works. Tried to go through patches in poky/bitbake poky/meta/classes which might be fixing this but didn't find them yet.
I'm also using SSTATE_CACHE if it matters. From 'bitbake -g meta' output I can see that package dependencies are correct, but task-depends.dot does not show any of the image tasks. I guess this is the problem then. None of the image tasks get executed via the meta package dependency.
Found a workaround by using inter-task dependencies http://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html#inter-task-dependencies In meta package .bb: do_build[depends] += "image:do_install_version_info" It seems that version info is the last task executed on our layers when creating the image.
Using DEPENDS for this may not do what you expect. DEPENDS means that the do_configure of the task should depend on the do_populate_sysroot of the thing in DEPENDS. These are equivalent: DEPENDS += "xxxx" and do_configure[depends] += "xxxx:do_populate_sysroot" In the case of a rootfs, you want the do_rootfs task, not do_populate_sysroot so DEPENDS is not the correct thing to use. You are therefore correct in adding the dependencies. The change between 1.5.and 1.6 was likely some fixes to do_build dependencies and recrdep dependency handling in bitbake. Those changes were problematic/invasive and will not be backported to 1.5 at this point. As such I'm going to mark this as WONTFIX.