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()
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:
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
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')