[poky] Order of .conf processing?
Richard Purdie
richard.purdie at linuxfoundation.org
Mon Jul 18 07:28:26 PDT 2011
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?
Cheers,
Richard
More information about the poky
mailing list