From 76c0e85929dc747288a8fe66a7bb77673cf2aa7e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 14 Feb 2004 21:44:18 +0000 Subject: * The environment variable NIX_ROOT can now be set to execute Nix in a chroot() environment. * A operation `--validpath' to register path validity. Useful for bootstrapping in a pure Nix environment. * Safety checks: ensure that files involved in store operations are in the store. --- src/libmain/shared.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/libmain/shared.cc') diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 32f4f81240bb..ec639052b5c8 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -22,6 +22,13 @@ void sigintHandler(int signo) processor. */ static void initAndRun(int argc, char * * argv) { + char * root = getenv("NIX_ROOT"); + + if (root) { + if (chroot(root) != 0) + throw SysError(format("changing root to `%1%'") % root); + } + /* Setup Nix paths. */ nixStore = NIX_STORE_DIR; nixDataDir = NIX_DATA_DIR; -- cgit 1.4.1