summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorTom Hochstein <tom.hochstein@nxp.com>2022-07-28 13:44:36 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-08-02 11:29:57 +0100
commit801a27d73b10017cac3c0caa05d0a2af3502a7ba (patch)
tree12a1b0e7e1e4b32338783e575bd18fc6dd12d6d2 /meta/classes
parentf2617ecc93048a29e37d4213e08ddbd997139f6c (diff)
downloadopenembedded-core-contrib-801a27d73b10017cac3c0caa05d0a2af3502a7ba.tar.gz
uboot-config.bbclass: Raise error for bad key
If an invalid key is used, the class ignores the error, with an indeterminate result. In my case, the problem surfaced in do_deploy: ``` | cp: cannot stat '/.../build/tmp/work/imx6qdlsabresd-fsl-linux-gnueabi/u-boot-imx-mfgtool/2022.04-r0/deploy-u-boot-imx-mfgtool/u-boot.imx': No such file or | directory ``` The root cause of this was that the uboot config key did not match a valid option. With the fix, the error is caught by the class: ``` ERROR: Nothing PROVIDES 'u-boot-imx-mfgtool' u-boot-imx-mfgtool was skipped: The selected UBOOT_CONFIG key ['mfgtool'] has no match in dict_keys(['sd-fslc', 'sd-imx', 'sd-optee-imx', 'sata-imx', 'mfgtool-imx']). ``` Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/uboot-config.bbclass3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/classes/uboot-config.bbclass b/meta/classes/uboot-config.bbclass
index b9ad35821a..e8da8c7452 100644
--- a/meta/classes/uboot-config.bbclass
+++ b/meta/classes/uboot-config.bbclass
@@ -125,5 +125,6 @@ python () {
else:
bb.debug(1, "Appending '%s' to UBOOT_BINARIES." % ubootbinary)
d.appendVar('UBOOT_BINARIES', ' ' + ubootbinary)
- break
+ return
+ raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
}