Merge pull request #119562 from symphorien/fusermountsetuid

fuse: fix mount.fuse -o setuid=...
This commit is contained in:
Guillaume Girol 2021-04-30 14:26:39 +00:00 committed by GitHub
commit 0c9ed22e64
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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
'');