From 2f26b82411ea93349d375ea3b5d833b04a455972 Mon Sep 17 00:00:00 2001 From: Kevin Cox Date: Mon, 14 Dec 2015 11:14:53 -0500 Subject: [PATCH] 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. --- pkgs/build-support/build-fhs-userenv/default.nix | 9 +++++---- 1 file 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 <$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}