Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/2] configs: add autobuild configs
Date: Sun, 26 Mar 2017 22:03:00 +0200	[thread overview]
Message-ID: <20170326220300.17bb84f9@free-electrons.com> (raw)
In-Reply-To: <20170326194315.17791-2-arnout@mind.be>

Hello,

On Sun, 26 Mar 2017 21:43:15 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> We currently have a list of toolchain configurations that are used by
> the autobuilders at [1]. However, this makes it a little more difficult
> for people to use these configurations, and also to have a different
> list of configurations for different branches. For example if a new
> architecture is introduced, the 2017.02.x branch doesn't have support
> for this architecture yet so it shouldn't try to run those configs.
> 
> Therefore, include the autobuild defconfigs directly in Buildroot, so
> they can be branched together with the rest. To avoid polluting the
> configs/ directory too much, the autobuild defconfigs are kept in an
> "autobuild" subdirectory.
> 
> The toolchain-configs.csv file also contained additional information:
> the hostarch required by the toolchain binary, and the libc used. The
> latter can be found in the defconfig itself,

How is the latter found in the defconfig? For example, with:

+BR2_HOSTARCH="x86"
+BR2_x86_pentium4=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86=y

How will the autobuilder script know that it is a glibc toolchain?

> but the hostarch isn't in
> there. To avoid still having to maintain a separate file, we just add a
> BR2_HOSTARCH string to the defconfig file. When the defconfig is used
> this string is completely ignored, but it can be used by the
> autobuild-run script.

So this BR2_HOSTARCH option needs to be added manually to the
defconfig: the defconfig are not directly the result of "make
savedefconfig", correct?

> Instead of this approach, I also considered adding the
> buildroot-generated toolchains as external toolchains to the menus.
> However, then there would still be a need for config files that specify
> the subarch used, as well as e.g. STATIC. While with this approach the
> entire toolchains/configs directory can be removed from
> autobuild.buildroot.net.

I also think this approach doesn't make much sense, because several of
the autobuild toolchains really don't make sense to have exposed in
Buildroot external toolchain menu. Some toolchain configurations only
exist just for the sake of testing interesting combinations.

Examples: the ARM no-thread toolchain, the basic PowerPC toolchain with
just C++ support, the ARM/glibc toolchain that intentionally always
uses the latest available version of gcc/binutils/glibc, etc.

Other than the issues raised above, I'm generally fine with the idea, I
think it makes sense. If we are going to change the architecture of the
autobuild-run there are lots of different things that could be done:

 - Testing different branches, like you are suggesting.

 - Change how "exceptions" are handled. Currently, people have to
   update their autobuild-run script to have the updated list of
   exceptions. It would be nice if this was not necessary, either by
   having the configuration generated by the autobuild server, or by
   having this list of exceptions in Buildroot itself so that it gets
   naturally updated when pulling the latest version of the source code.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

  reply	other threads:[~2017-03-26 20:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-26 19:43 [Buildroot] [PATCH 1/2] Makefile: support defconfigs in subdirectories Arnout Vandecappelle
2017-03-26 19:43 ` [Buildroot] [PATCH 2/2] configs: add autobuild configs Arnout Vandecappelle
2017-03-26 20:03   ` Thomas Petazzoni [this message]
2017-03-26 21:40     ` Arnout Vandecappelle

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=20170326220300.17bb84f9@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