diff options
author | j-keck <jhyphenkeck@gmail.com> | 2015-02-02 21:22:06 +0100 |
---|---|---|
committer | j-keck <jhyphenkeck@gmail.com> | 2015-02-02 22:07:23 +0100 |
commit | eb54864494ffa54418b1f0f0e981b3d202f03c20 (patch) | |
tree | d11618009245ddf2c9638d41a78c49235971d872 /pkgs/os-specific/linux/libcap | |
parent | f8038b0c6c3c61f081c52a9e467f7f8d731a74ff (diff) |
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.patch | 15 | ||||
-rw-r--r-- | pkgs/os-specific/linux/libcap/progs.nix | 2 |
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 0000000000000..359d95400fa65 --- /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 1902b4acb1a4c..c287c4379586f 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"; |