From d86009bd76ae85e56e1d26aab26d38f90ecb6439 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Fri, 22 Mar 2024 22:41:50 +0100 Subject: Add build-dir setting, clean up default TMPDIR handling This is a squash of upstream PRs #10303, #10312 and #10883. fix: Treat empty TMPDIR as unset Fixes an instance of nix: src/libutil/util.cc:139: nix::Path nix::canonPath(PathView, bool): Assertion `path != ""' failed. ... which I've been getting in one of my shells for some reason. I have yet to find out why TMPDIR was empty, but it's no reason for Nix to break. (cherry picked from commit c3fb2aa1f9d1fa756dac38d3588c836c5a5395dc) fix: Treat empty XDG_RUNTIME_DIR as unset See preceding commit. Not observed in the wild, but is sensible and consistent with TMPDIR behavior. (cherry picked from commit b9e7f5aa2df3f0e223f5c44b8089cbf9b81be691) local-derivation-goal.cc: Reuse defaultTempDir() (cherry picked from commit fd31945742710984de22805ee8d97fbd83c3f8eb) fix: remove usage of XDG_RUNTIME_DIR for TMP (cherry picked from commit 1363f51bcb24ab9948b7b5093490a009947f7453) tests/functional: Add count() (cherry picked from commit 6221770c9de4d28137206bdcd1a67eea12e1e499) Remove uncalled for message (cherry picked from commit b1fe388d33530f0157dcf9f461348b61eda13228) Add build-dir setting (cherry picked from commit 8b16cced18925aa612049d08d5e78eccbf0530e4) Change-Id: Ic7b75ff0b6a3b19e50a4ac8ff2d70f15c683c16a --- doc/manual/rl-next/build-dir.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/manual/rl-next/build-dir.md (limited to 'doc') diff --git a/doc/manual/rl-next/build-dir.md b/doc/manual/rl-next/build-dir.md new file mode 100644 index 000000000..88bcd8da4 --- /dev/null +++ b/doc/manual/rl-next/build-dir.md @@ -0,0 +1,12 @@ +--- +synopsis: "Add a `build-dir` setting to set the backing directory for builds" +cls: 1514 +credits: [roberth, tomberek] +category: Improvements +--- + +`build-dir` can now be set in the Nix configuration to choose the backing directory for the build sandbox. +This can be useful on systems with `/tmp` on tmpfs, or simply to relocate large builds to another disk. + +Also, `XDG_RUNTIME_DIR` is no longer considered when selecting the default temporary directory, +as it's not intended to be used for large amounts of data. -- cgit v1.2.3