From 7770281354d0d21d14961b0b5ddb945afabadf3c Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Mon, 31 Aug 2015 00:14:23 +0300 Subject: image.py: write bitbake variables to .env file Write set of bitbake variables used by wic into build/tmp/sysroots//imagedata/.env List of variables is defined in WICVARS variable in meta/classes/image_types.bbclass. This is needed for wic to be able to get bitbake variables without running 'bitbake -e'. (From OE-Core rev: 861ce6c5d4836df1a783be3b01d2de56117c9863) Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- meta/lib/oe/image.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'meta/lib/oe') diff --git a/meta/lib/oe/image.py b/meta/lib/oe/image.py index a2f94a1cd4..95c62dca44 100644 --- a/meta/lib/oe/image.py +++ b/meta/lib/oe/image.py @@ -326,6 +326,22 @@ class Image(ImageDepGraph): return image_cmd_groups + def _write_env(self): + """ + Write environment variables used by wic + to tmp/sysroots//imgdata/.env + """ + stdir = self.d.getVar('STAGING_DIR_TARGET', True) + outdir = os.path.join(stdir, 'imgdata') + if not os.path.exists(outdir): + os.makedirs(outdir) + basename = self.d.getVar('IMAGE_BASENAME', True) + with open(os.path.join(outdir, basename) + '.env', 'w') as envf: + for var in self.d.getVar('WICVARS', True).split(): + value = self.d.getVar(var, True) + if value: + envf.write('%s="%s"\n' % (var, value.strip())) + def create(self): bb.note("###### Generate images #######") pre_process_cmds = self.d.getVar("IMAGE_PREPROCESS_COMMAND", True) @@ -337,6 +353,8 @@ class Image(ImageDepGraph): image_cmd_groups = self._get_imagecmds() + self._write_env() + for image_cmds in image_cmd_groups: # create the images in parallel nproc = multiprocessing.cpu_count() -- cgit v1.2.3-54-g00ecf