From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] Makefile: Support merged defconfigs
Date: Thu, 12 May 2016 16:02:26 +0200 [thread overview]
Message-ID: <20160512160226.62bb28bd@free-electrons.com> (raw)
In-Reply-To: <90639972664ebd51802b3c2b94b8c01e235bd956.1462771329.git.sam.bobroff@au1.ibm.com>
Hello,
On Mon, 9 May 2016 15:22:32 +1000, Sam Bobroff wrote:
> Within the Linux kernel, and several other packages, it's currently
> possible to maintain defconfigs as diffs (fragments) against other
> configs but this is not possible with buildroot itself.
>
> This patch adds the capability, although using a slightly different
> implementation. Files may be added in the normal config directories
> ($TOPDIR/configs or $BR2_EXTERNAL/configs) with the format
> "xxx_defconfig.merge" that contain, one per line, the files to be
> passed to merge_config.sh to create the matching xxx_defconfig file
> (the first line should contain the base config followed by the
> fragments). The generated defconfig file is then handled as it would
> normally be.
>
> Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Warning: the below is definitely not a final opinion or decision. It is
merely the start of a discussion.
I do like the usage of fragments. Your Github link at
https://github.com/open-power/op-build/issues/457 even points to
Buildroot training materials that I wrote, which explains how to use
fragments.
However, I am not sure whether we want in Buildroot a mechanism to
build a defconfig from fragments. To me, Buildroot should remain a
simple tool that takes as input a complete configuration, and generates
a Linux system from it.
Whether this "complete configuration" comes from a full .config, a
minimal defconfig, a defconfig generated from fragments, a defconfig
generated by a separate tool, by a webpage, or anything else, is not
Buildroot's matter. Buildroot's job starts when the configuration is
ready.
Essentially, the part that's missing in your commit is the update to
the documentation. And when you'll start updating the manual to explain
how this feature is working, you'll probably see that it's a bit tricky
to explain.
So, I'm definitely not saying "no" to this, but my belief is that it's
on the edges of Buildroot features. On the one hand, it brings a
well-defined and correct way of storing fragments and generated a
defconfig from fragments, that everyone can use and rely on. On the
other hand, it adds one more slightly "tricky" feature to Buildroot,
increasing its learning curve.
For a customer project, Gustavo has written a "genconfig" shell script,
that takes as input various parameters that define the system to be
built (which HW platform, which software stack, whether it should be a
debug or release build) and produces the defconfig for Buildroot.
What do others think?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2016-05-12 14:02 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-09 5:22 [Buildroot] [PATCH 1/1] Makefile: Support merged defconfigs Sam Bobroff
2016-05-10 1:04 ` Samuel Mendoza-Jonas
2016-05-11 4:34 ` Cyril Bur
2016-05-12 14:02 ` Thomas Petazzoni [this message]
2016-05-12 21:58 ` Arnout Vandecappelle
2016-05-13 12:59 ` Thomas Petazzoni
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=20160512160226.62bb28bd@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox