[poky] Order of .conf processing?

Gary Thomas gary at mlbassoc.com
Mon Jul 18 07:34:00 PDT 2011


On 07/18/2011 08:28 AM, Richard Purdie wrote:
> On Mon, 2011-07-18 at 07:12 -0700, Chris Larson wrote:
>> On Mon, Jul 18, 2011 at 7:05 AM, Gary Thomas<gary at mlbassoc.com>  wrote:
>>> On 07/18/2011 07:59 AM, Chris Larson wrote:
>>>>
>>>> On Mon, Jul 18, 2011 at 6:51 AM, Gary Thomas<gary at mlbassoc.com>   wrote:
>>>>>
>>>>> What's the order of processing of the various .conf files?
>>>>>
>>>>> It seems to me that bitbake.conf must be first as it seems
>>>>> impossible to override settings in that file using a soft
>>>>> assignment.  In particular, local.conf often has soft settings
>>>>> but these dont' seem to change what's in bitbake.conf
>>>>
>>>> BitBake only parses one global configuration file, bitbake.conf. It's
>>>> bitbake.conf that includes/requires all the other configuration files.
>>>> You can see the order by reading those inclusions in bitbake.conf.
>>>> Historically, the intention was for the configuration file load order
>>>> to be relatively parallel to the overrides order -- two different
>>>> mechanisms for implementing what is essentially a layered architecture
>>>> for the metadata, allowing, generally, more specific information to
>>>> override more general information. The configuration file order
>>>> differs slightly from that, however, as it's not possible to load the
>>>> distro or machine config files after local.conf, as local.conf is
>>>> generally where DISTRO and MACHINE are defined.
>>>
>>> In that case, isn't using ?= assignments in bitbake.conf a bit misleading?
>>
>> First, there is one place variables can come from before the
>> configuration files, and that's the process environment, for variables
>> which aren't filtered out. Second, it could use ?= sanely after the
>> configuration files are included, as well.
>
> It does this second part pretty clearly:
>
> [...]
> require conf/xxx.conf
> require conf/yyy.conf
>
> TUNE_ARCH ?= "INVALID"
> TUNE_FEATURES ?= "${TUNE_FEATURES_tune-${TUNENAME}}"
>
> ##################################################################
> # Weak variables (usually to retain backwards compatibility)
> ##################################################################
>
> DL_DIR ?= "${TOPDIR}/downloads"
> [...]
>
> so most of the ?= variables are after the includes.
>
> Looking at the file, there are some good candidates for either = or ??=
> though, including I suspect the console ones which are likely what
> prompted this?

Yes, I tried to override TERMCMD using ?= in local.conf and that didn't
work.  Using = fixed it though.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the poky mailing list