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

Richard Purdie richard.purdie at linuxfoundation.org
Thu Apr 6 11:45:43 UTC 2017


On Thu, 2017-04-06 at 10:43 +0200, Patrick Ohly wrote:
> On Wed, 2017-04-05 at 14:34 -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 (only called from tinfoil), which
> > does not
> > handle multiconfig. This patch fixes the error and the tinfoil call
> > returns absolute path
> > to the recipe, i.e:
> > 
> >   "/data/master/poky/meta/recipes-devtools/gcc/gcc_6.3.bb"
> So tinfoil.parse_recipe("multiconfig:arduino-101-sss:gcc") and
> tinfoil.parse_recipe("gcc") then return identical data, because both
> end
> up parsing "/data/master/poky/meta/recipes-devtools/gcc/gcc_6.3.bb"
> without taking the "arduino-101-sss" config into account?
> 
> That wouldn't be correct.
> 
> As far as I understand it, the mapping has to be:
> multiconfig:arduino-101-sss:gcc ->
> multiconfig:arduino-101-sss:/data/master/poky/meta/recipes-
> devtools/gcc/gcc_6.3.bb

I agree with Patrick. At a quick glance, I think the caller
of findBestProvider is going to need to handle the mc, which is
why findBestProvider takes it as a parameter.

Cheers,

Richard



More information about the bitbake-devel mailing list