summary refs log tree commit diff
path: root/pkgs/os-specific/linux/fuse
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien@users.noreply.github.com>2021-04-30 14:26:39 +0000
committerGitHub <noreply@github.com>2021-04-30 14:26:39 +0000
commit0c9ed22e6417419069b7185af9da8f58f6fee5ef (patch)
tree12257caf867ce9c257ff230e03c60542f28ad9ca /pkgs/os-specific/linux/fuse
parentc89bf4519524a2cc428b7da12d64cb1f76503335 (diff)
parentfbb8dbdac682296e6435e73c7568b3363f6eb0af (diff)
downloadnixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.tar
nixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.tar.gz
nixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.tar.bz2
nixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.tar.lz
nixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.tar.xz
nixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.tar.zst
nixpkgs-0c9ed22e6417419069b7185af9da8f58f6fee5ef.zip
Merge pull request #119562 from symphorien/fusermountsetuid
fuse: fix mount.fuse -o setuid=...
Diffstat (limited to 'pkgs/os-specific/linux/fuse')
-rw-r--r--pkgs/os-specific/linux/fuse/common.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix
index cca1ecf5d24..c1217f66938 100644
--- a/pkgs/os-specific/linux/fuse/common.nix
+++ b/pkgs/os-specific/linux/fuse/common.nix
@@ -1,7 +1,7 @@
 { version, sha256Hash }:
 
 { lib, stdenv, fetchFromGitHub, fetchpatch
-, fusePackages, util-linux, gettext
+, fusePackages, util-linux, gettext, shadow
 , meson, ninja, pkg-config
 , autoreconfHook
 , python3Packages, which
@@ -54,13 +54,14 @@ in stdenv.mkDerivation rec {
     # $PATH, so it should also work on non-NixOS systems.
     export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/run/wrappers/bin\""
 
-    sed -e 's@/bin/@${util-linux}/bin/@g' -i lib/mount_util.c
+    substituteInPlace lib/mount_util.c --replace "/bin/" "${util-linux}/bin/"
     '' + (if isFuse3 then ''
       # The configure phase will delete these files (temporary workaround for
       # ./fuse3-install_man.patch)
       install -D -m444 doc/fusermount3.1 $out/share/man/man1/fusermount3.1
       install -D -m444 doc/mount.fuse3.8 $out/share/man/man8/mount.fuse3.8
     '' else ''
+      substituteInPlace util/mount.fuse.c --replace '"su"' '"${shadow.su}/bin/su"'
       sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh
       ./makeconf.sh
     '');