Skip to content

Commit

Permalink
Fix early removal of rc-file for nix-shell
Browse files Browse the repository at this point in the history
BASH_ENV causes all non-interactive shells called via eg. /etc/bashrc to
remove the rc-file before the main shell gets to run it. Completion
scripts will often do this. Fixes #976.

Adapted from and fixes #1034.
  • Loading branch information
shlevy committed Sep 8, 2016
1 parent 312bab0 commit a5f2750
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions src/nix-build/nix-build.cc
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,6 @@ int main(int argc, char ** argv)
auto rcfile = (Path) tmpDir + "/rc";
writeFile(rcfile, (format(
"rm -rf '%1%'; "
"unset BASH_ENV; "
"[ -n \"$PS1\" ] && [ -e ~/.bashrc ] && source ~/.bashrc; "
"%2%"
"dontAddDisableDepTrack=1; "
Expand All @@ -425,7 +424,6 @@ int main(int argc, char ** argv)
"unset TZ; %4%"
"%5%"
) % (Path) tmpDir % (pure ? "" : "p=$PATH") % (pure ? "" : "PATH=$PATH:$p; unset p; ") % (getenv("TZ") ? (string("export TZ='") + getenv("TZ") + "'; ") : "") % envCommand).str());
setenv("BASH_ENV", rcfile.c_str(), 1);
if (interactive)
execlp(getEnv("NIX_BUILD_SHELL", "bash").c_str(), "bash", "--rcfile", rcfile.c_str(), NULL);
else
Expand Down

0 comments on commit a5f2750

Please sign in to comment.