diff mbox series

uboot-config.bbclass: Raise error for bad key

Message ID 20220728184436.1866411-1-tom.hochstein@nxp.com
State New
Headers show
Series uboot-config.bbclass: Raise error for bad key | expand

Commit Message

Tom Hochstein July 28, 2022, 6:44 p.m. UTC
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>
---
 meta/classes/uboot-config.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Otavio Salvador July 28, 2022, 7:01 p.m. UTC | #1
Em qui., 28 de jul. de 2022 às 15:44, Tom Hochstein <tom.hochstein@nxp.com>
escreveu:

> 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>
diff mbox series

Patch

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()))
 }