[yocto] Per-machine DEPENDS

Chris Tapp opensource at keylevel.com
Wed May 23 00:55:33 PDT 2012


On 17 May 2012, at 22:22, Paul Eggleton wrote:

> On Thursday 17 May 2012 22:07:50 Chris Tapp wrote:
>> On 17 May 2012, at 21:27, Paul Eggleton wrote:
>>> On Thursday 17 May 2012 21:10:10 Chris Tapp wrote:
>>>> Is it possible to have the (R)DEPENDS list vary depending on the machine
>>>> being built?
>>>> 
>>>> For example, I want 'this-bit' to be included for a 'machine-1' build,
>>>> but
>>>> not 'machine-2'.
>>>> 
>>>> Something like:
>>>> 
>>>> DEPENDS = "common-stuff"
>>>> 
>>>> DEPENDS_machine-1 = "${DEPENDS} this-stuff"
>>> 
>>> Yes, that will work. If the DEPENDS change implies some different
>>> configuration I'd recommend being explicit about it as well e.g. via
>>> EXTRA_OECONF or whatever is appropriate; this is particularly important
>>> for the case where the extra dependency is not included and the configure
>>> script for the application would auto-detect the presence of the
>>> additional dependency in the absence of an explicit configure option.
>> 
>> Thanks. Is there some documentation that explains how the suffixes are build
>> up, when they are used, etc. ?
> 
> These "suffixes" are called overrides in BitBake parlance. If an override 
> appears in the OVERRIDES variable then it is applied, and the OVERRIDES 
> variable is built up out of the values of various other variables (including 
> MACHINE, DISTRO, etc - see 'bitbake -e | grep OVERRIDES'). I'm pretty sure 
> this is covered in the BitBake manual, although unfortunately that is only 
> available in source format right now.


Do overrides work with any variable? The RPi layer is using BBMASK to filter out some recipes when building against Yocto. This has to be manually added to local.conf. Would it be possible to do this automatically in the layer using an override based on the distro name/version? e.g. could something like the following be added to the layer.conf file?

BBMASK_poky_7.0? += " ${LAYERDIR}/stuff-i-dont-want"

Or would it be better to have distro-specific recipe trees and then (somehow) apply overrides to BBFILES:

BBFILES := "${BBFILES} ${LAYERDIR}/recipes*/*/*.bb \ 
            ${LAYERDIR}/recipes*/*/*.bbappend"

BBFILES<something-to-add-parts> "${LAYERDIR}/poky-7.0/*/*.bbappend"

Chris Tapp

opensource at keylevel.com
www.keylevel.com






More information about the yocto mailing list