diff options
author | Tom Hochstein <tom.hochstein@nxp.com> | 2022-07-28 13:44:36 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-08-02 11:29:57 +0100 |
commit | 801a27d73b10017cac3c0caa05d0a2af3502a7ba (patch) | |
tree | 12a1b0e7e1e4b32338783e575bd18fc6dd12d6d2 | |
parent | f2617ecc93048a29e37d4213e08ddbd997139f6c (diff) | |
download | openembedded-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>
-rw-r--r-- | meta/classes/uboot-config.bbclass | 3 |
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())) } |