summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-18 19:11:53 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-18 22:27:22 +0200
commit15d299874c635d14a84710005d0ed4b05968ff6f (patch)
treef3995eeb77879b8e47dd87b54d27bff81f720575
parent1691b4cdc619caf47700eef22023066985afb877 (diff)
downloadgnu-guix-15d299874c635d14a84710005d0ed4b05968ff6f.tar
gnu-guix-15d299874c635d14a84710005d0ed4b05968ff6f.tar.gz
vm: Avoid resetting timestamps twice.
* guix/build/vm.scm (initialize-hard-disk): Don't call 'reset-timestamps' when REGISTER-CLOSURES? is true. * guix/build/install.scm (register-closure): Mention timestamps in docstring.
-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)))