summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-05-31 22:51:07 +0200
committerLudovic Courtès <ludo@gnu.org>2016-05-31 23:38:51 +0200
commit0adabad72d58492f08975af0b6b837ebde32a51b (patch)
treed0aacf7c6704a8b076f01fac2e054c2f06c01376 /gnu/system
parent405d043ddd46a2ae5dbd68f2487529e805e8fc1f (diff)
downloadguix-0adabad72d58492f08975af0b6b837ebde32a51b.tar.gz
install: 'cow-store' now bind-mounts the target's /tmp.
Reported by Matthew Jordan <matthewjordandevops@yandex.com>
at <https://lists.gnu.org/archive/html/guix-devel/2016-05/msg00967.html>.

* gnu/system/install.scm (make-cow-store): Bind-mount TARGET's /tmp
on /tmp.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/install.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 07ad3cbcb2..a72613e9c5 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -145,6 +145,11 @@ current store is on a RAM disk."
         (chmod #$directory #o1775)))
 
   #~(begin
+      ;; Bind-mount TARGET's /tmp in case we need space to build things.
+      (let ((tmpdir (string-append #$target "/tmp")))
+        (mkdir-p tmpdir)
+        (mount tmpdir "/tmp" "none" MS_BIND))
+
       (unless (file-exists? "/.ro-store")
         (mkdir "/.ro-store")
         (mount #$(%store-prefix) "/.ro-store" "none"