diff options
author | Richard Jones <rjones@redhat.com> | 2010-05-20 10:39:44 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-05-20 10:42:21 +0100 |
commit | 53ca11ee44f71ed056f72df9769ca93b9a35e1a7 (patch) | |
tree | 32f8e4508a7f9bef3d899379b5d27131bedde9ee | |
parent | 30c091f49dafab4ca9c8b6640d19fc0450b15971 (diff) | |
download | libguestfs-53ca11ee44f71ed056f72df9769ca93b9a35e1a7.tar.gz libguestfs-53ca11ee44f71ed056f72df9769ca93b9a35e1a7.tar.xz libguestfs-53ca11ee44f71ed056f72df9769ca93b9a35e1a7.zip |
generator: Make 'xz' into an optional group.
On Ubuntu <= Karmic, xz-utils was not packaged, and therefore
any xz-related tests would fail. Thus make this an optional
group so that we can test for this and avoid running the tests
if xz utils are not present.
-rw-r--r-- | daemon/tar.c | 8 | ||||
-rwxr-xr-x | src/generator.ml | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/daemon/tar.c b/daemon/tar.c index 941f80bd..ce3ca786 100644 --- a/daemon/tar.c +++ b/daemon/tar.c @@ -28,6 +28,14 @@ #include "../src/guestfs_protocol.h" #include "daemon.h" #include "actions.h" +#include "optgroups.h" + +int +optgroup_xz_available (void) +{ + int r = access ("/usr/bin/xz", X_OK); + return r == 0; +} /* Redirect errors from the tar command to the error file, then * provide functions for reading it in. We overwrite the file each diff --git a/src/generator.ml b/src/generator.ml index eb326980..d4ef81a4 100755 --- a/src/generator.ml +++ b/src/generator.ml @@ -4455,7 +4455,7 @@ This command writes zeroes over the entire C<device>. Compare with C<guestfs_zero> which just zeroes the first few blocks of a device."); - ("txz_in", (RErr, [FileIn "tarball"; Pathname "directory"]), 229, [], + ("txz_in", (RErr, [FileIn "tarball"; Pathname "directory"]), 229, [Optional "xz"], [InitBasicFS, Always, TestOutput ( [["txz_in"; "../images/helloworld.tar.xz"; "/"]; ["cat"; "/hello"]], "hello\n")], @@ -4464,7 +4464,7 @@ a device."); This command uploads and unpacks local file C<tarball> (an I<xz compressed> tar file) into C<directory>."); - ("txz_out", (RErr, [Pathname "directory"; FileOut "tarball"]), 230, [], + ("txz_out", (RErr, [Pathname "directory"; FileOut "tarball"]), 230, [Optional "xz"], [], "pack directory into compressed tarball", "\ |