summary refs log tree commit diff
path: root/pkgs/build-support/build-fhs-userenv/default.nix
diff options
context:
space:
mode:
authorKevin Cox <kevincox@kevincox.ca>2015-12-14 11:14:53 -0500
committerKevin Cox <kevincox@kevincox.ca>2015-12-14 11:14:53 -0500
commit2f26b82411ea93349d375ea3b5d833b04a455972 (patch)
treee1eb44e4b1008fb6c7ccb108c21d2434f6379906 /pkgs/build-support/build-fhs-userenv/default.nix
parent1ae8f0f0f73879da27b4440371383a9376a2932a (diff)
downloadnixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.tar
nixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.tar.gz
nixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.tar.bz2
nixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.tar.lz
nixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.tar.xz
nixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.tar.zst
nixpkgs-2f26b82411ea93349d375ea3b5d833b04a455972.zip
Remove PATH assumption from fhs-userenv.
Previously is was assumed that bash was in the path when calling the
environment setup script. This changes all of the references of bash to
be absolute paths so that the user doesn't have to worry about the
environment they call it with.
Diffstat (limited to 'pkgs/build-support/build-fhs-userenv/default.nix')
-rw-r--r--pkgs/build-support/build-fhs-userenv/default.nix9
1 files changed, 5 insertions, 4 deletions
diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix
index aa95080ac52..54ce3e76897 100644
--- a/pkgs/build-support/build-fhs-userenv/default.nix
+++ b/pkgs/build-support/build-fhs-userenv/default.nix
@@ -1,8 +1,9 @@
-{ runCommand, lib, writeText, writeScriptBin, stdenv, ruby } :
-{ env, runScript ? "bash", extraBindMounts ? [], extraInstallCommands ? "" } :
+{ runCommand, lib, writeText, writeScriptBin, stdenv, bash, ruby } :
+{ env, runScript ? "${bash}/bin/bash", extraBindMounts ? [], extraInstallCommands ? "" } :
 
 let
   name = env.pname;
+  bash' = "${bash}/bin/bash";
 
   # Sandboxing script
   chroot-user = writeScriptBin "chroot-user" ''
@@ -29,7 +30,7 @@ in runCommand name {
     runCommand "${name}-shell-env" {
       shellHook = ''
         export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS"
-        exec ${chroot-user}/bin/chroot-user ${env} bash -l ${init "bash"} "$(pwd)"
+        exec ${chroot-user}/bin/chroot-user ${env} ${bash'} -l ${init bash'} "$(pwd)"
       '';
     } ''
       echo >&2 ""
@@ -42,7 +43,7 @@ in runCommand name {
   cat <<EOF >$out/bin/${name}
   #! ${stdenv.shell}
   export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:\$CHROOTENV_EXTRA_BINDS"
-  exec ${chroot-user}/bin/chroot-user ${env} bash -l ${init runScript} "\$(pwd)" "\$@"
+  exec ${chroot-user}/bin/chroot-user ${env} ${bash'} -l ${init runScript} "\$(pwd)" "\$@"
   EOF
   chmod +x $out/bin/${name}
   ${extraInstallCommands}