[U-Boot] [PATCH] tools/genboardscfg.py: Don't rely on subprocess.check_output

Tom Rini trini at ti.com
Wed Jul 30 16:24:53 CEST 2014


The function subprocess.check_output() only exists in Python 2.7 and
later (and there are long term supported distributions that ship with
2.6.x).  Replace this with a call to subprocess.Popen() and then checking
output via communicate()

Signed-off-by: Tom Rini <trini at ti.com>
---
 tools/genboardscfg.py |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py
index 805e4eb..6588392 100755
--- a/tools/genboardscfg.py
+++ b/tools/genboardscfg.py
@@ -83,7 +83,8 @@ def check_top_directory():
 def get_make_cmd():
     """Get the command name of GNU Make."""
     try:
-        make_cmd = subprocess.check_output([SHOW_GNU_MAKE])
+        process = subprocess.Popen([SHOW_GNU_MAKE], stdout=subprocess.PIPE)
+        make_cmd, unused = process.communicate()
     except subprocess.CalledProcessError:
         print >> sys.stderr, 'GNU Make not found'
         sys.exit(1)
@@ -493,8 +494,10 @@ def main():
             sys.exit(1)
     else:
         try:
-            jobs = int(subprocess.check_output(['getconf',
-                                                '_NPROCESSORS_ONLN']))
+            process = subprocess.Popen(['getconf', '_NPROCESSORS_ONLN'],
+                                       stdout=subprocess.PIPE)
+            jobstr, unused = process.communicate()
+            jobs = int(jobstr)
         except subprocess.CalledProcessError:
             print 'info: failed to get the number of CPUs. Set jobs to 1'
             jobs = 1
-- 
1.7.0.4



More information about the U-Boot mailing list