All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Chris Larson <clarson@kergoth.com>
Cc: Poky Project <poky@yoctoproject.org>
Subject: Re: Order of .conf processing?
Date: Mon, 18 Jul 2011 15:28:26 +0100	[thread overview]
Message-ID: <1310999306.20015.1267.camel@rex> (raw)
In-Reply-To: <CABcZANnQ9J9DDdVMgjbF2nKwcwOBcMp9XyHyBDwRyiHAYvu=iA@mail.gmail.com>

On Mon, 2011-07-18 at 07:12 -0700, Chris Larson wrote:
> On Mon, Jul 18, 2011 at 7:05 AM, Gary Thomas <gary@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@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



  reply	other threads:[~2011-07-18 14:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-18 13:51 Order of .conf processing? Gary Thomas
2011-07-18 13:59 ` Chris Larson
2011-07-18 14:05   ` Gary Thomas
2011-07-18 14:12     ` Chris Larson
2011-07-18 14:28       ` Richard Purdie [this message]
2011-07-18 14:34         ` Gary Thomas
2011-07-21 19:17           ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1310999306.20015.1267.camel@rex \
    --to=richard.purdie@linuxfoundation.org \
    --cc=clarson@kergoth.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.