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*.
This commit is contained in:
Lars-Dominik Braun 2022-10-09 11:31:30 +02:00
parent d3d3caeeeb
commit b310afde26
No known key found for this signature in database
GPG key ID: F663943E08D8092A

View file

@ -1457,7 +1457,13 @@ (define-public mergerfs
"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 dont
;; 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))