[yocto] Questioning FILESOVERRIDES implied precedence in setting FILESPATH...

Bob Cochran yocto at mindchasers.com
Mon Dec 1 09:54:27 PST 2014


On 12/01/2014 11:56 AM, Richard Purdie wrote:
> On Mon, 2014-12-01 at 01:00 -0500, Bob Cochran wrote:
>> In poky master, FILESOVERRIDES is constructed as follows:
>>
>> "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
>>
>> For my current build, I get:
>>
>> FILESOVERRIDES="powerpc:custom-machine:e500v2:qoriq-ppc:poky"
>>
>> FILESPATH is built by calling base_set_filespath(), which is in
>> utils.bbclass
>>
>> This function constructs FILESPATH in such a way that the distro folder
>> ("poky") comes before the other overrides ( precedence is applied right
>> to left using FILESOVERRIDES )
>>
>> I see that there was a patch to reverse the ordering back in Oct of 2013
>> (0bd63125c3b44) to make sure MACHINE overrides had precedence over
>> platform specific overrides.  However, I'm wondering if the intent was
>> to have the distro override both.  This doesn't make sense to me, so
>> please clarify whether this is correct.  If it is, please explain why
>> distro gets a higher precedence over machine.
>
> It is intentional, the concept is that the distro is the ultimate
> authority on configuration and it should be able to override anything,
> including machine specific choices. I would agree that can work well in
> some cases and less well in others.


Thank you Richard.  Good to know and somewhat surprising.

Regarding MACHINE, I think the MACHINE I specify in my local.conf should 
be the most specific machine when it comes to FILESOVERRIDES.  In other 
words, MACHINEOVERRIDES in BSP layers shouldn't override my MACHINE 
specified in my local.conf.

Is this a correct assumption?

If not, where is the right place to add the most specific 
MACHINEOVERRIDES for my configuration / target image (so it appends all 
other MACHINEOVERRIDES)?

Bob



>
> Cheers,
>
> Richard
>
>




More information about the yocto mailing list