
Running "tools/qconfig.py -s" will re-sync files with #include in them and so un-#include them.
Ignore these and mark them as failures.
Signed-off-by: Simon Glass sjg@chromium.org Fixes: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/28 ---
tools/qconfig.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/tools/qconfig.py b/tools/qconfig.py index c5a33412c8c..ed12044f345 100755 --- a/tools/qconfig.py +++ b/tools/qconfig.py @@ -32,6 +32,8 @@ from buildman import bsettings from buildman import kconfiglib from buildman import toolchain from u_boot_pylib import terminal +from u_boot_pylib.terminal import tprint +from u_boot_pylib import tools
SHOW_GNU_MAKE = 'scripts/show-gnu-make' SLEEP_TIME=0.03 @@ -551,14 +553,25 @@ class Slot: orig_defconfig = os.path.join('configs', self.defconfig) new_defconfig = os.path.join(self.build_dir, 'defconfig') updated = not filecmp.cmp(orig_defconfig, new_defconfig) + success = True
if updated: - self.log.append( - self.col.build(self.col.BLUE, 'defconfig updated', bright=True)) + # Files with #include get mangled as savedefconfig doesn't know how to + # deal with them. Ignore them + success = b'#include' not in tools.read_file(orig_defconfig) + if success: + self.log.append( + self.col.build(self.col.BLUE, 'defconfig updated', + bright=True)) + else: + self.log.append( + self.col.build(self.col.RED, 'ignored due to #include', + bright=True)) + updated = False
if not self.args.dry_run and updated: shutil.move(new_defconfig, orig_defconfig) - self.finish(True) + self.finish(success)
def finish(self, success): """Display log along with progress and go to the idle state. @@ -1666,7 +1679,9 @@ def move_done(progress): """ col = progress.col if progress.failed: - print(col.build(col.RED, f'{progress.failure_msg}see {FAILED_LIST}', True)) + if progress.good: + tprint(f'{progress.good} OK, ', newline=False, colour=col.GREEN) + tprint(f'{progress.failure_msg}see {FAILED_LIST}', colour=col.RED) else: # Add enough spaces to overwrite the progress indicator print(col.build(