aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-29 14:43:37 +1200
committerPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-29 15:13:00 +1200
commitee31a5dbc1f2fe6e7d8e459865c18d6c0f4267d8 (patch)
tree6d0ae6cbe5423ca8c74599d672ec86eb52734ff3
parent646c366c2566bd8dd6f73681cea9f5b021589a56 (diff)
downloadopenembedded-core-contrib-ee31a5dbc1f2fe6e7d8e459865c18d6c0f4267d8.tar.gz
classes/populate_sdk_ext: ensure tasks to build the image are included
If you build an extensible SDK for an image and IMAGE_FSTYPES includes "live" then the extensible SDK will fail to install with a bunch of unexpected task execution errors, matching the missing items required to build the live image. The issue was we were still depending on do_rootfs rather than do_image_complete. The fix was slightly more complicated than just changing the task name as do_image_complete's dependencies are in the form of dependencies on tasks within the same recipe (represented in the "deps" varflag rather than the "depends" varflag). Fixes [YOCTO #9826]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r--meta/classes/populate_sdk_ext.bbclass8
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index b9d9543409..f68cee6a13 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -447,7 +447,13 @@ fakeroot python do_populate_sdk_ext() {
}
def get_ext_sdk_depends(d):
- return d.getVarFlag('do_rootfs', 'depends', True) + ' ' + d.getVarFlag('do_build', 'depends', True)
+ # Note: the deps varflag is a list not a string, so we need to specify expand=False
+ deps = d.getVarFlag('do_image_complete', 'deps', False)
+ pn = d.getVar('PN', True)
+ deplist = ['%s:%s' % (pn, dep) for dep in deps]
+ for task in ['do_image_complete', 'do_rootfs', 'do_build']:
+ deplist.extend((d.getVarFlag(task, 'depends', True) or '').split())
+ return ' '.join(deplist)
python do_sdk_depends() {
# We have to do this separately in its own task so we avoid recursing into