CLASS: fix wrong var dependency
Signed-off-by: Priouzeau Christophe <christophe.priouzeau@st.com>
This commit is contained in:
parent
c9f76277cd
commit
3c67c03907
|
|
@ -87,50 +87,6 @@ UBOOT_EXTLINUX_KERNEL_IMAGE ?= "/${KERNEL_IMAGETYPE}"
|
||||||
UBOOT_EXTLINUX_KERNEL_ARGS ?= "rootwait rw"
|
UBOOT_EXTLINUX_KERNEL_ARGS ?= "rootwait rw"
|
||||||
UBOOT_EXTLINUX_TIMEOUT ?= "20"
|
UBOOT_EXTLINUX_TIMEOUT ?= "20"
|
||||||
|
|
||||||
UBOOT_EXTLINUX_CONFIGURE_FILES ??= ""
|
|
||||||
|
|
||||||
python update_extlinuxconf_targets() {
|
|
||||||
"""
|
|
||||||
Append dynamically to UBOOT_EXTLINUX_TARGETS new target list generated from
|
|
||||||
config flag list (UBOOT_EXTLINUX_CONFIG_FLAGS) and supported devicetree list
|
|
||||||
for each flag (UBOOT_EXTLINUX_DEVICEFLAG_xxx)
|
|
||||||
"""
|
|
||||||
import re
|
|
||||||
|
|
||||||
default_targets = d.getVar('UBOOT_EXTLINUX_CONFIGURED_TARGETS')
|
|
||||||
if not default_targets:
|
|
||||||
bb.fatal("UBOOT_EXTLINUX_CONFIGURED_TARGETS not defined, please update your config")
|
|
||||||
if not default_targets.strip():
|
|
||||||
bb.fatal("No UBOOT_EXTLINUX_CONFIGURED_TARGETS list defined, nothing to do")
|
|
||||||
bb.note('UBOOT_EXTLINUX_CONFIGURED_TARGETS: %s' % default_targets)
|
|
||||||
|
|
||||||
config_flags = d.getVar('UBOOT_EXTLINUX_CONFIG_FLAGS')
|
|
||||||
if not config_flags:
|
|
||||||
bb.fatal("UBOOT_EXTLINUX_CONFIG_FLAGS not defined, please update your config")
|
|
||||||
if not config_flags.strip():
|
|
||||||
bb.fatal("No UBOOT_EXTLINUX_CONFIG_FLAGS list defined, nothing to do")
|
|
||||||
bb.note('UBOOT_EXTLINUX_CONFIG_FLAGS: %s' % config_flags)
|
|
||||||
|
|
||||||
for config_label in config_flags.split():
|
|
||||||
bb.note('*** Loop for config_label: %s' % config_label)
|
|
||||||
devicetree_list = d.getVar('UBOOT_EXTLINUX_DEVICEFLAG_%s' % config_label) or ''
|
|
||||||
if devicetree_list is None:
|
|
||||||
continue
|
|
||||||
for devicetree in devicetree_list.split():
|
|
||||||
bb.note('*** Loop for devicetree: %s' % devicetree)
|
|
||||||
target_prefix = re.match('^stm32(.*)$', devicetree)
|
|
||||||
new_target = target_prefix.group(1) + '_' + config_label
|
|
||||||
bb.note('>>> New target label: %s' % new_target)
|
|
||||||
if not new_target in default_targets.split():
|
|
||||||
bb.note('Computed target: "%s" is not part of UBOOT_EXTLINUX_CONFIGURED_TARGETS: %s' % (new_target, default_targets))
|
|
||||||
bb.note('Target not append to UBOOT_EXTLINUX_TARGETS')
|
|
||||||
continue
|
|
||||||
# Append target to UBOOT_EXTLINUX_TARGETS list
|
|
||||||
d.appendVar('UBOOT_EXTLINUX_TARGETS', ' ' + new_target)
|
|
||||||
bb.note('>>> Append %s to UBOOT_EXTLINUX_TARGETS' % new_target)
|
|
||||||
bb.note('>>> UBOOT_EXTLINUX_TARGETS (updated): %s' % d.getVar('UBOOT_EXTLINUX_TARGETS'))
|
|
||||||
}
|
|
||||||
|
|
||||||
python do_create_multiextlinux_config() {
|
python do_create_multiextlinux_config() {
|
||||||
targets = d.getVar('UBOOT_EXTLINUX_TARGETS')
|
targets = d.getVar('UBOOT_EXTLINUX_TARGETS')
|
||||||
if not targets:
|
if not targets:
|
||||||
|
|
@ -244,5 +200,11 @@ addtask create_multiextlinux_config before do_compile
|
||||||
|
|
||||||
do_create_multiextlinux_config[dirs] += "${B}"
|
do_create_multiextlinux_config[dirs] += "${B}"
|
||||||
do_create_multiextlinux_config[cleandirs] += "${B}"
|
do_create_multiextlinux_config[cleandirs] += "${B}"
|
||||||
do_create_multiextlinux_config[prefuncs] += "update_extlinuxconf_targets"
|
# Manage specific var dependency:
|
||||||
do_create_multiextlinux_config[file-checksums] += "${UBOOT_EXTLINUX_CONFIGURE_FILES}"
|
# Because of local overrides within create_multiextlinux_config() function, we
|
||||||
|
# need to make sure to add each variables to the vardeps list.
|
||||||
|
UBOOT_EXTLINUX_TARGET_VARS = "LABELS BOOTPREFIXES TIMEOUT DEFAULT_LABEL"
|
||||||
|
do_create_multiextlinux_config[vardeps] += "${@' '.join(['UBOOT_EXTLINUX_%s_%s' % (v, l) for v in d.getVar('UBOOT_EXTLINUX_TARGET_VARS').split() for l in d.getVar('UBOOT_EXTLINUX_TARGETS').split()])}"
|
||||||
|
UBOOT_EXTLINUX_LABELS_VARS = "CONSOLE MENU_DESCRIPTION ROOT KERNEL_IMAGE FDTDIR FDT KERNEL_ARGS INITRD"
|
||||||
|
UBOOT_EXTLINUX_LABELS_CONFIGURED = "${@" ".join(map(lambda t: "%s" % d.getVar("UBOOT_EXTLINUX_LABELS_%s" % t), d.getVar('UBOOT_EXTLINUX_TARGETS').split()))}"
|
||||||
|
do_create_multiextlinux_config[vardeps] += "${@' '.join(['UBOOT_EXTLINUX_%s_%s' % (v, l) for v in d.getVar('UBOOT_EXTLINUX_LABELS_VARS').split() for l in d.getVar('UBOOT_EXTLINUX_LABELS_CONFIGURED').split()])}"
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,7 @@ FLASHLAYOUT_BASENAME ??= "FlashLayout"
|
||||||
FLASHLAYOUT_SUFFIX ??= "tsv"
|
FLASHLAYOUT_SUFFIX ??= "tsv"
|
||||||
|
|
||||||
FLASHLAYOUT_BOOTSCHEME_LABELS ??= ""
|
FLASHLAYOUT_BOOTSCHEME_LABELS ??= ""
|
||||||
|
FLASHLAYOUT_CONFIG_LABELS ??= ""
|
||||||
|
|
||||||
ENABLE_FLASHLAYOUT_DEFAULT ??= "0"
|
ENABLE_FLASHLAYOUT_DEFAULT ??= "0"
|
||||||
FLASHLAYOUT_DEFAULT_SRC ??= ""
|
FLASHLAYOUT_DEFAULT_SRC ??= ""
|
||||||
|
|
@ -246,8 +247,12 @@ def get_binaryname(labeltype, bootscheme, config, partition, d):
|
||||||
binary_name = expand_var('FLASHLAYOUT_PARTITION_BIN2LOAD', bootscheme, config, partition, d)
|
binary_name = expand_var('FLASHLAYOUT_PARTITION_BIN2LOAD', bootscheme, config, partition, d)
|
||||||
bb.note('>>> Selected FLASHLAYOUT_PARTITION_BIN2LOAD: %s' % binary_name)
|
bb.note('>>> Selected FLASHLAYOUT_PARTITION_BIN2LOAD: %s' % binary_name)
|
||||||
|
|
||||||
|
# Get binary_name basename to then check for any rename case
|
||||||
|
binary_name_base = os.path.basename(binary_name)
|
||||||
|
bb.note('>>> Basename selected for %s: %s' % (binary_name, binary_name_base))
|
||||||
|
|
||||||
# Treat TF-A, TEE, U-BOOT and U-BOOT-SPL binary rename case
|
# Treat TF-A, TEE, U-BOOT and U-BOOT-SPL binary rename case
|
||||||
if re.match('^tf-a.*$', binary_name) or re.match('^u-boot.*$', binary_name) or re.match('^tee-.*$', binary_name):
|
if re.match('^tf-a.*$', binary_name_base) or re.match('^u-boot.*$', binary_name_base) or re.match('^tee-.*$', binary_name_base):
|
||||||
file_name, file_ext = os.path.splitext(binary_name)
|
file_name, file_ext = os.path.splitext(binary_name)
|
||||||
# Init binary_type to use from labeltype
|
# Init binary_type to use from labeltype
|
||||||
binary_type = labeltype + '-' + bootscheme
|
binary_type = labeltype + '-' + bootscheme
|
||||||
|
|
@ -266,7 +271,7 @@ def get_binaryname(labeltype, bootscheme, config, partition, d):
|
||||||
binary_type = re.sub(r'-%s$' % pattern2replace, '-' + pattern2use, binary_type)
|
binary_type = re.sub(r'-%s$' % pattern2replace, '-' + pattern2use, binary_type)
|
||||||
bb.note('>>> New "binary_type" to use for binary name": %s' % binary_type)
|
bb.note('>>> New "binary_type" to use for binary name": %s' % binary_type)
|
||||||
# Append binary_type to binary name
|
# Append binary_type to binary name
|
||||||
if re.match('^u-boot-spl.*$', binary_name):
|
if re.match('^u-boot-spl.*$', binary_name_base):
|
||||||
binary_name = file_name + file_ext + '-' + binary_type
|
binary_name = file_name + file_ext + '-' + binary_type
|
||||||
else:
|
else:
|
||||||
binary_name = file_name + '-' + binary_type + file_ext
|
binary_name = file_name + '-' + binary_type + file_ext
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue