* [PATCH 0/2] Fix building the eSDK with "live" in IMAGE_FSTYPES
@ 2016-06-29 3:13 Paul Eggleton
2016-06-29 3:13 ` [PATCH 1/2] classes/populate_sdk_ext: ensure tasks to build the image are included Paul Eggleton
2016-06-29 3:13 ` [PATCH 2/2] classes/populate_sdk_ext: exclude initramfs images from locked signatures Paul Eggleton
0 siblings, 2 replies; 3+ messages in thread
From: Paul Eggleton @ 2016-06-29 3:13 UTC (permalink / raw)
To: openembedded-core
The following changes since commit 646c366c2566bd8dd6f73681cea9f5b021589a56:
gst-player: upgrade to latest HEAD (2016-06-27 14:08:37 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/esdk-initramfs-fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/esdk-initramfs-fixes
Paul Eggleton (2):
classes/populate_sdk_ext: ensure tasks to build the image are included
classes/populate_sdk_ext: exclude initramfs images from locked
signatures
meta/classes/populate_sdk_ext.bbclass | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
--
2.5.5
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] classes/populate_sdk_ext: ensure tasks to build the image are included
2016-06-29 3:13 [PATCH 0/2] Fix building the eSDK with "live" in IMAGE_FSTYPES Paul Eggleton
@ 2016-06-29 3:13 ` Paul Eggleton
2016-06-29 3:13 ` [PATCH 2/2] classes/populate_sdk_ext: exclude initramfs images from locked signatures Paul Eggleton
1 sibling, 0 replies; 3+ messages in thread
From: Paul Eggleton @ 2016-06-29 3:13 UTC (permalink / raw)
To: openembedded-core
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>
---
meta/classes/populate_sdk_ext.bbclass | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index b9d9543..f68cee6 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
--
2.5.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] classes/populate_sdk_ext: exclude initramfs images from locked signatures
2016-06-29 3:13 [PATCH 0/2] Fix building the eSDK with "live" in IMAGE_FSTYPES Paul Eggleton
2016-06-29 3:13 ` [PATCH 1/2] classes/populate_sdk_ext: ensure tasks to build the image are included Paul Eggleton
@ 2016-06-29 3:13 ` Paul Eggleton
1 sibling, 0 replies; 3+ messages in thread
From: Paul Eggleton @ 2016-06-29 3:13 UTC (permalink / raw)
To: openembedded-core
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].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
meta/classes/populate_sdk_ext.bbclass | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index f68cee6..23dedae 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
@@ -280,7 +281,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([],
--
2.5.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-29 3:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-29 3:13 [PATCH 0/2] Fix building the eSDK with "live" in IMAGE_FSTYPES Paul Eggleton
2016-06-29 3:13 ` [PATCH 1/2] classes/populate_sdk_ext: ensure tasks to build the image are included Paul Eggleton
2016-06-29 3:13 ` [PATCH 2/2] classes/populate_sdk_ext: exclude initramfs images from locked signatures Paul Eggleton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.