summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/build/install.scm2
-rw-r--r--guix/build/vm.scm5
2 files changed, 5 insertions, 2 deletions
diff --git a/guix/build/install.scm b/guix/build/install.scm
index a0be6e9d39..564735a7f6 100644
--- a/guix/build/install.scm
+++ b/guix/build/install.scm
@@ -103,7 +103,7 @@ as created and modified at the Epoch."
 (define (register-closure store closure)
   "Register CLOSURE in STORE, where STORE is the directory name of the target
 store and CLOSURE is the name of a file containing a reference graph as used
-by 'guix-register'."
+by 'guix-register'.  As a side effect, this resets timestamps on store files."
   (let ((status (system* "guix-register" "--prefix" store
                          closure)))
     (unless (zero? status)
diff --git a/guix/build/vm.scm b/guix/build/vm.scm
index b9bb66cdb7..e67b431b5a 100644
--- a/guix/build/vm.scm
+++ b/guix/build/vm.scm
@@ -211,7 +211,10 @@ further populate the partition."
   (unless (install-grub grub.cfg "/dev/sda" target-directory)
     (error "failed to install GRUB"))
 
-  (reset-timestamps target-directory)
+  ;; 'guix-register' resets timestamps and everything, so no need to do it
+  ;; once more in that case.
+  (unless register-closures?
+    (reset-timestamps target-directory))
 
   (zero? (system* "umount" target-directory)))