diff options
author | Simon Glass <sjg@chromium.org> | 2023-10-26 14:31:10 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-11-07 14:48:19 -0500 |
commit | dc314185be49bfceb63591bd38b14f28ccf9f9fb (patch) | |
tree | 011298e1bce438f28a0aa6e0607ab95134974299 | |
parent | 3af0e9556c968fc2c40e3778d8f1e668a90af92e (diff) | |
download | u-boot-dc314185be49bfceb63591bd38b14f28ccf9f9fb.tar.gz |
buildman: Use oldconfig when adjusting the config
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>
-rw-r--r-- | tools/buildman/builder.py | 2 | ||||
-rw-r--r-- | tools/buildman/builderthread.py | 6 | ||||
-rw-r--r-- | 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 3e42c987d1c..f35175b4598 100644 --- a/tools/buildman/builder.py +++ b/tools/buildman/builder.py @@ -480,7 +480,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 6a61f64da1d..a8599c0bb2a 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 55dd494fe8e..6b88ed815d6 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 |