Skip to content
Snippets Groups Projects
Commit 5da4f857 authored by Masahiro Yamada's avatar Masahiro Yamada
Browse files

tools: moveconfig: report when CONFIGs are removed by savedefconfig


This is a rare case, but there is still possibility that some CONFIG
is moved to the .config, but it is removed by "make savedefconfig".
(For example, it happens when the specified CONFIG has no prompt in
the Kconfig entry, i.e. it is not user-configurable.)

It might be an unexpected case.  So, display the log in this case
(in yellow color to gain user's attention if --color option is given).

Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
parent c1c4d0f0
No related branches found
No related tags found
No related merge requests found
......@@ -407,6 +407,7 @@ class KconfigParser:
self.autoconf = os.path.join(build_dir, 'include', 'autoconf.mk')
self.config_autoconf = os.path.join(build_dir, 'include', 'config',
'auto.conf')
self.defconfig = os.path.join(build_dir, 'defconfig')
def get_cross_compile(self):
"""Parse .config file and return CROSS_COMPILE.
......@@ -539,11 +540,35 @@ class KconfigParser:
f.write(value + '\n')
updated = True
self.results = results
os.remove(self.config_autoconf)
os.remove(self.autoconf)
return (updated, log)
def check_defconfig(self):
"""Check the defconfig after savedefconfig
Returns:
Return additional log if moved CONFIGs were removed again by
'make savedefconfig'.
"""
log = ''
with open(self.defconfig) as f:
defconfig_lines = f.readlines()
for (action, value) in self.results:
if action != ACTION_MOVE:
continue
if not value + '\n' in defconfig_lines:
log += color_text(self.options.color, COLOR_YELLOW,
"'%s' was removed by savedefconfig.\n" %
value)
return log
class Slot:
"""A slot to store a subprocess.
......@@ -659,6 +684,7 @@ class Slot:
return False
if self.state == STATE_SAVEDEFCONFIG:
self.log += self.parser.check_defconfig()
if not self.options.dry_run:
shutil.move(os.path.join(self.build_dir, 'defconfig'),
os.path.join('configs', self.defconfig))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment