summaryrefslogtreecommitdiff
path: root/gnu/packages/file-systems.scm
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2022-10-09 11:31:30 +0200
committerLars-Dominik Braun <lars@6xq.net>2022-10-09 13:18:02 +0200
commitb310afde2696dc6b03f035c6734b068cddf2f129 (patch)
tree91b7832db03a820efe699e3082e9e2feb1f39b08 /gnu/packages/file-systems.scm
parentd3d3caeeeb194c694e260970b23b29326781ce42 (diff)
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*.
Diffstat (limited to 'gnu/packages/file-systems.scm')
-rw-r--r--gnu/packages/file-systems.scm8
1 files changed, 7 insertions, 1 deletions
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))