]> arthur.barton.de Git - bup.git/commitdiff
fuse: detect fusepy module
authorJohannes Berg <johannes@sipsolutions.net>
Mon, 3 Jan 2022 18:41:59 +0000 (19:41 +0100)
committerRob Browning <rlb@defaultvalue.org>
Fri, 1 Jul 2022 19:17:05 +0000 (14:17 -0500)
When importing 'fuse', we might get either the libfuse or
the fusepy module, the latter doesn't have __version__ so
we just print

  error: fuse module is too old for fuse.__version__

but that's misleading. Detect if we have fuse.FUSE and in
that case instead print

  error: fuse module appears to be fusepy, not python-fuse
         please install https://github.com/libfuse/python-fuse

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Reviewed-by: Rob Browning <rlb@defaultvalue.org>
[rlb@defaultvalue.org: adjust commit message and error messages]
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/cmd/fuse.py

index 27937123835c43cd2f8498d5d1d5e95a26f73773..78073eed1f847d59dc70d328391084776c0d6f31 100644 (file)
@@ -9,7 +9,13 @@ except ImportError:
           file=sys.stderr)
     sys.exit(2)
 if not hasattr(fuse, '__version__'):
-    print('error: fuse module is too old for fuse.__version__', file=sys.stderr)
+    if hasattr(fuse, 'FUSE'):
+        print('error: python fuse module appears to be fusepy, not python-fuse\n'
+              '       please install https://github.com/libfuse/python-fuse',
+              file=sys.stderr)
+    else:
+        print('error: fuse module may need to be upgraded (no fuse.__version__)',
+              file=sys.stderr)
     sys.exit(2)
 fuse.fuse_python_api = (0, 2)