summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/BinpkgExtractorAsync.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge/BinpkgExtractorAsync.py')
-rw-r--r--pym/_emerge/BinpkgExtractorAsync.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/pym/_emerge/BinpkgExtractorAsync.py b/pym/_emerge/BinpkgExtractorAsync.py
index ae9e7a58b..9e799443d 100644
--- a/pym/_emerge/BinpkgExtractorAsync.py
+++ b/pym/_emerge/BinpkgExtractorAsync.py
@@ -18,7 +18,13 @@ class BinpkgExtractorAsync(SpawnProcess):
def _start(self):
self.args = [self._shell_binary, "-c",
- "bzip2 -dqc -- %s | tar -xp -C %s -f -" % \
+ ("bzip2 -dqc -- %s | tar -xp -C %s -f - ; " + \
+ "p=(${PIPESTATUS[@]}) ; " + \
+ "if [ ${p[0]} != 0 ] ; then " + \
+ "echo bzip2 failed with status ${p[0]} ; exit ${p[0]} ; fi ; " + \
+ "if [ ${p[1]} != 0 ] ; then " + \
+ "echo tar failed with status ${p[1]} ; exit ${p[1]} ; fi ; " + \
+ "exit 0 ;") % \
(portage._shell_quote(self.pkg_path),
portage._shell_quote(self.image_dir))]