diff options
| -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 | ||
