summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2016-06-15 14:33:52 +0900
committerMasahiro Yamada <yamada.masahiro@socionext.com>2016-06-22 09:22:48 +0900
commitf432c33f27898070718dd568feb104fc1870ca15 (patch)
tree941374780f3ff50d472429af61ab93796851e464 /tools
parent5cc42a51846cd69596081a9cd9d2bd0495815525 (diff)
tools: moveconfig: simplify source tree switching
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>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/moveconfig.py22
1 files changed, 9 insertions, 13 deletions
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 44be51fb8ae..c0ac5f4e13c 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
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)]