From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Hershberger Date: Thu, 7 May 2015 16:23:00 -0500 Subject: [U-Boot] [PATCH 5/5] moveconfig: Always run savedefconfig on the moved config In-Reply-To: <1431033780-2286-1-git-send-email-joe.hershberger@ni.com> References: <1421669542-7534-1-git-send-email-yamada.m@jp.panasonic.com> <1431033780-2286-1-git-send-email-joe.hershberger@ni.com> Message-ID: <1431033780-2286-5-git-send-email-joe.hershberger@ni.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This will ensure that the order of the defconfig entries will always match that of the Kconfig files. After one slightly painful (but still early in the process) pass over all boards, this should keep the defconfigs clean from here on. Signed-off-by: Joe Hershberger --- tools/moveconfig.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 7635186..02ec976 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -46,6 +46,7 @@ CROSS_COMPILE = { STATE_IDLE = 0 STATE_DEFCONFIG = 1 STATE_SILENTOLDCONFIG = 2 +STATE_SAVEDEFCONFIG = 3 ### helper functions ### def get_devnull(): @@ -150,8 +151,8 @@ class KconfigParser: """ arch = '' cpu = '' - dotconfig = os.path.join(self.build_dir, '.config') - for line in open(dotconfig): + self.dotconfig = os.path.join(self.build_dir, '.config') + for line in open(self.dotconfig): m = self.re_arch.match(line) if m: arch = m.group(1) @@ -225,7 +226,7 @@ class KconfigParser: print output.strip() - with open(os.path.join('configs', defconfig), 'a') as f: + with open(os.path.join(self.dotconfig), 'a') as f: for line in output_lines: if prefixes[line] != '+': line = prefixes[line] + ':' + line @@ -313,6 +314,23 @@ class Slot: if self.state == STATE_SILENTOLDCONFIG: if self.parser.update_defconfig(self.defconfig): self.defconfig_error('ERROR - autoconf.mk not found') + self.state = STATE_IDLE + return True + + """Save off the defconfig in a consistent way""" + cmd = list(self.make_cmd) + cmd.append('savedefconfig') + self.ps = subprocess.Popen(cmd, stdout=self.devnull, + stderr=self.devnull) + self.state = STATE_SAVEDEFCONFIG + return False + + if self.state == STATE_SAVEDEFCONFIG: + defconfig_path = os.path.join(self.build_dir, 'defconfig') + if not os.path.exists(defconfig_path): + self.defconfig_error('ERROR - defconfig not updated') + shutil.move(defconfig_path, + os.path.join('configs', self.defconfig)) self.state = STATE_IDLE return True -- 1.7.11.5