[gnome-continuous-yocto/gnomeostree-3.28-rocko: 1182/8267] classes/populate_sdk_ext: ensure tasks to build the image are included

commit c7ab9f3ca15f7067e637f8e981b74dc05d7a9a55
Author: Paul Eggleton <paul eggleton linux intel com>
Date:   Wed Jun 29 15:13:51 2016 +1200

    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].
    (From OE-Core rev: 2b9c092e89b421bf7fd6a7c9604a83ae420d85ba)
    Signed-off-by: Paul Eggleton <paul eggleton linux intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/classes/populate_sdk_ext.bbclass |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index df39ff6..cddc306 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -450,7 +450,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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]