raitobezarius | for reference for those who are interested in testing the HEAD:
diff --git c/lix/libstore/build/local-derivation-goal.cc i/lix/libstore/build/local-derivation-goal.cc
index 68442d839..bd5cf4147 100644
--- c/lix/libstore/build/local-derivation-goal.cc
+++ i/lix/libstore/build/local-derivation-goal.cc
@@ -457,12 +457,13 @@ try {
"Failed to use the system-wide build directory '%s', falling back to a temporary "
"directory inside '%s'",
globalBuildDir,
- worker.buildDir
+ *worker.buildDir
);
+ }
}
/* Create a temporary directory where the build will take
place. */
- tmpDirRoot = createTempSubdir(buildDir, std::nullopt, 0700);
+ tmpDirRoot = createTempSubdir(*worker.buildDir, std::nullopt, 0700);
/* The TOCTOU between the previous mkdir call and this open call is unavoidable due to
* POSIX semantics.*/
tmpDirRootFd = AutoCloseFD{open(tmpDirRoot.c_str(), O_RDONLY | O_NOFOLLOW | O_DIRECTORY)};
diff --git c/lix/libutil/file-system.cc i/lix/libutil/file-system.cc
index f85202956..750d64cb4 100644
--- c/lix/libutil/file-system.cc
+++ i/lix/libutil/file-system.cc
@@ -677,7 +677,7 @@ Path makeTempPath(const Path & root, const std::optional<Path> & prefix)
const uint64_t entropy[2] = {uniform_dist(generator), uniform_dist(generator)};
const std::string unique = base32Encode(std::string_view(
reinterpret_cast<const char *>(entropy),
- sizeof(entropy),
+ sizeof(entropy)
));
if (prefix) {
return fmt("%s%s-%s", root, *prefix, unique);
should be sufficient on the top of the chain | 16:01:46 |