[OE-core] SRC_URI computing order

Eric Bénard eric at eukrea.com
Tue Oct 29 07:28:52 UTC 2013


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).

Eric



More information about the Openembedded-core mailing list