[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