
On Wed, Jun 15, 2016 at 12:33 AM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
The subprocess.Popen() does not change the child process's working directory if cwd=None is given. Let's exploit this fact to refactor the source directory handling.
We no longer have to pass "-C <reference_src_dir>" to the sub-process because self.current_src_dir tracks the source tree against which we want to run defconfig/autoconf.
The flag self.use_git_ref is not necessary either because we can know the current state by checking whether the self.current_src_dir is a valid string or None.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com
tools/moveconfig.py | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index f4e2580..0e03751 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -645,7 +645,7 @@ class Slot:
self.defconfig = defconfig self.log = ''
self.use_git_ref = True if self.options.git_ref else False
self.current_src_dir = self.reference_src_dir self.do_defconfig() return True
@@ -674,13 +674,13 @@ class Slot: if self.ps.poll() != 0: self.handle_error() elif self.state == STATE_DEFCONFIG:
if self.options.git_ref and not self.use_git_ref:
if self.reference_src_dir and not self.current_src_dir: self.do_savedefconfig() else: self.do_autoconf() elif self.state == STATE_AUTOCONF:
if self.use_git_ref:
self.use_git_ref = False
if self.current_src_dir:
self.current_src_dir = None
This seems less clear to read. There is no current source dir? I think you need a different name.
self.do_defconfig() else: self.do_savedefconfig()
@@ -706,11 +706,9 @@ class Slot:
cmd = list(self.make_cmd) cmd.append(self.defconfig)
if self.use_git_ref:
cmd.append('-C')
cmd.append(self.reference_src_dir) self.ps = subprocess.Popen(cmd, stdout=self.devnull,
stderr=subprocess.PIPE)
stderr=subprocess.PIPE,
cwd=self.current_src_dir) self.state = STATE_DEFCONFIG
def do_autoconf(self):
@@ -728,11 +726,9 @@ class Slot: cmd.append('CROSS_COMPILE=%s' % self.cross_compile) cmd.append('KCONFIG_IGNORE_DUPLICATES=1') cmd.append('include/config/auto.conf')
if self.use_git_ref:
cmd.append('-C')
cmd.append(self.reference_src_dir) self.ps = subprocess.Popen(cmd, stdout=self.devnull,
stderr=subprocess.PIPE)
stderr=subprocess.PIPE,
cwd=self.current_src_dir) self.state = STATE_AUTOCONF
def do_savedefconfig(self):
@@ -934,7 +930,7 @@ def move_config(configs, options): reference_src = ReferenceSource(options.git_ref) reference_src_dir = reference_src.get_dir() else:
reference_src_dir = ''
reference_src_dir = None
if options.defconfigs: defconfigs = [line.strip() for line in open(options.defconfigs)]
-- 1.9.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot