[OE-core] [PATCH 01/14] wic: add wic-tools recipe

Richard Purdie richard.purdie at linuxfoundation.org
Fri Jan 20 18:04:53 UTC 2017


From: Ed Bartosh <ed.bartosh at linux.intel.com>

This meta recipe is for building tools used by wic.
It allows wic to find tools in recipe specific sysroot as
all tools will be present in wic-tools sysroot.

NOTE: task do_build_sysroot is created to ensure that
sysroot is re-populated when package is built. Otherwise it will
be taken from sstate and sysroot will not be populated.

Generated wic-tools.env file for wic to be able to get values of
wic-tools variables when wic run from bitbake.

Also add dependency to grub-efi

Without grub-efi test_iso_image test case fails with this error:

AssertionError: Command 'wic create mkhybridiso --image-name
core-image-minimal' returned non-zero exit status 1:
Error: Please build grub-efi first

Fixed by adding dependency wic-tools -> grub-efi.

[RP: Added syslinux exclusion for non-IA arches]
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/recipes-core/meta/wic-tools.bb | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 meta/recipes-core/meta/wic-tools.bb

diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb
new file mode 100644
index 0000000..0a53b73
--- /dev/null
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A meta recipe to build native tools used by wic."
+
+LICENSE = "MIT"
+
+DEPENDS = "parted-native syslinux-native gptfdisk-native dosfstools-native mtools-native bmap-tools-native grub-efi-native cdrtools-native"
+DEPENDS_append_x86 = " syslinux grub-efi"
+DEPENDS_append_x86-64 = " syslinux grub-efi"
+
+INHIBIT_DEFAULT_DEPS = "1"
+inherit nopackages
+
+python do_build_sysroot () {
+    bb.build.exec_func("extend_recipe_sysroot", d)
+
+    # Write environment variables used by wic
+    # to tmp/sysroots/<machine>/imgdata/wictools.env
+    outdir = os.path.join(d.getVar('STAGING_DIR'), 'imgdata')
+    bb.utils.mkdirhier(outdir)
+    with open(os.path.join(outdir, "wic-tools.env"), 'w') as envf:
+        for var in ('RECIPE_SYSROOT_NATIVE', 'STAGING_DATADIR', 'STAGING_LIBDIR'):
+            envf.write('%s="%s"\n' % (var, d.getVar(var).strip()))
+
+}
+addtask do_build_sysroot after do_prepare_recipe_sysroot before do_build
-- 
2.7.4



More information about the Openembedded-core mailing list