image_types_wic: fix scheduling of prepare_wic_build
cover image_types_wic: fix scheduling of prepare_wic_build
Hi,
This patch fixes wic build on machines that don't support EFI.
It also fixes build on intel-meta layer for intel-corei7-64 machine that was broken by previous patches due to the wrong assumption that EFI_PROVIDER recipe must be present if layer provides EFI functionality.
This patch obsoletes 2 previous patches:
image_types_wic: schedule prepare_wic_build correctly
image_types_wic: reschedule do_prepare_wic_build
The following changes since commit 1b131061ebe121f554b931f50ee9ff934f61b762:
runqemu: output qemu-system errors (2017-05-26 16:37:23 +0300)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib ed/wic/wip
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/wic/wip
Ed Bartosh (1):
image_types_wic: schedule prepare_wic_build correctly
meta/classes/image_types_wic.bbclass | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-)
--
Regards,
Ed
PATCH 1/1 image_types_wic: schedule prepare_wic_build correctly
When EFI is enabled we need to ensure that kernel and bootloader artifacts are fully deployed before running prepare_wic_build. This is done by scheduling this task after do_bootimg and by adding dependencty to virtual/kernel:do_deploy task.
Scheduled prepare_wic_build only if wic build is enabled to avoid running it when it's not needed.
--- meta/classes/image_types_wic.bbclass | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-)
meta/classes/image_types_wic.bbclass +15 -13
@@ -69,6 +69,12 @@ python () { # file in process_wks_template as well, so just put it in # a variable and let the metadata deal with the deps. d.setVar('_WKS_TEMPLATE', body) + + if d.getVar('EFI_CLASS'): + bb.build.addtask('do_prepare_wic_build', 'do_image_wic', 'do_bootimg', d) + d.appendVarFlag('do_prepare_wic_build', 'depends', 'virtual/kernel:do_deploy') + else: + bb.build.addtask('do_prepare_wic_build', 'do_image_wic', None, d) } #
@@ -139,19 +145,15 @@ python do_prepare_wic_build() { with open(wks_file, 'w') as f: f.write(template_body) - if d.getVar('USING_WIC'): - # Generate parition UUID - from uuid import uuid4 - partuuid = str(uuid4()) - d.setVar("ROOTFS_PARTUUID", partuuid) + # Generate parition UUID + from uuid import uuid4 + partuuid = str(uuid4()) + d.setVar("ROOTFS_PARTUUID", partuuid) - if d.getVar("EFI_CLASS"): - populate_bootfs(partuuid) + if d.getVar("EFI_CLASS"): + populate_bootfs(partuuid) - template = d.getVar("_WKS_TEMPLATE") - if template: - write_wks_template(template, d.getVar('WKS_FULL_PATH')) + template = d.getVar("_WKS_TEMPLATE") + if template: + write_wks_template(template, d.getVar('WKS_FULL_PATH')) } - -addtask do_prepare_wic_build before do_image_wic -do_prepare_wic_build[depends] = "${MLPREFIX}${EFI_PROVIDER}:do_deploy virtual/kernel:do_deploy"
Signature · 1 line
2.1.4
✗ patchtest: failure for image_types_wic: fix scheduling of prepare_wic_build
In reply to Ed Bartosh== Series Details ==
Series: image_types_wic: fix scheduling of prepare_wic_build
Revision: 1
URL : https://patchwork.openembedded.org/series/6934/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at 12373003cc)
If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).
---
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe