Although we generally like URI support, it is worth having explicit
coverage in our CI that we can build without it for those who want
minimal dependencies.  Similar to the previous patch, this is easiest
to do with another build.sh variable.  Doing so found two additional
tests that need skipping (comparable to how we already skipped similar
tests in sh/).
---
 ci/build.sh          |  8 +++++++-
 ci/gitlab/builds.yml | 20 ++++++++++++++++++++
 ci/manifest.yml      |  5 +++++
 dump/dump-data.sh    |  1 +
 dump/dump-pattern.sh |  1 +
 5 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/ci/build.sh b/ci/build.sh
index eb2fcd1c..f6b710ad 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -72,7 +72,6 @@ main() {

     CONFIG_ARGS="\
 --enable-gcc-warnings \
---with-libxml2 \
 "

     if test skip = "$GNUTLS"
@@ -82,6 +81,13 @@ main() {
         CONFIG_ARGS="$CONFIG_ARGS --with-gnutls"
     fi

+    if test skip = "$LIBXML2"
+    then
+        CONFIG_ARGS="$CONFIG_ARGS --without-libxml2"
+    else
+        CONFIG_ARGS="$CONFIG_ARGS --with-libxml2"
+    fi
+
     if test -n "$CROSS"
     then
         CONFIG_ARGS="$CONFIG_ARGS
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
index c66f96b0..cbcd8636 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -227,6 +227,26 @@ x86_64-fedora-rawhide-clang-local-env:
     NAME: fedora-rawhide


+x86_64-fedora-rawhide-no-libxml2-prebuilt-env:
+  extends: .native_build_job_prebuilt_env
+  needs:
+    - job: x86_64-fedora-rawhide-container
+      optional: true
+  allow_failure: false
+  variables:
+    LIBXML2: skip
+    NAME: fedora-rawhide
+
+x86_64-fedora-rawhide-no-libxml2-local-env:
+  extends: .native_build_job_local_env
+  needs: []
+  allow_failure: false
+  variables:
+    IMAGE: registry.fedoraproject.org/fedora:rawhide
+    LIBXML2: skip
+    NAME: fedora-rawhide
+
+
 x86_64-opensuse-leap-153-prebuilt-env:
   extends: .native_build_job_prebuilt_env
   needs:
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 4c0846e1..bca17ece 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -49,6 +49,11 @@ targets:
         variables:
           CC: clang

+      - arch: x86_64
+        suffix: -no-libxml2
+        variables:
+          LIBXML2: skip
+
   freebsd-12: x86_64

   freebsd-13: x86_64
diff --git a/dump/dump-data.sh b/dump/dump-data.sh
index 11145b08..d902e902 100755
--- a/dump/dump-data.sh
+++ b/dump/dump-data.sh
@@ -24,6 +24,7 @@ set -x
 requires nbdkit --version
 requires nbdkit data --dump-plugin
 requires nbdkit -U - null --run 'test "$uri" != ""'
+requires nbdsh -c 'exit(not h.supports_uri())'

 # This test requires nbdkit >= 1.22.
 minor=$( nbdkit --dump-config | grep ^version_minor | cut -d= -f2 )
diff --git a/dump/dump-pattern.sh b/dump/dump-pattern.sh
index e2188ac8..3a89ff19 100755
--- a/dump/dump-pattern.sh
+++ b/dump/dump-pattern.sh
@@ -24,6 +24,7 @@ set -x
 requires nbdkit --version
 requires nbdkit pattern --dump-plugin
 requires nbdkit -U - null --run 'test "$uri" != ""'
+requires nbdsh -c 'exit(not h.supports_uri())'

 output=dump-pattern.out
 rm -f $output
-- 
2.37.3

_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to