From b310afde2696dc6b03f035c6734b068cddf2f129 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 9 Oct 2022 11:31:30 +0200 Subject: gnu: mergerfs: Hard-code output path in mount.mergerfs. This allows using mergerfs filesystems in /etc/fstab. * gnu/packages/file-systems.scm (mergerfs)[arguments]: Add clause to existing SUBSTITUTE*. --- gnu/packages/file-systems.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index d22ac5aab8..7a372ce982 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1457,7 +1457,13 @@ On Guix System, you will need to invoke the included shell scripts as "mount")))) (substitute* '("libfuse/util/mount.mergerfs.c") (("/bin/sh" command) - (string-append (assoc-ref inputs "bash-minimal") command)))))))) + (string-append (assoc-ref inputs "bash-minimal") command)) + ;; mount.mergerfs tries to execute `mergerfs`, which cannot be found + ;; without an absolute path. Hard-coding the path is fine, since we don’t + ;; link mount.mergerfs to mount.fuse anyway. + (("add_arg\\(&command, type\\);") + (string-append "add_arg(&command, \"" (assoc-ref outputs "out") + "/bin/mergerfs\");")))))))) ;; Mergerfs bundles a heavily modified copy of fuse. (inputs (list bash-minimal util-linux)) -- cgit 1.4.1