#1043180 s3ql: missing dependency "fuse3"

Package:
s3ql
Source:
s3ql
Description:
Full-featured file system for online data storage
Submitter:
Raveeroj B.
Date:
2024-09-08 08:15:02 UTC
Severity:
normal
#1043180#5
Date:
2023-08-07 08:22:11 UTC
From:
To:
Dear Maintainer,

In compact Debian images, the package fuse3 is not installed by default.
This leads to this error when using the "mount.s3ql" command:

fuse: failed to exec fusermount3: No such file or directory
ERROR: Uncaught top-level exception:
Traceback (most recent call last):
  File "/usr/lib/s3ql/s3ql/mount.py", line 218, in main_async
    pyfuse3.init(operations, options.mountpoint, get_fuse_opts(options))
  File "src/pyfuse3.pyx", line 765, in pyfuse3.init
RuntimeError: fuse_session_mount failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/s3ql/s3ql/mount.py", line 220, in main_async
    raise QuietError(str(exc), exitcode=39)
s3ql.logging.QuietError: fuse_session_mount failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/mount.s3ql", line 33, in <module>
    sys.exit(load_entry_point('s3ql==3.7.3', 'console_scripts', 'mount.s3ql')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/s3ql/s3ql/mount.py", line 131, in main
    trio.run(main_async, options, stdout_log_handler)
  File "/usr/lib/python3/dist-packages/trio/_core/_run.py", line 2093, in run
    raise runner.main_task_outcome.error
  File "/usr/lib/s3ql/s3ql/mount.py", line 204, in main_async
    async with AsyncExitStack() as cm:
  File "/usr/lib/python3.11/contextlib.py", line 733, in __aexit__
    raise exc_details[1]
  File "/usr/lib/python3.11/contextlib.py", line 716, in __aexit__
    cb_suppress = await cb(*exc_details)
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/contextlib.py", line 621, in _exit_wrapper
    await callback(*args, **kwds)
  File "/usr/lib/s3ql/s3ql/block_cache.py", line 284, in destroy
    while self.to_remove.get_nowait() is QuitSentinel:
          ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get_nowait'

This can easily be fixed by installing the fuse3 package.

====================================================================================================