[OE-core] SRC_URI computing order

Eric Bénard eric at eukrea.com
Sat Nov 2 08:47:25 UTC 2013


Hi Richard,

Le Wed, 30 Oct 2013 15:15:12 +0000,
Richard Purdie <richard.purdie at linuxfoundation.org> a écrit :

> On Tue, 2013-10-29 at 08:28 +0100, Eric Bénard wrote:
> > Hi Khem,
> > 
> > Le Mon, 28 Oct 2013 20:45:21 -0700,
> > Khem Raj <raj.khem at gmail.com> a écrit :
> > 
> > > On Mon, Oct 28, 2013 at 7:10 AM, Eric Bénard <eric at eukrea.com> wrote:
> > > > Hi Richard,
> > > >
> > > > I saw your patch fixing FILESPATH's and Kergoth's one fixing
> > > > PACKAGECONFIG processing order and I think I'm also facing an order
> > > > problem when SRC_URI is computed.
> > > >
> > > > So when building SRC_URI when two layers have bbappend which apply
> > > > patches : the SRC_URI seems to be built using an order I fail to
> > > > understand somewhere instead of priority or the overrides' order.
> > > >
> > > > The use case is a System on Module and its custom motherboard :
> > > > - meta-fsl-arm :
> > > > * linux-imx_xyz.bb :
> > > > SRC_URI = "patchgeneric1 ..."
> > > >
> > > > - meta-som-support :
> > > > * conf/machine/mysom.conf
> > > >
> > > > * linux-imx_xyz.bbappend :
> > > > SRC_URI_append_mysom = "patchsom1 patchsom2 ..."
> > > >
> > > > - meta-custommotherboard (SOM + Cunstom Motherboard) :
> > > > * conf/machine/myproduct.conf
> > > > MACHINEOVERRIDES_prepend = "mysom:"
> > > > include conf/machine/mysom.conf
> > > >
> > > > * linux-imx_xyz.bbappend :
> > > > SRC_URI_append_myproduct = "patchproduct1 patchproduct2 ..."
> > > >
> > > > in the end I get :
> > > > SRC_URI = "patchgeneric1 ... patchsoc1 ... patchproduct1 ...
> > > > patchsom1 ..."
> > > >
> > > > and of course as patchproduct* are supposed to apply on top of
> > > > patchsoc* the patch fail to apply.
> > > >
> > > > I didn't found a way to build SRC_URI in the order I would like (I
> > > > tested : changing MACHINEOVERRIDES 's order, changing layers' priority,
> > > > changing machine's name to see if that was an alphabetical order ...).
> > > >
> > > > In the end the only thing which worked was to add an (empty by default)
> > > > variable in som's SRC_URI and filling this variables from the
> > > > custommotherboard's bbappend.
> > > >
> > > > Is the behaviour I'm seeing expected or is there something wrong in my
> > > > setup ?
> > > 
> > > what is your OVERRIDES order.
> > > 
> > "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
> > 
> > so it follows the MACHINEOVERRIDES order (and I tried both append and
> > prepend to hack MACHINEOVERRIDES without any behaviour change).
> 
> I think what Khem is asking is what OVERRIDES expands to?
> 
> You mean patchso* and not patchsoc* above, right? Or should patchsom1 be
> patchsoc2?
> 
oops :
I expect  SRC_URI = "patchgeneric1 ... patchsom1 ... patchproduct1 ..."
and I get :
SRC_URI = "patchgeneric1 ... patchproduct1 ... patchsom1 ..."

> Its hard to follow and it might be easier if you could share a
> simplified test case we could reproduce this with. I don't doubt there
> is an issue in there but we need a way to reproduce and debug this.
> 
OK, I'm preparing a simple testcase to reproduce that with oe-core +
meta-fsl-arm + meta-som + meta-baseboard.

Eric



More information about the Openembedded-core mailing list