aboutsummaryrefslogtreecommitdiffstats
path: root/lib/oe/unpack.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oe/unpack.py')
-rw-r--r--lib/oe/unpack.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/oe/unpack.py b/lib/oe/unpack.py
index 6d24c5e2fa..f2139baa99 100644
--- a/lib/oe/unpack.py
+++ b/lib/oe/unpack.py
@@ -9,7 +9,7 @@ class UnpackError(Exception):
self.output = output
def __str__(self):
- return "Unable to unpack '%s' to '%s' (cmd: %s): %s" % \
+ return "Unable to unpack '%s' to '%s' (cmd: %s):\n%s" % \
(self.filename, self.destdir, self.command, self.output)
def to_boolean(string, default=None):
@@ -87,9 +87,8 @@ def unpack_file(file, destdir, dos=False, env=None):
if not cmd:
return
- pipe = subprocess.Popen(cmd, preexec_fn=subprocess_setup, shell=True,
- cwd=destdir, env=env, stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
- stdout = pipe.communicate()[0]
- if pipe.returncode != 0:
- raise UnpackError(file, destdir, cmd, stdout)
+ import oe.process
+ try:
+ oe.process.run(cmd, env=env)
+ except oe.process.CmdError, exc:
+ raise UnpackError(file, destdir, cmd, str(exc))