From 71066ce21514725428860ca926cc29161f710af6 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Wed, 18 Jan 2017 18:53:48 +0200 Subject: wic: add wic-tools recipe 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 Signed-off-by: Richard Purdie --- meta/recipes-core/meta/wic-tools.bb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 meta/recipes-core/meta/wic-tools.bb (limited to 'meta/recipes-core/meta') diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb new file mode 100644 index 0000000000..0a53b7319e --- /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//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 -- cgit 1.2.3-korg