Browse Source

document and automate llfuse requirement

Thomas Waldmann 9 years ago
parent
commit
b7b18b66be
3 changed files with 14 additions and 1 deletions
  1. 3 1
      docs/installation.rst
  2. 4 0
      requirements.d/fuse.txt
  3. 7 0
      setup.py

+ 3 - 1
docs/installation.rst

@@ -105,7 +105,9 @@ following dependencies first:
 * liblz4_
 * some Python dependencies, pip will automatically install them for you
 * optionally, the llfuse_ Python package is required if you wish to mount an
-  archive as a FUSE filesystem. FUSE >= 2.8.0 is required for llfuse.
+  archive as a FUSE filesystem. llfuse has been tested in version 0.40.x,
+  0.41.x might also work, >= 0.42.x does not work (due to API changes in
+  llfuse). FUSE >= 2.8.0 is required for llfuse 0.40.
 
 In the following, the steps needed to install the dependencies are listed for a
 selection of platforms. If your distribution is not covered by these

+ 4 - 0
requirements.d/fuse.txt

@@ -0,0 +1,4 @@
+# low-level FUSE support library for "borg mount"
+# see comments setup.py about this version requirement.
+llfuse<0.41
+

+ 7 - 0
setup.py

@@ -22,6 +22,12 @@ on_rtd = os.environ.get('READTHEDOCS')
 # Note: 0.4.7 is also OK, but has no Python 3.2 support any more.
 install_requires=['msgpack-python==0.4.6', ]
 
+extras_require = {
+    # llfuse 0.40 (tested, proven, ok)
+    # llfuse 0.41 (unknown, maybe ok)
+    # llfuse 0.42 (tested, does not work, incompatible api changes)
+    'fuse': ['llfuse<0.41', ],
+}
 
 from setuptools import setup, Extension
 from setuptools.command.sdist import sdist
@@ -260,4 +266,5 @@ setup(
     ext_modules=ext_modules,
     setup_requires=['setuptools_scm>=1.7'],
     install_requires=install_requires,
+    extras_require=extras_require,
 )