u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>
Subject: [PATCH v2 03/27] buildman: Use oldconfig when adjusting the config
Date: Sat,  7 Oct 2023 17:12:22 -0600	[thread overview]
Message-ID: <20231007231255.277623-4-sjg@chromium.org> (raw)
In-Reply-To: <20231007231255.277623-1-sjg@chromium.org>

We cannot be sure that the new config is consistent, particularly when
changing a major item like CONFIG_CMDLINE. Use 'make oldconfig' to
check that and avoid any such problems.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 tools/buildman/builder.py       | 2 +-
 tools/buildman/builderthread.py | 6 ++++++
 tools/buildman/func_test.py     | 4 +++-
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 5305477c5be6..782e59dd5cca 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -476,7 +476,7 @@ class Builder:
         Args:
             commit: Commit object that is being built
             brd: Board object that is being built
-            stage: Stage that we are at (mrproper, config, build)
+            stage: Stage that we are at (mrproper, config, oldconfig, build)
             cwd: Directory where make should be run
             args: Arguments to pass to make
             kwargs: Arguments to pass to command.run_pipe()
diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index 6a61f64da1d4..a8599c0bb2a8 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -426,6 +426,12 @@ class BuilderThread(threading.Thread):
 
         # Now do the build, if everything looks OK
         if result.return_code == 0:
+            if adjust_cfg:
+                oldc_args = list(args) + ['oldconfig']
+                oldc_result = self.make(commit, brd, 'oldconfig', cwd,
+                                        *oldc_args, env=env)
+                if oldc_result.return_code:
+                    return oldc_result
             result = self._build(commit, brd, cwd, args, env, cmd_list,
                                  config_only)
             if adjust_cfg:
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index 55dd494fe8ee..6b88ed815d65 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -439,6 +439,8 @@ class TestFunctional(unittest.TestCase):
             tools.write_file(fname, b'CONFIG_SOMETHING=1')
             return command.CommandResult(return_code=0,
                     combined='Test configuration complete')
+        elif stage == 'oldconfig':
+            return command.CommandResult(return_code=0)
         elif stage == 'build':
             stderr = ''
             fname = os.path.join(cwd or '', out_dir, 'u-boot')
@@ -461,7 +463,7 @@ Some images are invalid'''
             return command.CommandResult(return_code=0)
 
         # Not handled, so abort
-        print('make', stage)
+        print('_HandleMake failure: make', stage)
         sys.exit(1)
 
     # Example function to print output lines
-- 
2.42.0.609.gbb76f46606-goog


  parent reply	other threads:[~2023-10-07 23:23 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-07 23:12 [PATCH v2 00/27] Tidy up use of CONFIG_CMDLINE Simon Glass
2023-10-07 23:12 ` [PATCH v2 01/27] command.h: Add a U_BOOT_LONGHELP macro Simon Glass
2023-10-07 23:12 ` [PATCH v2 02/27] cmd: Convert existing long help messages to the new macro Simon Glass
2023-10-07 23:12 ` Simon Glass [this message]
2023-10-07 23:12 ` [PATCH v2 04/27] bootstd: Correct dependencies on CMDLINE Simon Glass
2023-10-07 23:32   ` Tom Rini
2023-10-07 23:45     ` Simon Glass
2023-10-09 14:36       ` Tom Rini
2023-10-07 23:12 ` [PATCH v2 05/27] autoboot: " Simon Glass
2023-10-09 14:35   ` Tom Rini
2023-10-07 23:12 ` [PATCH v2 06/27] cmd: Add a few more " Simon Glass
2023-10-09 14:36   ` Tom Rini
2023-10-07 23:12 ` [PATCH v2 07/27] test: Make UNIT_TEST depend " Simon Glass
2023-10-09 14:36   ` Tom Rini
2023-10-07 23:12 ` [PATCH v2 08/27] sifive: Change #ifdef for nop Simon Glass
2023-10-09 14:36   ` Tom Rini
2023-10-07 23:12 ` [PATCH v2 09/27] fastboot: Declare a dependency on CMDLINE Simon Glass
2023-10-07 23:12 ` [PATCH v2 10/27] cli: Always build cli_getch Simon Glass
2023-10-07 23:12 ` [PATCH v2 11/27] cmd: Use an #ifdef around run_commandf() Simon Glass
2023-10-07 23:12 ` [PATCH v2 12/27] Move bootmenu_conv_key() into its own file Simon Glass
2023-10-07 23:12 ` [PATCH v2 13/27] pxe: Depend on CMDLINE Simon Glass
2023-10-07 23:12 ` [PATCH v2 14/27] env: Split out non-command code into a new file Simon Glass
2023-10-07 23:12 ` [PATCH v2 15/27] console: Move SYS_PBSIZE into common/ Simon Glass
2023-10-07 23:12 ` [PATCH v2 16/27] bootm: Allow building when cleanup functions are missing Simon Glass
2023-10-07 23:12 ` [PATCH v2 17/27] fdt: Move working_fdt into fdt_support Simon Glass
2023-10-07 23:12 ` [PATCH v2 18/27] net: Depend on CONFIG_CMDLINE Simon Glass
2023-10-07 23:12 ` [PATCH v2 19/27] log: Allow use without CONFIG_CMDLINE Simon Glass
2023-10-07 23:12 ` [PATCH v2 20/27] video: " Simon Glass
2023-10-07 23:12 ` [PATCH v2 21/27] video: Dont require the font command Simon Glass
2023-10-07 23:12 ` [PATCH v2 22/27] efi: Depend on CMDLINE for efi_loader Simon Glass
2023-10-10  4:48   ` AKASHI Takahiro
2023-10-07 23:12 ` [PATCH v2 23/27] cmd: Make all commands depend on CMDLINE Simon Glass
2023-10-07 23:12 ` [PATCH v2 24/27] sandbox: Avoid requiring cmdline Simon Glass
2023-10-07 23:12 ` [PATCH v2 25/27] arm: x86: Drop discarding of command linker-lists Simon Glass
2023-10-07 23:12 ` [PATCH v2 26/27] mmc: env: Unify the U_BOOT_ENV_LOCATION conditions Simon Glass
2023-10-07 23:12 ` [PATCH v2 27/27] sandbox: Add a test for disabling CONFIG_CMDLINE Simon Glass

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=20231007231255.277623-4-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /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;
as well as URLs for NNTP newsgroup(s).