Message ID | 20220728184436.1866411-1-tom.hochstein@nxp.com |
---|---|
State | New |
Headers | show |
Series | uboot-config.bbclass: Raise error for bad key | expand |
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 --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())) }
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(-)