CentOS 6 has libguestfs-devel 1.20.11, which predates the support in guestfs_add_drive_opts() for requesting an nbd drive instead of a local file. The guestfs plugin can still be built, so no configure changes are needed; but skip the tests that fail to compile so that 'make check' can at least complete.
Signed-off-by: Eric Blake <ebl...@redhat.com> --- Even with this patch, there are still failures: /home/dummy/nbdkit/src/nbdkit -U /tmp/nbdkitC8Hm6H/sock -P /tmp/nbdkitC8Hm6H/pid -f -v /home/dummy/nbdkit/plugins/gzip/.libs/nbdkit-gzip-plugin.so -r file=disk. gz nbdkit: debug: TLS disabled: nbdkit was not compiled with GnuTLS support nbdkit: /home/dummy/nbdkit/plugins/gzip/.libs/nbdkit-gzip-plugin.so: /home/dummy /nbdkit/plugins/gzip/.libs/nbdkit-gzip-plugin.so: undefined symbol: gzbuffer test-gzip FAILED: nbdkit exited before starting to serve files waitpid: No child processes FAIL: test-gzip ./test-dump-plugin-example4.sh: unexpected output from nbdkit example4 --dump-pl ugin path=/home/dummy/nbdkit/plugins/perl/.libs/nbdkit-perl-plugin.so ... has__zero_old=1 FAIL: test-dump-plugin-example4.sh libguestfs: trace: set_verbose true libguestfs: trace: set_verbose = 0 libguestfs: trace: set_attach_method "appliance" libguestfs: trace: set_attach_method = 0 libguestfs: create: flags = 0, handle = 0xf8fac0 nbd://?socket=cache.sock: No such file or directory libguestfs: trace: close libguestfs: closing guestfs handle 0xf8fac0 (state 0) ./test-cache.sh: line 64: kill: (14315) - No such process FAIL: test-cache.sh libguestfs: trace: set_verbose true libguestfs: trace: set_verbose = 0 libguestfs: trace: set_attach_method "appliance" libguestfs: trace: set_attach_method = 0 libguestfs: create: flags = 0, handle = 0xf89ac0 guestfish: -N parameter 'cow-base.img=fs': no such prepared disk image known. Use 'guestfish -N help' to list possible values for the -N parameter. libguestfs: trace: close libguestfs: closing guestfs handle 0xf89ac0 (state 0) FAIL: test-cow.sh ======================= 4 of 19 tests failed (21 tests were not run) ======================= but that's better than not compiling --- tests/test-connect.c | 5 +++++ tests/test-delay.c | 5 +++++ tests/test-file.c | 5 +++++ tests/test-gzip.c | 5 +++++ tests/test-lang-plugins.c | 5 +++++ tests/test-memory.c | 5 +++++ tests/test-nbd.c | 5 +++++ tests/test-newstyle.c | 5 +++++ tests/test-null.c | 7 +++++++ tests/test-ocaml.c | 5 +++++ tests/test-offset.c | 5 +++++ tests/test-oldstyle.c | 5 +++++ tests/test-partition.c | 5 +++++ tests/test-split.c | 5 +++++ tests/test-streaming.c | 5 +++++ tests/test-xz.c | 5 +++++ 16 files changed, 82 insertions(+) diff --git a/tests/test-connect.c b/tests/test-connect.c index 32ba79a..06c6163 100644 --- a/tests/test-connect.c +++ b/tests/test-connect.c @@ -62,6 +62,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", @@ -70,6 +74,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-delay.c b/tests/test-delay.c index 47bf380..f037097 100644 --- a/tests/test-delay.c +++ b/tests/test-delay.c @@ -63,6 +63,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -70,6 +74,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-file.c b/tests/test-file.c index 65a2568..6a81b9e 100644 --- a/tests/test-file.c +++ b/tests/test-file.c @@ -61,6 +61,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -68,6 +72,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-gzip.c b/tests/test-gzip.c index 8e9c286..13e243f 100644 --- a/tests/test-gzip.c +++ b/tests/test-gzip.c @@ -60,6 +60,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", @@ -68,6 +72,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-lang-plugins.c b/tests/test-lang-plugins.c index fc3cbef..915256f 100644 --- a/tests/test-lang-plugins.c +++ b/tests/test-lang-plugins.c @@ -70,6 +70,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -77,6 +81,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-memory.c b/tests/test-memory.c index fb2ff2a..281996e 100644 --- a/tests/test-memory.c +++ b/tests/test-memory.c @@ -60,6 +60,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -67,6 +71,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-nbd.c b/tests/test-nbd.c index 646c0c3..22f6424 100644 --- a/tests/test-nbd.c +++ b/tests/test-nbd.c @@ -80,6 +80,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -87,6 +91,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-newstyle.c b/tests/test-newstyle.c index 9835931..b6f193a 100644 --- a/tests/test-newstyle.c +++ b/tests/test-newstyle.c @@ -64,6 +64,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else /* Using any exportname causes qemu to use the newstyle protocol. */ r = guestfs_add_drive_opts (g, EXPORTNAME, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", @@ -72,6 +76,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-null.c b/tests/test-null.c index d7cf5e5..29ed280 100644 --- a/tests/test-null.c +++ b/tests/test-null.c @@ -64,6 +64,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -71,6 +75,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); @@ -93,6 +98,7 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifdef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -100,6 +106,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-ocaml.c b/tests/test-ocaml.c index 707c762..5471d06 100644 --- a/tests/test-ocaml.c +++ b/tests/test-ocaml.c @@ -70,6 +70,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -77,6 +81,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-offset.c b/tests/test-offset.c index d47066f..77e2005 100644 --- a/tests/test-offset.c +++ b/tests/test-offset.c @@ -89,6 +89,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -96,6 +100,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-oldstyle.c b/tests/test-oldstyle.c index a9ba01c..0fabdf8 100644 --- a/tests/test-oldstyle.c +++ b/tests/test-oldstyle.c @@ -61,6 +61,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else /* Using exportname = "" causes qemu to use the oldstyle protocol. */ r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", @@ -69,6 +73,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-partition.c b/tests/test-partition.c index 0087548..3e27b2c 100644 --- a/tests/test-partition.c +++ b/tests/test-partition.c @@ -64,6 +64,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", @@ -72,6 +76,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-split.c b/tests/test-split.c index f20e64b..22c9e72 100644 --- a/tests/test-split.c +++ b/tests/test-split.c @@ -63,6 +63,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -70,6 +74,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-streaming.c b/tests/test-streaming.c index 7807501..fbdf34b 100644 --- a/tests/test-streaming.c +++ b/tests/test-streaming.c @@ -108,6 +108,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, "nbd", @@ -115,6 +119,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); diff --git a/tests/test-xz.c b/tests/test-xz.c index ef58d59..34bc1ac 100644 --- a/tests/test-xz.c +++ b/tests/test-xz.c @@ -60,6 +60,10 @@ main (int argc, char *argv[]) exit (EXIT_FAILURE); } +#ifndef GUESTFS_ADD_DRIVE_OPTS_PROTOCOL + printf ("libguestfs too old to support nbd disk, skipping\n"); + exit (77); +#else r = guestfs_add_drive_opts (g, "", GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", @@ -68,6 +72,7 @@ main (int argc, char *argv[]) -1); if (r == -1) exit (EXIT_FAILURE); +#endif if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); -- 2.14.3 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs