[bitbake-devel] [PATCH] data_smart: Don't cache/process capitalised overrides

Mark Hatle mark.hatle at windriver.com
Fri May 12 13:54:36 UTC 2017


On 5/12/17 3:26 AM, Richard Purdie wrote:
> Bitbake now only processes overrides which are lowercase since
> this allows variables like SRC_URI not to pollute the cache.
> 
> There was a corner case where XXX_append_SomeThing was still being
> processed (yet XXX_append_SomeThing_SomeOtherThing would not be).
> 
> This patch ensures we're consistent and only process lowercase
> _append/_prepend and _remove operators too.

I just realized a ramification of the previous and this change.  It prevents
recipe/package names with uppercase characters in them since overrides will no
longer be processed (like pn-....).

This is something that probably should be documented.  "Don't use uppercase!"

--Mark

> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
>  lib/bb/data_smart.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
> index 7dc1c68..7b09af5 100644
> --- a/lib/bb/data_smart.py
> +++ b/lib/bb/data_smart.py
> @@ -39,7 +39,7 @@ from bb.COW  import COWDictBase
>  logger = logging.getLogger("BitBake.Data")
>  
>  __setvar_keyword__ = ["_append", "_prepend", "_remove"]
> -__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>.*))?$')
> +__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
>  __expand_var_regexp__ = re.compile(r"\${[^{}@\n\t :]+}")
>  __expand_python_regexp__ = re.compile(r"\${@.+?}")
>  
> 




More information about the bitbake-devel mailing list