borgbase / vorta

Desktop Backup Client for Borg Backup
https://vorta.borgbase.com
GNU General Public License v3.0
1.98k stars 130 forks source link

llfuse no longer supported for mounting archives #994

Closed geckolinux closed 3 years ago

geckolinux commented 3 years ago

Hi there, I'm using Vorta 0.7.5 on openSUSE Tumbleweed. It looks like llfuse is no longer available in Tumbleweed, which I imagine is because it appears to be deprecated: https://pypi.org/project/llfuse/

It looks like Borg supports pyfuse3, but it would have to be set via an env variable if I understand this correctly: https://github.com/borgbackup/borg/issues/5545

m3nu commented 3 years ago

You can install BorgBackup any way you like with any FUSE implementation. This is not related to Vorta. Vorta just needs the binary available.

geckolinux commented 3 years ago

Hi m3nu, I guess the improvement that I feel should be made is that ideally Vorta would somehow find the available FUSE implementation and set the necessary environment variables, since the basic purpose of a GUI frontend is to avoid arcane command hacks for beginners.

On my system, Vorta doesn't work to mount archives with any of the fuse packages that Tumbleweed offers in its main repos, it complains of missing llfuse specifically. I tried the python38-fuse, python38-fusepy, and python38-pyfuse3 packages, and none of them give Vorta the needed functionality. I finally found a non-official python38-llfuse package that makes it work. I imagine most other distros will eventually remove llfuse pretty soon. From the previous link I read it looks like python38-pyfuse3 should provide what BorgBackup needs, but only after setting the appropriate environment variables.

FYI, the non-official python38-llfuse package provides these files:


/usr/lib64/python3.8/site-packages
/usr/lib64/python3.8/site-packages/llfuse-1.4.1-py3.8.egg-info
/usr/lib64/python3.8/site-packages/llfuse-1.4.1-py3.8.egg-info/PKG-INFO
/usr/lib64/python3.8/site-packages/llfuse-1.4.1-py3.8.egg-info/SOURCES.txt
/usr/lib64/python3.8/site-packages/llfuse-1.4.1-py3.8.egg-info/dependency_links.txt
/usr/lib64/python3.8/site-packages/llfuse-1.4.1-py3.8.egg-info/top_level.txt
/usr/lib64/python3.8/site-packages/llfuse-1.4.1-py3.8.egg-info/zip-safe
/usr/lib64/python3.8/site-packages/llfuse.cpython-38-x86_64-linux-gnu.so
/usr/share/doc/packages/python38-llfuse
/usr/share/doc/packages/python38-llfuse/Changes.rst
/usr/share/doc/packages/python38-llfuse/README.rst
/usr/share/licenses/python38-llfuse
/usr/share/licenses/python38-llfuse/LICENSE
m3nu commented 3 years ago

When and which env var would Vorta set? Not sure I understand what you are suggesting.

geckolinux commented 3 years ago

Sorry for not explaining. From what I read I understood that it would work with BORG_FUSE_IMPL=pyfuse3 .

m3nu commented 3 years ago

How can Vorta know which FUSE implementation to use? If you are suggesting a new kind of heuristic, it will be better placed in Borg itself.

geckolinux commented 3 years ago

Ok, thanks. Looks like there's no good solution for this.