wic: Create and use new functions for getting bitbake variables
Add get_bitbake_var() and bitbake_env_lines() functions for use by plugins, which will need access to them for customization. (From OE-Core rev: f0bb47b0d7ab6520c105ce131844269172de3efd) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
534d9ba70a
commit
3cb93017e6
|
@ -60,16 +60,26 @@ def verify_build_env():
|
|||
return True
|
||||
|
||||
|
||||
def find_bitbake_env_lines(image_name):
|
||||
"""
|
||||
If image_name is empty, plugins might still be able to use the
|
||||
environment, so set it regardless.
|
||||
"""
|
||||
bitbake_env_cmd = "bitbake -e %s" % image_name
|
||||
rc, bitbake_env_lines = exec_cmd(bitbake_env_cmd)
|
||||
if rc != 0:
|
||||
print "Couldn't get '%s' output." % bitbake_env_cmd
|
||||
return None
|
||||
|
||||
return bitbake_env_lines
|
||||
|
||||
|
||||
def find_artifacts(image_name):
|
||||
"""
|
||||
Gather the build artifacts for the current image (the image_name
|
||||
e.g. core-image-minimal) for the current MACHINE set in local.conf
|
||||
"""
|
||||
bitbake_env_cmd = "bitbake -e %s" % image_name
|
||||
rc, bitbake_env_lines = exec_cmd(bitbake_env_cmd)
|
||||
if rc != 0:
|
||||
print "Couldn't get '%s' output, exiting." % bitbake_env_cmd
|
||||
sys.exit(1)
|
||||
bitbake_env_lines = get_bitbake_env_lines()
|
||||
|
||||
rootfs_dir = kernel_dir = hdddir = staging_data_dir = native_sysroot = ""
|
||||
|
||||
|
|
|
@ -109,6 +109,15 @@ def add_wks_var(key, val):
|
|||
|
||||
BOOTDD_EXTRA_SPACE = 16384
|
||||
|
||||
__bitbake_env_lines = ""
|
||||
|
||||
def set_bitbake_env_lines(bitbake_env_lines):
|
||||
global __bitbake_env_lines
|
||||
__bitbake_env_lines = bitbake_env_lines
|
||||
|
||||
def get_bitbake_env_lines():
|
||||
return __bitbake_env_lines
|
||||
|
||||
def get_line_val(line, key):
|
||||
"""
|
||||
Extract the value from the VAR="val" string
|
||||
|
@ -118,3 +127,10 @@ def get_line_val(line, key):
|
|||
stripped_line = stripped_line.replace('\"', '')
|
||||
return stripped_line
|
||||
return None
|
||||
|
||||
def get_bitbake_var(key):
|
||||
for line in __bitbake_env_lines.split('\n'):
|
||||
if (get_line_val(line, key)):
|
||||
val = get_line_val(line, key)
|
||||
return val
|
||||
return None
|
||||
|
|
|
@ -98,6 +98,12 @@ def wic_create_subcommand(args, usage_str):
|
|||
|
||||
print "Creating image(s)...\n"
|
||||
|
||||
bitbake_env_lines = find_bitbake_env_lines(options.image_name)
|
||||
if not bitbake_env_lines:
|
||||
print "Couldn't get bitbake environment, exiting."
|
||||
sys.exit(1)
|
||||
set_bitbake_env_lines(bitbake_env_lines)
|
||||
|
||||
bootimg_dir = staging_data_dir = hdddir = ""
|
||||
|
||||
if options.image_name:
|
||||
|
|
Loading…
Reference in New Issue