diff options
author | Florian Klink <flokli@flokli.de> | 2020-01-11 21:13:42 +0100 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2020-01-12 00:01:59 +0100 |
commit | 1ec5d8249c703269bbaf690e497b4b659b9ee4d2 (patch) | |
tree | d9190129a7885633b3f9065562fea0a68118612c /pkgs/tools | |
parent | eed30dfa5c87e6aca95850b1e16da4113275084a (diff) |
davfs2: substitute ps command
umount.davfs2 uses ps to get a process list to terminate gracefully. On NixOS, this currently fails: ``` sh: ps: command not found /run/current-system/sw/bin/umount.davfs: can't find mount.davfs-process with pid 4085; trying to unmount anyway. you propably have to remove /var/run/mount.davfs/root-x.pid manually sh: umount: command not found ``` Fix this by patching ${procps}/bin/ps into the ps_command. Afterwards: ``` umount.davfs: waiting for mount.davfs (pid 4106) to terminate gracefully .. OK ```
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/filesystems/davfs2/0001-umount_davfs-substitute-ps-command.patch | 25 | ||||
-rw-r--r-- | pkgs/tools/filesystems/davfs2/default.nix | 22 |
2 files changed, 44 insertions, 3 deletions
diff --git a/pkgs/tools/filesystems/davfs2/0001-umount_davfs-substitute-ps-command.patch b/pkgs/tools/filesystems/davfs2/0001-umount_davfs-substitute-ps-command.patch new file mode 100644 index 0000000000000..3fbbc4c7d0fda --- /dev/null +++ b/pkgs/tools/filesystems/davfs2/0001-umount_davfs-substitute-ps-command.patch @@ -0,0 +1,25 @@ +From 0cb1321c4cbb2978318ddad73c9ee6f2a19c55c8 Mon Sep 17 00:00:00 2001 +From: Florian Klink <flokli@flokli.de> +Date: Sat, 11 Jan 2020 21:06:33 +0100 +Subject: [PATCH] umount_davfs: substitute ps command + +--- + src/umount_davfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/umount_davfs.c b/src/umount_davfs.c +index b7019c3..a278679 100644 +--- a/src/umount_davfs.c ++++ b/src/umount_davfs.c +@@ -157,7 +157,7 @@ main(int argc, char *argv[]) + } + fclose(file); + +- char *ps_command = ne_concat("ps -p ", pid, NULL); ++ char *ps_command = ne_concat("@ps@ -p ", pid, NULL); + FILE *ps_in = popen(ps_command, "r"); + if (!ps_in) { + error(0, 0, +-- +2.24.1 + diff --git a/pkgs/tools/filesystems/davfs2/default.nix b/pkgs/tools/filesystems/davfs2/default.nix index a0d2cfd4ef7d7..366db929f582f 100644 --- a/pkgs/tools/filesystems/davfs2/default.nix +++ b/pkgs/tools/filesystems/davfs2/default.nix @@ -1,4 +1,10 @@ -{ stdenv, fetchurl, neon, zlib }: +{ stdenv +, fetchurl +, neon +, procps +, substituteAll +, zlib +}: stdenv.mkDerivation rec { name = "davfs2-1.5.6"; @@ -10,11 +16,21 @@ stdenv.mkDerivation rec { buildInputs = [ neon zlib ]; - patches = [ ./isdir.patch ./fix-sysconfdir.patch ]; + patches = [ + ./isdir.patch + ./fix-sysconfdir.patch + (substituteAll { + src = ./0001-umount_davfs-substitute-ps-command.patch; + ps = "${procps}/bin/ps"; + }) + ]; configureFlags = [ "--sysconfdir=/etc" ]; - makeFlags = ["sbindir=$(out)/sbin" "ssbindir=$(out)/sbin"]; + makeFlags = [ + "sbindir=$(out)/sbin" + "ssbindir=$(out)/sbin" + ]; meta = { homepage = https://savannah.nongnu.org/projects/davfs2; |