summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/nar.scm4
1 files changed, 3 insertions, 1 deletions
diff --git a/guix/nar.scm b/guix/nar.scm
index 5b602df90b..ce69163a8a 100644
--- a/guix/nar.scm
+++ b/guix/nar.scm
@@ -339,8 +339,10 @@ protected from garbage collection."
(let* ((template (string-append (%store-prefix) "/guix-XXXXXX"))
(port (mkstemp! template)))
(close-port port)
+
+ ;; Make sure TEMPLATE is not collected while we populate it.
(with-store store
- (add-temp-root store template))
+ (add-indirect-root store template))
;; There's a small window during which the GC could delete the file. Try
;; again if that happens.