[bitbake-devel] [PATCH v2] command.py: multiconfig support for findBestProvider

Patrick Ohly patrick.ohly at intel.com
Mon Apr 10 06:01:07 UTC 2017


On Sat, 2017-04-08 at 10:33 -0700, Juro Bystricky wrote:
> In a multiconfig environment, a tinfoil call such as
> 
>     tinfoil.parse_recipe("multiconfig:arduino-101-sss:gcc")
> 
> can fail with an error such as:
> 
>   File "/data/master/poky/bitbake/lib/bb/tinfoil.py", line 373, in get_recipe_file
>     raise bb.providers.NoProvider('Unable to find any recipe file matching "%s"' % pn)
> bb.providers.NoProvider: Unable to find any recipe file matching "multiconfig:arduino-101-sss:gcc"
> 
> The culprit is findBestProvider, which does not handle multiconfig.
> This patch fixes the error and in the case mentioned above the tinfoil call returns:
> 
>   "multiconfig:arduino-101-sss:/data/master/poky/meta/recipes-devtools/gcc/gcc_6.3.bb"
> 
> [YOCTO#11210]
> 
> Signed-off-by: Juro Bystricky <juro.bystricky at intel.com>
> ---
>  bitbake/lib/bb/command.py | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
> index 78a86ac..340842b 100644
> --- a/bitbake/lib/bb/command.py
> +++ b/bitbake/lib/bb/command.py
> @@ -141,6 +141,13 @@ class Command:
>          self.currentAsyncCommand = None
>          self.cooker.finishcommand()
>  
> +def split_mc_pn(pn):
> +    if pn.startswith("multiconfig:"):
> +        mc = pn.split(":")[1]
> +        pn = ":".join(pn.split(":")[2:])

I find this more readable:

if pn.startswith("multiconfig:"):
    _, mc, pn = pn.split(":", 2)

Not sure whether it is worth a v3, though.

-- 
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.






More information about the bitbake-devel mailing list