mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
image.py: write bitbake variables to .env file
Write set of bitbake variables used by wic into build/tmp/sysroots/<machine>/imagedata/<image>.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 <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
8a5eb20a43
commit
7770281354
@@ -248,3 +248,7 @@ IMAGE_EXTENSION_live = "hddimg iso"
|
||||
# The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES,
|
||||
# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hddimg, iso, etc.
|
||||
IMAGE_TYPES_MASKED ?= ""
|
||||
|
||||
# The WICVARS variable is used to define list of bitbake variables used in wic code
|
||||
# variables from this list is written to <image>.env file
|
||||
WICVARS ?= "BBLAYERS DEPLOY_DIR_IMAGE HDDDIR IMAGE_BASENAME IMAGE_BOOT_FILES IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD ISODIR MACHINE_ARCH ROOTFS_SIZE STAGING_DATADIR STAGING_DIR_NATIVE STAGING_LIBDIR TARGET_SYS"
|
||||
|
||||
@@ -326,6 +326,22 @@ class Image(ImageDepGraph):
|
||||
|
||||
return image_cmd_groups
|
||||
|
||||
def _write_env(self):
|
||||
"""
|
||||
Write environment variables used by wic
|
||||
to tmp/sysroots/<machine>/imgdata/<image>.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()
|
||||
|
||||
Reference in New Issue
Block a user