Improve errors from tar-in/tgz-in commands (RHBZ#591155 RHBZ#591250).
authorRichard Jones <rjones@redhat.com>
Thu, 13 May 2010 08:56:27 +0000 (09:56 +0100)
committerRichard Jones <rjones@redhat.com>
Thu, 13 May 2010 16:08:02 +0000 (17:08 +0100)
commit55748a94bc840ac07d3c211119372cd16b31f1a0
treee4bbe67298d63e646f13d1ae3d2f305248503d0f
parentb76fd51e142494058ca0082b547aa5e747ad4b79
Improve errors from tar-in/tgz-in commands (RHBZ#591155 RHBZ#591250).

This commit improves the error messages from the tar-in, tgz-in (etc)
commands by capturing the stderr from the tar command in a file and
sending that back in the error message.

The method used for the error file is primitive, and there is a case
for a more generic error file mechanism, but this will do for now.

Sample error messages after this change:

$ virt-tar -u /tmp/test1.img /tmp/not.tar /
tar_in: tar subcommand failed on directory: /: tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors at /home/rjones/d/libguestfs/tools/virt-tar line 247.

$ virt-tar -u /tmp/test1.img /tmp/test.tar /
tar_in: tar subcommand failed on directory: /: tar: access.log: Cannot open: Read-only file system
tar: Exiting with failure status due to previous errors at /home/rjones/d/libguestfs/tools/virt-tar line 247.
daemon/.gitignore
daemon/m4/gnulib-cache.m4
daemon/tar.c