You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rclone wrapper program in pkgs/applications/networking/sync/rclone/default.nix adds fuse 2.x to PATH, while rclone has seemingly moved over to use fuse 3.x. This seem to break rclone mount in certain cases when it's looking for fusermount3.
Steps To Reproduce
I'm trying to emulate whatever mount -t rclone does:
$ nix shell github:nixos/nixpkgs/nixpkgs-unstable#rclone
$ tail -F ~/rclone.log[1] 1024832tail: cannot open '/home/chris/rclone.log' for reading: No such file or directory
$ env -i RCLONE_DAEMON=true RCLONE_ALLOW_OTHER=true RCLONE_LOG_LEVEL=DEBUG RCLONE_LOG_FILE=/home/chris/rclone.log RCLONE_CONFIG=/etc/rclone.conf RCLONE_CACHE_DIR=/var/rclone /nix/store/f5hqbjla0k1s2dc3kcgbdyw6gjdis65n-rclone-1.65.2/bin/mount.rclone gdrive: /home/chris/Google\ Drive2024/02/25 00:31:17 DEBUG : Home directory lookup failed and cannot be used as configuration location: exec: "getent": executable file not found in $PATH2024/02/25 00:31:17 DEBUG : Failed to find user cache dir, using temporary directory: neither $XDG_CACHE_HOME nor $HOME are defined2024/02/25 00:31:17 DEBUG : Setting --daemon "true" from environment variable RCLONE_DAEMON="true"2024/02/25 00:31:17 DEBUG : Setting --allow-other "true" from environment variable RCLONE_ALLOW_OTHER="true"2024/02/25 00:31:17 DEBUG : Setting --daemon "true" from environment variable RCLONE_DAEMON="true"2024/02/25 00:31:17 DEBUG : Setting --allow-other "true" from environment variable RCLONE_ALLOW_OTHER="true"2024/02/25 00:31:17 DEBUG : Setting --daemon "true" from environment variable RCLONE_DAEMON="true"2024/02/25 00:31:17 DEBUG : Setting --allow-other "true" from environment variable RCLONE_ALLOW_OTHER="true"2024/02/25 00:31:17 DEBUG : Setting --daemon "true" from environment variable RCLONE_DAEMON="true"2024/02/25 00:31:17 DEBUG : Setting --allow-other "true" from environment variable RCLONE_ALLOW_OTHER="true"2024/02/25 00:31:17 DEBUG : Setting --daemon "true" from environment variable RCLONE_DAEMON="true"2024/02/25 00:31:17 DEBUG : Setting --allow-other "true" from environment variable RCLONE_ALLOW_OTHER="true"2024/02/25 00:31:17 DEBUG : Setting --config "/etc/rclone.conf" from environment variable RCLONE_CONFIG="/etc/rclone.conf"2024/02/25 00:31:17 DEBUG : Setting --cache-dir "/var/rclone" from environment variable RCLONE_CACHE_DIR="/var/rclone"2024/02/25 00:31:17 DEBUG : Setting --log-level "DEBUG" from environment variable RCLONE_LOG_LEVEL="DEBUG"2024/02/25 00:31:17 DEBUG : Setting --log-file "/home/chris/rclone.log" from environment variable RCLONE_LOG_FILE="/home/chris/rclone.log"tail: '/home/chris/rclone.log' has appeared; following new file2024/02/25 00:33:33 DEBUG : rclone: Version "1.65.2" starting with parameters ["/nix/store/f5hqbjla0k1s2dc3kcgbdyw6gjdis65n-rclone-1.65.2/bin/mount.rclone" "mount" "gdrive:" "/home/chris/Google Drive" "--daemon"]2024/02/25 00:33:33 DEBUG : Creating backend with remote "gdrive:"2024/02/25 00:33:33 DEBUG : Using config file from "/etc/rclone.conf"2024/02/25 00:33:34 DEBUG : Google drive root '': 'root_folder_id = 0AFATgfQBaiAeUk9PVA' - save this in the config to speed up startup2024/02/25 00:33:34 DEBUG : rclone: Version "1.65.2" starting with parameters ["/nix/store/f5hqbjla0k1s2dc3kcgbdyw6gjdis65n-rclone-1.65.2/bin/.rclone-wrapped" "mount" "gdrive:" "/home/chris/Google Drive" "--daemon"]2024/02/25 00:33:34 DEBUG : Creating backend with remote "gdrive:"2024/02/25 00:33:34 DEBUG : Using config file from "/etc/rclone.conf"2024/02/25 00:33:34 DEBUG : Google drive root '': 'root_folder_id = 0AFATgfQBaiAeUk9PVA' - save this in the config to speed up startup2024/02/25 00:33:34 DEBUG : Google drive root '': Mounting on "/home/chris/Google Drive"2024/02/25 00:33:34 Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount3": executable file not found in $PATH
An easier example might be to use systemd.mount on NixOS:
{config,pkgs,lib, ... }:
{# Ensure you've got /etc/rclone.conf setup before trying thissystem.activationScripts.makeRcloneDir=lib.stringAfter["var"]'' mkdir -p /var/rclone '';environment.systemPackages=[pkgs.rclonepkgs.fuse3# Doesn't help tho];systemd.mounts=[{what="gdrive:";where="/mnt/gdrive";type="rclone";options="rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone,log-file=/var/rclone/log.txt,log-level=DEBUG";}];}
Expected behavior
I expect rclone to find fusermount3 by having it as a dependency.
Describe the bug
rclone wrapper program in pkgs/applications/networking/sync/rclone/default.nix adds fuse 2.x to PATH, while rclone has seemingly moved over to use fuse 3.x. This seem to break
rclone mount
in certain cases when it's looking forfusermount3
.Steps To Reproduce
I'm trying to emulate whatever
mount -t rclone
does:An easier example might be to use
systemd.mount
on NixOS:Expected behavior
I expect rclone to find
fusermount3
by having it as a dependency.Screenshots
N/A
Additional context
rclone uses fuse3 since v1.62.0 (2023-03-14):
Notify maintainers
@marsam @SuperSandro2000
Metadata
Please run
nix-shell -p nix-info --run "nix-info -m"
and paste the result.Add a 👍 reaction to issues you find important.
The text was updated successfully, but these errors were encountered: