kernel.py: replace os.popen with subprocess.Popen
authorRobert Yang <liezhi.yang@windriver.com>
Fri, 1 Jun 2012 08:03:58 +0000 (16:03 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 5 Jun 2012 21:49:19 +0000 (22:49 +0100)
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
scripts/lib/bsp/kernel.py

index 8b3aa72..7c6da4e 100644 (file)
@@ -31,6 +31,7 @@ import os
 import shutil
 from tags import *
 import glob
+import subprocess
 
 
 def find_bblayers(scripts_path):
@@ -678,7 +679,7 @@ def base_branches(context):
     print "Getting branches from remote repo %s..." % giturl
 
     gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl)
-    tmp = os.popen(gitcmd).read()
+    tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read()
 
     branches = []
 
@@ -708,7 +709,7 @@ def all_branches(context):
     print "Getting branches from remote repo %s..." % giturl
 
     gitcmd = "git ls-remote %s *heads* 2>&1" % (giturl)
-    tmp = os.popen(gitcmd).read()
+    tmp = subprocess.Popen(gitcmd, shell=True, stdout=subprocess.PIPE).stdout.read()
 
     branches = []