summaryrefslogtreecommitdiffstats
path: root/external/poky/meta/classes/uboot-extlinux-config.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'external/poky/meta/classes/uboot-extlinux-config.bbclass')
-rw-r--r--external/poky/meta/classes/uboot-extlinux-config.bbclass15
1 files changed, 10 insertions, 5 deletions
diff --git a/external/poky/meta/classes/uboot-extlinux-config.bbclass b/external/poky/meta/classes/uboot-extlinux-config.bbclass
index c65c421b..f4bf94be 100644
--- a/external/poky/meta/classes/uboot-extlinux-config.bbclass
+++ b/external/poky/meta/classes/uboot-extlinux-config.bbclass
@@ -104,13 +104,16 @@ python do_create_extlinux_config() {
if default:
cfgfile.write('DEFAULT %s\n' % (default))
- for label in labels.split():
+ # Need to deconflict the labels with existing overrides
+ label_overrides = labels.split()
+ default_overrides = localdata.getVar('OVERRIDES').split(':')
+ # We're keeping all the existing overrides that aren't used as a label
+ # an override for that label will be added back in while we're processing that label
+ keep_overrides = list(filter(lambda x: x not in label_overrides, default_overrides))
- overrides = localdata.getVar('OVERRIDES')
- if not overrides:
- bb.fatal('OVERRIDES not defined')
+ for label in labels.split():
- localdata.setVar('OVERRIDES', label + ':' + overrides)
+ localdata.setVar('OVERRIDES', ':'.join(keep_overrides + [label]))
extlinux_console = localdata.getVar('UBOOT_EXTLINUX_CONSOLE')
@@ -148,5 +151,7 @@ python do_create_extlinux_config() {
except OSError:
bb.fatal('Unable to open %s' % (cfile))
}
+UBOOT_EXTLINUX_VARS = "CONSOLE MENU_DESCRIPTION ROOT KERNEL_IMAGE FDTDIR FDT KERNEL_ARGS INITRD"
+do_create_extlinux_config[vardeps] += "${@' '.join(['UBOOT_EXTLINUX_%s_%s' % (v, l) for v in d.getVar('UBOOT_EXTLINUX_VARS').split() for l in d.getVar('UBOOT_EXTLINUX_LABELS').split()])}"
addtask create_extlinux_config before do_install do_deploy after do_compile