summary refs log tree commit diff
path: root/pkgs/os-specific/linux/libcap
diff options
context:
space:
mode:
authorj-keck <jhyphenkeck@gmail.com>2015-02-02 21:22:06 +0100
committerj-keck <jhyphenkeck@gmail.com>2015-02-02 22:07:23 +0100
commiteb54864494ffa54418b1f0f0e981b3d202f03c20 (patch)
treed11618009245ddf2c9638d41a78c49235971d872 /pkgs/os-specific/linux/libcap
parentf8038b0c6c3c61f081c52a9e467f7f8d731a74ff (diff)
downloadnixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.tar
nixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.tar.gz
nixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.tar.bz2
nixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.tar.lz
nixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.tar.xz
nixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.tar.zst
nixpkgs-eb54864494ffa54418b1f0f0e981b3d202f03c20.zip
libcap_progs: fix bash path
  * in progs/capsh.c is the bash path hardcoded to '/bin/bash'
  * this fix set's the path to '/var/run/current-system/sw/bin/bash'
Diffstat (limited to 'pkgs/os-specific/linux/libcap')
-rw-r--r--pkgs/os-specific/linux/libcap/progs-bash-path.patch15
-rw-r--r--pkgs/os-specific/linux/libcap/progs.nix2
2 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/libcap/progs-bash-path.patch b/pkgs/os-specific/linux/libcap/progs-bash-path.patch
new file mode 100644
index 00000000000..359d95400fa
--- /dev/null
+++ b/pkgs/os-specific/linux/libcap/progs-bash-path.patch
@@ -0,0 +1,15 @@
+this patch set the bash path from '/bin/bash' to '/var/run/current-system/sw/bin/bash'
+
+diff --git a/progs/capsh.c b/progs/capsh.c
+index 52336d7..fd98a03 100644
+--- a/progs/capsh.c
++++ b/progs/capsh.c
+@@ -556,7 +556,7 @@ int main(int argc, char *argv[], char *envp[])
+ 	    }
+ 	    printf("\n");
+ 	} else if ((!strcmp("--", argv[i])) || (!strcmp("==", argv[i]))) {
+-	    argv[i] = strdup(argv[i][0] == '-' ? "/bin/bash" : argv[0]);
++	    argv[i] = strdup(argv[i][0] == '-' ? "/var/run/current-system/sw/bin/bash" : argv[0]);
+ 	    argv[argc] = NULL;
+ 	    execve(argv[i], argv+i, envp);
+ 	    fprintf(stderr, "execve /bin/bash failed!\n");
diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix
index 1902b4acb1a..c287c437958 100644
--- a/pkgs/os-specific/linux/libcap/progs.nix
+++ b/pkgs/os-specific/linux/libcap/progs.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libcap ];
 
+  patches = [ ./progs-bash-path.patch ];
+
   preConfigure = "cd progs";
 
   installFlags = "RAISE_SETFCAP=no";