]> git.proxmox.com Git - mirror_lxcfs.git/commitdiff
support explicit fuse version choice
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 4 Apr 2022 12:10:00 +0000 (14:10 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Mon, 4 Apr 2022 12:30:58 +0000 (14:30 +0200)
We'd like to provide an easy upgrade path which doesn't
cause an lxcfs-reload to crash because the new library was
built against the wrong version.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
meson.build
meson_options.txt

index a9378cc5e7227dc66b59444801f485fa2afaddea..57d2ec29474c37938fc496ebe871f0114bab0e00 100644 (file)
@@ -146,24 +146,33 @@ foreach ident: [
     conf.set10('HAVE_' + ident[0].to_upper(), have)
 endforeach
 
-libfuse = dependency('fuse3', required: false)
-if libfuse.found()
-    conf.set10('HAVE_FUSE3', true)
-    conf.set('FUSE_USE_VERSION', 35)
-    if libfuse.version().version_compare('>=3.10.3')
-       conf.set10('HAVE_FUSE_RETURNS_DT_TYPE', true)
-    else
-       conf.set10('HAVE_FUSE_RETURNS_DT_TYPE', false)
+fuse_version = get_option('fuse-version')
+if fuse_version == '3' or fuse_version == 'auto'
+    libfuse = dependency('fuse3', required: false)
+    if libfuse.found()
+        conf.set10('HAVE_FUSE3', true)
+        conf.set('FUSE_USE_VERSION', 35)
+        if libfuse.version().version_compare('>=3.10.3')
+            conf.set10('HAVE_FUSE_RETURNS_DT_TYPE', true)
+        else
+            conf.set10('HAVE_FUSE_RETURNS_DT_TYPE', false)
+        endif
     endif
-else
+endif
+
+if fuse_version == '2' or (not libfuse.found() and fuse_version == 'auto')
     libfuse = dependency('fuse', version: '>= 2.6')
     if libfuse.found()
         conf.set10('HAVE_FUSE', true)
         conf.set('FUSE_USE_VERSION', 26)
-       conf.set10('HAVE_FUSE_RETURNS_DT_TYPE', true)
+        conf.set10('HAVE_FUSE_RETURNS_DT_TYPE', true)
     endif
 endif
 
+if not libfuse.found()
+       error('no usable fuse version found')
+endif
+
 libdl = cc.find_library('dl')
 threads = dependency('threads')
 
index 6718c45fafda9318a5e3a66e263d7ab7c2a20732..d71f2a12c20a448c109b543e4070bf430372dc1e 100644 (file)
@@ -15,3 +15,7 @@ option('init-script', type : 'combo',
 
 option('docs', type : 'boolean', value: 'true',
        description : 'build documentation')
+
+option('fuse-version', type : 'combo',
+       choices : ['auto', '2', '3'], value : 'auto',
+       description : 'fuse version to use')