[bitbake-devel] [PATCH] data.py: Add a warning when expandKeys overwrites an existing key

Mark Hatle mark.hatle at windriver.com
Tue Mar 19 19:54:31 UTC 2013


On 3/19/13 3:28 PM, Mark Hatle wrote:
> When two variables are defined as:
>
> ${var} = "bar"
> foo = "foobar"
>
> The value of 'foo' when ${var} == foo becomes indeterminate.  We
> want to warn a user when this situation has been encountered so they
> can take corrective actions.
>
> In the above example usually foo == bar, unless multilibs are enabled.
> Then ml-foo = "ml-foobar".

This patch highlights the places where a problem may exist.  When used with the 
current oe-core, it highlights a number of problems with the multilib 
configuration code.  (See patch sent to oe-core.)

I'd like to see this incorporated, but at this point it's definitely an RFC.

> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ---
>   lib/bb/data.py | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/lib/bb/data.py b/lib/bb/data.py
> index 7047f48..110666c 100644
> --- a/lib/bb/data.py
> +++ b/lib/bb/data.py
> @@ -158,6 +158,11 @@ def expandKeys(alterdata, readdata = None):
>
>       for key in todolist:
>           ekey = todolist[key]
> +        if ekey in keys(alterdata):
> +            val = alterdata.getVar(key, 0)
> +            newval = alterdata.getVar(ekey, 0)
> +            if val is not None and newval is not None:
> +                bb.warn("Variable key %s (%s) replaces original key %s (%s)." % (key, val, ekey, newval))
>           alterdata.renameVar(key, ekey)
>
>   def inheritFromOS(d, savedenv, permitted):
>





More information about the bitbake-devel mailing list