diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/uboot-extlinux-config.bbclass | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/meta/classes/uboot-extlinux-config.bbclass b/meta/classes/uboot-extlinux-config.bbclass index b5b1a81dfc..f4bf94be04 100644 --- a/meta/classes/uboot-extlinux-config.bbclass +++ b/meta/classes/uboot-extlinux-config.bbclass | |||
@@ -104,13 +104,16 @@ python do_create_extlinux_config() { | |||
104 | if default: | 104 | if default: |
105 | cfgfile.write('DEFAULT %s\n' % (default)) | 105 | cfgfile.write('DEFAULT %s\n' % (default)) |
106 | 106 | ||
107 | for label in labels.split(): | 107 | # Need to deconflict the labels with existing overrides |
108 | label_overrides = labels.split() | ||
109 | default_overrides = localdata.getVar('OVERRIDES').split(':') | ||
110 | # We're keeping all the existing overrides that aren't used as a label | ||
111 | # an override for that label will be added back in while we're processing that label | ||
112 | keep_overrides = list(filter(lambda x: x not in label_overrides, default_overrides)) | ||
108 | 113 | ||
109 | overrides = localdata.getVar('OVERRIDES') | 114 | for label in labels.split(): |
110 | if not overrides: | ||
111 | bb.fatal('OVERRIDES not defined') | ||
112 | 115 | ||
113 | localdata.setVar('OVERRIDES', label + ':' + overrides) | 116 | localdata.setVar('OVERRIDES', ':'.join(keep_overrides + [label])) |
114 | 117 | ||
115 | extlinux_console = localdata.getVar('UBOOT_EXTLINUX_CONSOLE') | 118 | extlinux_console = localdata.getVar('UBOOT_EXTLINUX_CONSOLE') |
116 | 119 | ||