summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-03-22 22:03:38 +0100
committerLudovic Courtès <ludo@gnu.org>2019-03-22 22:49:35 +0100
commit0dc7d298a33f83d5f02a962b5f1bd24ee0e8ef07 (patch)
treecb8a6f63b81ebefa20f00c96be00344bf36605af
parentac3c14fb0712b0672a4a237dc9d267ee148597fe (diff)
downloadguix-0dc7d298a33f83d5f02a962b5f1bd24ee0e8ef07.tar.gz
vm: 'system-docker-image' calls 'sync' before rebooting.
Previously we could end up silently building truncated tarballs.

* gnu/system/vm.scm (system-docker-image)[build]: Add call to 'sync'.
-rw-r--r--gnu/system/vm.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index b671c74ab8..55cddb1a4b 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -526,7 +526,10 @@ should set REGISTER-CLOSURES? to #f."
                  #$os-drv
                  #:compressor '(#+(file-append gzip "/bin/gzip") "-9n")
                  #:creation-time (make-time time-utc 0 1)
-                 #:transformations `((,root-directory -> ""))))))))
+                 #:transformations `((,root-directory -> "")))
+
+                ;; Make sure the tarball is fully written before rebooting.
+                (sync))))))
     (expression->derivation-in-linux-vm
      name build
      #:make-disk-image? #f