about summary refs log tree commit diff
path: root/src/libstore/build.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r--src/libstore/build.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 88efb9a65d1a..1c510fa7d514 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1799,6 +1799,14 @@ void DerivationGoal::startBuilder()
         }
         dirsInChroot[tmpDir] = tmpDir;
 
+        /* Add the closure of store paths to the chroot. */
+        PathSet closure;
+        for (auto & i : dirsInChroot)
+            if (isInStore(i.second))
+                computeFSClosure(worker.store, toStorePath(i.second), closure);
+        for (auto & i : closure)
+            dirsInChroot[i] = i;
+
         string allowed = settings.get("allowed-impure-host-deps", string(DEFAULT_ALLOWED_IMPURE_PREFIXES));
         PathSet allowedPaths = tokenizeString<StringSet>(allowed);