Hi Mike,
On Wednesday, 8 February 2017 7:17:53 AM NZDT Mike Looijmans wrote:
> If one adds the following line to an image recipe without defining
> the function:
> ROOTFS_POSTPROCESS_COMMAND += "rootfs_funky_stuff;"
> bitbake will terminate with a cryptic error message:
> AttributeError: 'NoneType' object has no attribute 'get'
>
> To inform the user of what bitbake wasn't able to find, raise a KeyError
> exception denoting the function name before that happens. This changes the
> message to the much more useful:
> KeyError: 'rootfs_funky_stuff'
>
> Signed-off-by: Mike Looijmans
> ---
> lib/bb/build.py | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/lib/bb/build.py b/lib/bb/build.py
> index c4c8aeb..5bc18c1 100644
> --- a/lib/bb/build.py
> +++ b/lib/bb/build.py
> @@ -194,6 +194,8 @@ def exec_func(func, d, dirs = None,
> pythonexception=False): oldcwd = None
>
> flags = d.getVarFlags(func)
> +if flags is None:
> +raise KeyError(func)
> cleandirs = flags.get('cleandirs')
> if cleandirs:
> for cdir in d.expand(cleandirs).split():
This should got to the bitbake-devel list.
Whilst I agree this is an improvement, since we're trying to print a more
reasonable error message, wouldn't we be better off explicitly saying
"Function %s not defined" or similar?
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core