qemuboot.bbclass: Setup the vardeps for write_qemuboot_conf

Setting up the vardeps on write_qemuboot_conf forces the updating of
variables in qemuboot.conf when machine/deploy configuration changes.
This is particularly useful when developing or setting up the qemuboot
(e.g.  changing QB_* variables) for new targets or when changing
deployment variables (e.g. KERNEL_IMAGETYPE).

(From OE-Core rev: c568f6ce06512a108cada5c7100eb1f6de73f2ff)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nathan Rossi 2016-10-29 23:50:19 +10:00 committed by Richard Purdie
parent ebe531b38b
commit 25f9530f78
1 changed files with 9 additions and 12 deletions

View File

@ -44,25 +44,22 @@ QB_OPT_APPEND ?= "-show-cursor"
# Create qemuboot.conf
ROOTFS_POSTPROCESS_COMMAND += "write_qemuboot_conf; "
def qemuboot_vars(d):
build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE',
'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME',
'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE',
'STAGING_DIR_HOST']
return build_vars + [k for k in d.keys() if k.startswith('QB_')]
write_qemuboot_conf[vardeps] += "${@' '.join(qemuboot_vars(d))}"
python write_qemuboot_conf() {
import configparser
build_vars = ['MACHINE', 'TUNE_ARCH', 'DEPLOY_DIR_IMAGE', \
'KERNEL_IMAGETYPE', 'IMAGE_NAME', 'IMAGE_LINK_NAME', \
'STAGING_DIR_NATIVE', 'STAGING_BINDIR_NATIVE', \
'STAGING_DIR_HOST']
# Vars from bsp
qb_vars = []
for k in d.keys():
if k.startswith('QB_'):
qb_vars.append(k)
qemuboot = "%s/%s.qemuboot.conf" % (d.getVar('DEPLOY_DIR_IMAGE', True), d.getVar('IMAGE_NAME', True))
qemuboot_link = "%s/%s.qemuboot.conf" % (d.getVar('DEPLOY_DIR_IMAGE', True), d.getVar('IMAGE_LINK_NAME', True))
cf = configparser.ConfigParser()
cf.add_section('config_bsp')
for k in build_vars + qb_vars:
for k in qemuboot_vars(d):
cf.set('config_bsp', k, '%s' % d.getVar(k, True))
# QB_DEFAULT_KERNEL's value of KERNEL_IMAGETYPE is the name of a symlink