From: Jack Jansen Date: Mon, 17 Mar 2003 10:54:41 +0000 (+0000) Subject: Capturing the exit status for the build process didn't work. Using X-Git-Tag: v2.3c1~1451 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=450bd873ac9a7d44d24498b67cd111ce77334e85;p=python Capturing the exit status for the build process didn't work. Using popen2.Popen4() makes it work. Fixes #702180. --- diff --git a/Lib/plat-mac/pimp.py b/Lib/plat-mac/pimp.py index 426177aad6..6664475d42 100644 --- a/Lib/plat-mac/pimp.py +++ b/Lib/plat-mac/pimp.py @@ -14,6 +14,7 @@ intention is that the end user will use this through a GUI. """ import sys import os +import popen2 import urllib import urllib2 import urlparse @@ -395,16 +396,15 @@ class PimpPackage: output.write("+ %s\n" % cmd) if NO_EXECUTE: return 0 - dummy, fp = os.popen4(cmd, "r") - dummy.close() + child = popen2.Popen4(cmd) + child.tochild.close() while 1: - line = fp.readline() + line = child.fromchild.readline() if not line: break if output: output.write(line) - rv = fp.close() - return rv + return child.wait() def downloadPackageOnly(self, output=None): """Download a single package, if needed. @@ -588,7 +588,8 @@ class PimpPackage_source(PimpPackage): if not installcmd: installcmd = '"%s" setup.py install' % sys.executable if self._cmd(output, self._buildDirname, installcmd): - return "install %s: running \"%s\" failed" % self.fullname() + return "install %s: running \"%s\" failed" % \ + (self.fullname(), installcmd) self.afterInstall()