aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-09-29 18:21:10 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-11-10 22:32:51 +0100
commitb39622a487e2978bd32c9faf2f651aec1f9815c1 (patch)
tree9f7c754848efabd7bd7dc0c230d369bfd0af0606 /src
parentaaf8a1c16bb8de4045d8aae4fea8ac8a1bef2c34 (diff)
rename `chroot` to `sandbox` (fixes #656, close #682)
- rename options but leav old names as lower-priority aliases, also "-dirs" -> "-paths" to get closer to the meaning - update docs to reflect the new names (old aliases are not documented), including a new file with release notes - tests need an update after corresponding changes to nixpkgs - __noChroot is left as it is (after discussion on the PR)
Diffstat (limited to 'src')
-rw-r--r--src/libstore/build.cc23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 70278a878..dde87dcda 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1842,12 +1842,14 @@ void DerivationGoal::startBuilder()
work properly. Purity checking for fixed-output derivations
is somewhat pointless anyway. */
{
- string x = settings.get("build-use-chroot", string("false"));
+ string x = settings.get("build-use-sandbox",
+ /* deprecated alias */
+ settings.get("build-use-chroot", string("false")));
if (x != "true" && x != "false" && x != "relaxed")
- throw Error("option ‘build-use-chroot’ must be set to one of ‘true’, ‘false’ or ‘relaxed’");
+ throw Error("option ‘build-use-sandbox’ must be set to one of ‘true’, ‘false’ or ‘relaxed’");
if (x == "true") {
if (get(drv->env, "__noChroot") == "1")
- throw Error(format("derivation ‘%1%’ has ‘__noChroot’ set, but that's not allowed when ‘build-use-chroot’ is ‘true’") % drvPath);
+ throw Error(format("derivation ‘%1%’ has ‘__noChroot’ set, but that's not allowed when ‘build-use-sandbox’ is ‘true’") % drvPath);
useChroot = true;
}
else if (x == "false")
@@ -1866,8 +1868,13 @@ void DerivationGoal::startBuilder()
/* Allow a user-configurable set of directories from the
host file system. */
- PathSet dirs = tokenizeString<StringSet>(settings.get("build-chroot-dirs", defaultChrootDirs));
- PathSet dirs2 = tokenizeString<StringSet>(settings.get("build-extra-chroot-dirs", string("")));
+ PathSet dirs = tokenizeString<StringSet>(
+ settings.get("build-sandbox-paths",
+ /* deprecated alias with lower priority */
+ settings.get("build-chroot-dirs", defaultChrootDirs)));
+ PathSet dirs2 = tokenizeString<StringSet>(
+ settings.get("build-extra-chroot-dirs",
+ settings.get("build-extra-sandbox-paths", string(""))));
dirs.insert(dirs2.begin(), dirs2.end());
for (auto & i : dirs) {
@@ -2010,7 +2017,7 @@ void DerivationGoal::startBuilder()
/* We don't really have any parent prep work to do (yet?)
All work happens in the child, instead. */
#else
- throw Error("chroot builds are not supported on this platform");
+ throw Error("sandboxing builds is not supported on this platform");
#endif
}
@@ -2059,7 +2066,7 @@ void DerivationGoal::startBuilder()
auto line = std::string{lines, lastPos, nlPos};
lastPos = nlPos + 1;
if (state == stBegin) {
- if (line == "extra-chroot-dirs") {
+ if (line == "extra-sandbox-paths" || line == "extra-chroot-dirs") {
state = stExtraChrootDirs;
} else {
throw Error(format("unknown pre-build hook command ‘%1%’")
@@ -2607,7 +2614,7 @@ void DerivationGoal::registerOutputs()
replaceValidPath(path, actualPath);
else
if (buildMode != bmCheck && rename(actualPath.c_str(), path.c_str()) == -1)
- throw SysError(format("moving build output ‘%1%’ from the chroot to the Nix store") % path);
+ throw SysError(format("moving build output ‘%1%’ from the sandbox to the Nix store") % path);
}
if (buildMode != bmCheck) actualPath = path;
} else {