[oe] [OE-core] SRC_URI computing order

Andrea Adami andrea.adami at gmail.com
Wed Nov 6 08:45:39 UTC 2013


On Mon, Nov 4, 2013 at 11:13 PM, Andrea Adami <andrea.adami at gmail.com> wrote:
> 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
FYI
In the hurry for a solution for fixing formfactor and ipaq-boot-params
my quick hack was to revert

http://cgit.openembedded.org/openembedded-core/commit/meta?id=92cbf7eeea553bfa24c7081473fa8bc4ebc1f552

That appears to fix the specific issue...

Andrea



More information about the Openembedded-devel mailing list