summary refs log tree commit diff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-28 15:40:53 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-28 23:25:17 +0200
commitbd6639026bc04c9461545d199253ca64e1cb3467 (patch)
treead1edcc72bb807c959ddea418cb8ac9796652899 /gnu/packages/linux.scm
parentdb288efafb181f82184627eb53f1d1e244eba6c7 (diff)
downloadguix-bd6639026bc04c9461545d199253ca64e1cb3467.tar.gz
gnu: fuse: Allow use of 'fusermount' taken from $PATH.
* gnu/packages/linux.scm (fuse) <set-file-names>: Set FUSERMOUNT_DIR in
  lib/Makefile.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e4d9b67a45..7b46190d79 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -962,7 +962,15 @@ processes currently causing I/O.")
                                     "/bin/" maybe-u "mount")))
                   (substitute* '("util/mount.fuse.c")
                     (("/bin/sh")
-                     (which "sh"))))
+                     (which "sh")))
+
+                  ;; This hack leads libfuse to search for 'fusermount' in
+                  ;; $PATH, where it may find a setuid-root binary, instead of
+                  ;; trying solely $out/sbin/fusermount and failing because
+                  ;; it's not setuid.
+                  (substitute* "lib/Makefile"
+                    (("-DFUSERMOUNT_DIR=[[:graph:]]+")
+                     "-DFUSERMOUNT_DIR=\\\"/var/empty\\\"")))
                 %standard-phases)))
     (home-page "http://fuse.sourceforge.net/")
     (synopsis "Support file systems implemented in user space")