summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtools/moveconfig.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 84ad16d876..e32104412e 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -496,10 +496,13 @@ class KconfigParser:
defconfig: defconfig name.
Returns:
- Return log string
+ Return a tuple of (updated flag, log string).
+ The "updated flag" is True if the .config was updated, False
+ otherwise. The "log string" shows what happend to the .config.
"""
results = []
+ updated = False
with open(self.dotconfig) as f:
dotconfig_lines = f.readlines()
@@ -534,11 +537,12 @@ class KconfigParser:
for (action, value) in results:
if action == ACTION_MOVE:
f.write(value + '\n')
+ updated = True
os.remove(self.config_autoconf)
os.remove(self.autoconf)
- return log
+ return (updated, log)
class Slot:
@@ -614,8 +618,11 @@ class Slot:
If the configuration is successfully finished, assign a new
subprocess to build include/autoconf.mk.
If include/autoconf.mk is generated, invoke the parser to
- parse the .config and the include/autoconf.mk, and then set the
- slot back to the idle state.
+ parse the .config and the include/autoconf.mk, moving
+ config options to the .config as needed.
+ If the .config was updated, run "make savedefconfig" to sync
+ it, update the original defconfig, and then set the slot back
+ to the idle state.
Returns:
Return True if the subprocess is terminated, False otherwise
@@ -636,8 +643,12 @@ class Slot:
return True
if self.state == STATE_AUTOCONF:
- self.log += self.parser.update_dotconfig()
+ (updated, log) = self.parser.update_dotconfig()
+ self.log += log
+ if not updated:
+ self.finish(True)
+ return True
"""Save off the defconfig in a consistent way"""
cmd = list(self.make_cmd)
cmd.append('savedefconfig')
OpenPOWER on IntegriCloud