From: Quentin Schulz Date: Fri, 17 Jan 2025 16:50:54 +0000 (+0100) Subject: uboot-extlinux-config.bbclass: invalidate do_create_extlinux_config on changes to... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a41fd633786a2404b5eee399ed0602e229c4be77;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git uboot-extlinux-config.bbclass: invalidate do_create_extlinux_config on changes to UBOOT_EXTLINUX_FDTOVERLAYS:x do_create_extlinux_config is using a bit of an odd mechanism which doesn't work well with sstate cache invalidation. BitBake will detect changes to UBOOT_EXTLINUX_FDTOVERLAYS because it's explicitly mentioned in the task, but it'll miss changes to UBOOT_EXTLINUX_FDTOVERLAYS:label because this OVERRIDES is set within the task, so the value of UBOOT_EXTLINUX_FDTOVERLAYS for the label OVERRIDES will only ever change from within the task, while it is running, much later than during parsing. For that to work properly, we need to add the entire variable (including the OVERRIDES part) to the vardeps varflag of the task so that its value is monitored. This is already done for all possible label variables but FDTOVERLAYS was forgotten. Fixes: 3ac21b32b5f5 ("uboot-extlinux-config.bbclass: add support for DTBOs") Signed-off-by: Quentin Schulz Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/classes-recipe/uboot-extlinux-config.bbclass b/meta/classes-recipe/uboot-extlinux-config.bbclass index 2fa83b2c8b..099476f5d6 100644 --- a/meta/classes-recipe/uboot-extlinux-config.bbclass +++ b/meta/classes-recipe/uboot-extlinux-config.bbclass @@ -162,7 +162,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" +UBOOT_EXTLINUX_VARS = "CONSOLE MENU_DESCRIPTION ROOT KERNEL_IMAGE FDTDIR FDT FDTOVERLAYS 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()])}" do_create_extlinux_config[vardepsexclude] += "OVERRIDES"