]> granicus.if.org Git - python/commitdiff
Capturing the exit status for the build process didn't work. Using
authorJack Jansen <jack.jansen@cwi.nl>
Mon, 17 Mar 2003 10:54:41 +0000 (10:54 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Mon, 17 Mar 2003 10:54:41 +0000 (10:54 +0000)
popen2.Popen4() makes it work. Fixes #702180.

Lib/plat-mac/pimp.py

index 426177aad61aceed46397eff44fd1b257d37216e..6664475d4256febb78030dbbcc809e617718b4b1 100644 (file)
@@ -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()