[libvirt PATCH 109/351] meson: add storage sheepdog build option

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:55:45 UTC 2020


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 configure.ac                |  4 ---
 m4/virt-storage-sheepdog.m4 | 56 -------------------------------------
 meson.build                 | 11 ++++++++
 meson_options.txt           |  1 +
 4 files changed, 12 insertions(+), 60 deletions(-)
 delete mode 100644 m4/virt-storage-sheepdog.m4

diff --git a/configure.ac b/configure.ac
index 5f77e47dd10..ba15aa9bb2b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -134,17 +134,14 @@ dnl
 dnl Storage driver checks
 dnl
 
-LIBVIRT_STORAGE_ARG_SHEEPDOG
 LIBVIRT_STORAGE_ARG_ZFS
 LIBVIRT_STORAGE_ARG_VSTORAGE
 
 if test "$with_libvirtd" = "no"; then
-  with_storage_sheepdog=no
   with_storage_zfs=no
   with_storage_vstorage=no
 fi
 
-LIBVIRT_STORAGE_CHECK_SHEEPDOG
 LIBVIRT_STORAGE_CHECK_ZFS
 LIBVIRT_STORAGE_CHECK_VSTORAGE
 
@@ -204,7 +201,6 @@ AC_MSG_NOTICE([=====================])
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Storage Drivers])
 AC_MSG_NOTICE([])
-LIBVIRT_STORAGE_RESULT_SHEEPDOG
 LIBVIRT_STORAGE_RESULT_ZFS
 LIBVIRT_STORAGE_RESULT_VSTORAGE
 AC_MSG_NOTICE([])
diff --git a/m4/virt-storage-sheepdog.m4 b/m4/virt-storage-sheepdog.m4
deleted file mode 100644
index aa5587f40f9..00000000000
--- a/m4/virt-storage-sheepdog.m4
+++ /dev/null
@@ -1,56 +0,0 @@
-dnl The storage Sheepdog check
-dnl
-dnl Copyright (C) 2016 Red Hat, Inc.
-dnl
-dnl This library is free software; you can redistribute it and/or
-dnl modify it under the terms of the GNU Lesser General Public
-dnl License as published by the Free Software Foundation; either
-dnl version 2.1 of the License, or (at your option) any later version.
-dnl
-dnl This library is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-dnl Lesser General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU Lesser General Public
-dnl License along with this library.  If not, see
-dnl <http://www.gnu.org/licenses/>.
-dnl
-
-AC_DEFUN([LIBVIRT_STORAGE_ARG_SHEEPDOG], [
-  LIBVIRT_ARG_WITH_FEATURE([STORAGE_SHEEPDOG],
-                           [with Sheepdog backend for the storage driver], [check])
-])
-
-AC_DEFUN([LIBVIRT_STORAGE_CHECK_SHEEPDOG], [
-  if test "$with_storage_sheepdog" = "yes" ||
-     test "$with_storage_sheepdog" = "check"; then
-    AC_PATH_PROGS([SHEEPDOGCLI], [collie dog], [], [$LIBVIRT_SBIN_PATH])
-
-    if test "$with_storage_sheepdog" = "yes"; then
-      if test -z "$SHEEPDOGCLI"; then
-        AC_MSG_ERROR([We need sheepdog client for Sheepdog storage driver])
-      fi
-    else
-      if test -z "$SHEEPDOGCLI"; then
-        with_storage_sheepdog=no
-      fi
-
-      if test "$with_storage_sheepdog" = "check"; then
-        with_storage_sheepdog=yes
-      fi
-    fi
-
-    if test "$with_storage_sheepdog" = "yes"; then
-      AC_DEFINE_UNQUOTED([WITH_STORAGE_SHEEPDOG], 1,
-                         [whether Sheepdog backend for storage driver is enabled])
-      AC_DEFINE_UNQUOTED([SHEEPDOGCLI], ["$SHEEPDOGCLI"],
-                         [Location of sheepdog client program])
-    fi
-  fi
-  AM_CONDITIONAL([WITH_STORAGE_SHEEPDOG], [test "$with_storage_sheepdog" = "yes"])
-])
-
-AC_DEFUN([LIBVIRT_STORAGE_RESULT_SHEEPDOG], [
-  LIBVIRT_RESULT([Sheepdog], [$with_storage_sheepdog])
-])
diff --git a/meson.build b/meson.build
index 1caa824ad40..fcd4bc5e5da 100644
--- a/meson.build
+++ b/meson.build
@@ -1988,6 +1988,16 @@ if conf.has('WITH_LIBVIRTD')
     use_storage = true
     conf.set('WITH_STORAGE_SCSI', 1)
   endif
+
+  if not get_option('storage_sheepdog').disabled()
+    sheepdogcli_prog = find_program(['collie', 'dog'], required: get_option('storage_sheepdog'), dirs: libvirt_sbin_path)
+
+    if sheepdogcli_prog.found()
+      use_storage = true
+      conf.set('WITH_STORAGE_SHEEPDOG', 1)
+      conf.set_quoted('SHEEPDOGCLI', sheepdogcli_prog.path())
+    endif
+  endif
 endif
 
 if use_storage
@@ -2043,6 +2053,7 @@ storagedriver_summary = {
   'mpath': conf.has('WITH_STORAGE_MPATH'),
   'Disk': conf.has('WITH_STORAGE_DISK'),
   'RBD': conf.has('WITH_STORAGE_RBD'),
+  'Sheepdog': conf.has('WITH_STORAGE_SHEEPDOG'),
   'Gluster': conf.has('WITH_STORAGE_GLUSTER'),
 }
 summary(storagedriver_summary, section: 'Storage Drivers', bool_yn: true)
diff --git a/meson_options.txt b/meson_options.txt
index 5cd4a9e28fd..eec89eacfb3 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -84,3 +84,4 @@ option('storage_lvm', type: 'feature', value: 'auto', description: 'LVM backend
 option('storage_mpath', type: 'feature', value: 'auto', description: 'mpath backend for the storage driver')
 option('storage_rbd', type: 'feature', value: 'auto', description: 'RADOS Block Device backend for the storage driver')
 option('storage_scsi', type: 'feature', value: 'auto', description: 'SCSI backend for the storage driver')
+option('storage_sheepdog', type: 'feature', value: 'auto', description: 'Sheepdog backend for the storage driver')
-- 
2.26.2




More information about the libvir-list mailing list