[gnome-continuous-yocto/gnomeostree-3.28-rocko: 1183/8267] classes/populate_sdk_ext: exclude initramfs images from locked signatures



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

    classes/populate_sdk_ext: exclude initramfs images from locked signatures
    
    Tasks for image recipes cannot be locked - there's nothing to restore
    from shared state to cover them and as a result, if you had "live" in
    IMAGE_FSTYPES the build would fail with "taskhash mismatch" errors for
    do_rootfs and do_image_complete for the initramfs image recipe, since it
    had to try to run those. We should probably catch that issue earlier in
    the build and produce a proper error, but for now at least exclude these
    signatures from the locked-sigs.inc file so that extensible SDK
    installers built when IMAGE_FSTYPES includes "live". (It turned out we
    already had code to find other image tasks in the task list in order to
    generate the list of install targets.)
    
    Follow-up fix for [YOCTO #9826].
    
    (From OE-Core rev: a7133bf6bb650b944d29d01129f36a56282acd2b)
    
    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 |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index cddc306..245adc1 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -39,7 +39,7 @@ SDK_UPDATE_URL ?= ""
 
 SDK_TARGETS ?= "${PN}"
 
-def get_sdk_install_targets(d):
+def get_sdk_install_targets(d, images_only=False):
     sdk_install_targets = ''
     if d.getVar('SDK_EXT_TYPE', True) != 'minimal':
         sdk_install_targets = d.getVar('SDK_TARGETS', True)
@@ -50,8 +50,9 @@ def get_sdk_install_targets(d):
                 if v[0] not in sdk_install_targets:
                     sdk_install_targets += ' {}'.format(v[0])
 
-    if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1':
-        sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
+    if not images_only:
+        if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1':
+            sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
 
     return sdk_install_targets
 
@@ -283,7 +284,7 @@ python copy_buildsystem () {
             f.write('\n')
 
     # Filter the locked signatures file to just the sstate tasks we are interested in
-    excluded_targets = d.getVar('SDK_TARGETS', True)
+    excluded_targets = get_sdk_install_targets(d, images_only=True)
     sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
     lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
     oe.copy_buildsystem.prune_lockedsigs([],


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