From 69300e473d677a10044cac9dcfa71b422a22793d Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 7 Feb 2016 19:03:32 +0100 Subject: [PATCH] document and automate llfuse requirement --- docs/installation.rst | 4 +++- requirements.d/fuse.txt | 4 ++++ setup.py | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 requirements.d/fuse.txt diff --git a/docs/installation.rst b/docs/installation.rst index 24f666123..4bbf98eeb 100644 --- a/docs/installation.rst +++ b/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 diff --git a/requirements.d/fuse.txt b/requirements.d/fuse.txt new file mode 100644 index 000000000..4ff4644aa --- /dev/null +++ b/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 + diff --git a/setup.py b/setup.py index b64f5bb32..fc33db20e 100644 --- a/setup.py +++ b/setup.py @@ -21,6 +21,12 @@ on_rtd = os.environ.get('READTHEDOCS') # Also, we might use some rather recent API features. 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, )