[oe] Using EXTERNALSRC in practice

Paul Eggleton paul.eggleton at linux.intel.com
Thu Jun 23 03:45:50 UTC 2016


Hi Ulf,

On Tue, 21 Jun 2016 00:02:12 Ulf Samuelsson wrote:
> Den 2016-06-20 kl. 15:58, skrev Jérémy Rosen:
> > On 20/06/2016 15:48, Ulf Samuelsson wrote:
> >> Den 2016-06-20 kl. 14:37, skrev Jérémy Rosen:
> >>> On 20/06/2016 14:08, Ulf Samuelsson wrote:
> >>>> We have a meta-layer which builds the kernel.
> >>>> 
> >>>> This contains among other things:
> >>>> 
> >>>> FILESEXTRAPATHS_prepend_<machine> = "${THIS_DIR}/<machine>"
> >>>> 
> >>>> SRC_URI = "git://<server>/<repo.git>;protocol=ssh;branch=<branch>"
> >>>> SRC_URI += "file://defconfig"
> >>>> 
> >>>> PV = "...+git${SRCPV}"
> >>>> SRCREV = "<shaid>"
> >>>> ...
> >>>> 
> >>>> Would like to have an option to build the kernel with external source.
> >>>> That option should be easy to enable/disable
> >>> 
> >>> [skip the rest]
> >>> 
> >>> What you are describing here is very close to how the devtool works.
> >>> I think it can deal with kernel packages in its latest iteration
> >>> 
> >>> did you have a look at that tool ? does it satisfy your need ? if
> >>> not, what would it need to do what you want...
> >> 
> >> No, where can I find more information?
> > 
> > The yocto manual has quite a section on that tool
> > 
> >> The customer does not use the latest version of Yocto right now, so
> >> that might be a problem,
> > 
> > depends on how old "not the latest" is... but if you can do a sandbox
> > with the latest version, you can probably see how devtool works and
> > manually do the same thing...
> 
> They use Yocto Layers, but not poky, so devtool is not present.

No part of devtool is in poky alone - where did you get this idea?
devtool is part of OE-Core, so unless you have a version of OE-Core that's 
older than fido then you should have it.

> Anyway, devtool will generate an absolute path, and I am looking for
> a recipe which uses a relative path to allow multiple yocto instances.

Right, this isn't what devtool is intended to be used for. externalsrc alone 
should allow it however - provided you could either use ${THISDIR} or 
${COREBASE} as paths if you wanted something relative to where all the 
metadata is checked out. Note you'll need to use := if you use ${THISDIR} so 
that it is evaluated when the bbappend is parsed and not at any other time 
(where the file context might be different).

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-devel mailing list