From 094742bed2fc01d55f572da946fcfa7a48521401 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sun, 20 May 2012 20:36:06 +0800 Subject: replace os.popen with subprocess.Popen Replace os.popen with subprocess.Popen since the older function would fail (more or less) silently if the executed program cannot be found There is a bb.process.run() which will invoke the Popen to run command, use it for simplify the code. For the: p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot)) ... for file in p4file: list = file.split() in bitbake/lib/bb/fetch2/perforce.py, it should be an error in the past, since it didn't use readline() to read the pipe, but directly used the split() for the pipe. Use the bb.process.run would fix the problem since bb.process.run will return strings. More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2075] (Bitbake rev: 8d6700255a6d4dda403c89b171a6d4a1883e5aae) Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/builddetailspage.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bitbake/lib/bb/ui/crumbs/builddetailspage.py') diff --git a/bitbake/lib/bb/ui/crumbs/builddetailspage.py b/bitbake/lib/bb/ui/crumbs/builddetailspage.py index 0052b017e5..0741a7ba73 100755 --- a/bitbake/lib/bb/ui/crumbs/builddetailspage.py +++ b/bitbake/lib/bb/ui/crumbs/builddetailspage.py @@ -23,6 +23,7 @@ import gtk import pango import gobject +import bb.process from bb.ui.crumbs.progressbar import HobProgressBar from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText, HobButton from bb.ui.crumbs.runningbuild import RunningBuildTreeView @@ -97,9 +98,9 @@ class BuildConfigurationTreeView(gtk.TreeView): for path in src_config_info.layers: import os, os.path if os.path.exists(path): - f = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path) + f, errors = bb.process.run('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path) if f: - branch = f.readline().lstrip('\n').rstrip('\n') + branch = f.strip('\n') vars.append(self.set_vars("Branch:", branch)) f.close() break -- cgit v1.2.3-54-g00ecf