Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH/autobuild 5/8] autobuild-run: check that toolchain config lines are still present
Date: Sun, 9 Apr 2017 22:51:25 +0200	[thread overview]
Message-ID: <20170409205128.11560-5-arnout@mind.be> (raw)
In-Reply-To: <20170409205128.11560-1-arnout@mind.be>

Some lines from the toolchain config may be removed due to dependency
issues. Currently this is covered by explicit conditions in the
autobuild-run script, e.g. checking that libc is not glibc before
enabling BR2_STATIC_LIBS. However, that binds this script pretty
tightly to the logic in Buildroot itself.

So instead, just check that the toolchain configuration is still valid
after running 'olddefconfig', and discard the configuration if it
isn't.  This is similar to how it's done in the test-pkg script.

We also report all the missing lines in the log file.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 scripts/autobuild-run | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/scripts/autobuild-run b/scripts/autobuild-run
index 1df1ce0..50808b6 100755
--- a/scripts/autobuild-run
+++ b/scripts/autobuild-run
@@ -366,6 +366,16 @@ def is_toolchain_usable(**kwargs):
     with open(os.path.join(outputdir, ".config")) as configf:
         configlines = configf.readlines()
 
+    # Check that the toolchain configuration is still present
+    # Report all the missing ones
+    toolchaincomplete = True
+    for toolchainline in kwargs['config']:
+        if toolchainline not in configlines:
+            log_write(log, "WARN: missing toolchain config line: %s" % toolchainline[:-1])
+            toolchaincomplete = False
+    if not toolchaincomplete:
+        return False
+
     # The latest Linaro toolchains on x86-64 hosts requires glibc
     # 2.14+ on the host.
     if platform.machine() == 'x86_64':
@@ -564,7 +574,7 @@ def gen_config(**kwargs):
         log_write(log, "ERROR: cannot oldconfig")
         return -1
 
-    if not is_toolchain_usable(**kwargs):
+    if not is_toolchain_usable(config=config["contents"], **kwargs):
         return -1
 
     # Now, generate the random selection of packages, and fixup
-- 
2.11.0

  parent reply	other threads:[~2017-04-09 20:51 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-09 20:51 [Buildroot] [PATCH/autobuild 1/8] autobuild-run: fix typo in help text Arnout Vandecappelle
2017-04-09 20:51 ` [Buildroot] [PATCH/autobuild 2/8] autobuild-run: add '-d, --debug' option Arnout Vandecappelle
2017-04-10  8:22   ` Thomas Petazzoni
2017-04-10  8:45     ` Arnout Vandecappelle
2017-04-09 20:51 ` [Buildroot] [PATCH/autobuild 3/8] autobuild-run: use 'olddefconfig' instead of 'oldconfig' Arnout Vandecappelle
2017-04-09 20:51 ` [Buildroot] [PATCH/autobuild 4/8] autobuild-run: remove redundant 'make oldconfig' Arnout Vandecappelle
2017-04-10  8:25   ` Thomas Petazzoni
2017-04-10  8:46     ` Arnout Vandecappelle
2017-04-12  9:27       ` Thomas Petazzoni
2017-04-09 20:51 ` Arnout Vandecappelle [this message]
2017-04-10  8:28   ` [Buildroot] [PATCH/autobuild 5/8] autobuild-run: check that toolchain config lines are still present Thomas Petazzoni
2017-04-10  8:48     ` Arnout Vandecappelle
2017-04-09 20:51 ` [Buildroot] [PATCH/autobuild 6/8] autobuild-run: remove check for glibc Arnout Vandecappelle
2017-04-09 20:51 ` [Buildroot] [PATCH/autobuild 7/8] autobuild-run: simplify, don't make a dict of config Arnout Vandecappelle
2017-04-09 20:51 ` [Buildroot] [PATCH/autobuild 8/8] autobuild-run: use in-tree toolchain configs Arnout Vandecappelle
2017-04-10  8:49   ` Arnout Vandecappelle
2017-04-10  8:50   ` [Buildroot] [PATCH] " 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=20170409205128.11560-5-arnout@mind.be \
    --to=arnout@mind.be \
    --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