[oe] [OE-core] SRC_URI computing order

Andrea Adami andrea.adami at gmail.com
Mon Nov 4 22:13:33 UTC 2013


On Mon, Nov 4, 2013 at 12:10 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Sun, 2013-11-03 at 23:16 +0100, Andrea Adami wrote:
>> On Sat, Nov 2, 2013 at 9:47 AM, Eric Bénard <eric at eukrea.com> wrote:
>> > 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
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core at lists.openembedded.org
>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>
>> I have to report an undesiderate behavior:
>>
>> the formfactor files in our .bbappend are not considered :/
>> DEBUG: Searching for machconfig in paths:....
>>   /oe/oe-core/meta/recipes-bsp/formfactor/formfactor-0.0/
>>   /oe/oe-core/meta/recipes-bsp/formfactor/formfactor/
>>   /oe/oe-core/meta/recipes-bsp/formfactor/files/
>>   /oe/meta-handheld/recipes-bsp/formfactor/files/poodle
>>
>> so we end up with the empty machconfig of
>> /oe/oe-core/meta/recipes-bsp/formfactor/files/
>>
>> Surely this didn't happen when we tested the recipe.
>
> With which revision of OE-Core? Was this with the dora release tag,
> current dora head or master?
>
> Cheers,
>
> Richard
>
>

This was with fresh master:

Build Configuration:
BB_VERSION        = "1.21.0"
BUILD_SYS         = "i686-linux"
NATIVELSBSTRING   = "Gentoo"
TARGET_SYS        = "arm-oe-linux-gnueabi"
MACHINE           = "poodle"
DISTRO_VERSION    = "oe-core.0"
TUNE_FEATURES     = "armv5 thumb dsp"
TARGET_FPU        = "soft"
meta              = "master:511b4194165ed7a5645169e09c27db280d5a5316"
meta-initramfs    = "master:4d62e7f575e2a87197c74ab4639561b45eec0e60"
meta-handheld     = "master:55a310666b543e6beca47fa3c197492d5a6cf8ff"

Cheers



More information about the Openembedded-devel mailing list