summary refs log tree commit diff
path: root/gnu/build/image.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-12-10 13:37:59 +0100
committerLudovic Courtès <ludo@gnu.org>2020-12-15 17:32:10 +0100
commit7b8d239ec241b9663820fed3bfde4344366f9d19 (patch)
treed917ac857cb7224b6374730b205afc6f1e7c51bc /gnu/build/image.scm
parent2718c29c3fb9f9de2ec897248ad49ae11ca39b7a (diff)
downloadguix-7b8d239ec241b9663820fed3bfde4344366f9d19.tar.gz
store-copy: 'populate-store' resets timestamps.
Until now, 'populate-store' would reset permissions but not timestamps,
so callers would resort to going through an extra directory traversal to
reset timestamps.

* guix/build/store-copy.scm (reset-permissions): Remove.
(copy-recursively): New procedure.
(populate-store): Pass #:keep-permissions? to 'copy-recursively'.
Remove call to 'reset-permissions'.
* tests/gexp.scm ("gexp->derivation, store copy"): In BUILD-DRV, check
whether 'populate-store' canonicalizes permissions and timestamps.
* gnu/build/image.scm (initialize-root-partition): Pass #:reset-timestamps? #f
to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
Diffstat (limited to 'gnu/build/image.scm')
-rw-r--r--gnu/build/image.scm5
1 files changed, 2 insertions, 3 deletions
diff --git a/gnu/build/image.scm b/gnu/build/image.scm
index 640a784204..2857362914 100644
--- a/gnu/build/image.scm
+++ b/gnu/build/image.scm
@@ -196,9 +196,8 @@ register-closure."
 
   (when register-closures?
     (for-each (lambda (closure)
-                (register-closure root
-                                  closure
-                                  #:reset-timestamps? #t
+                (register-closure root closure
+                                  #:reset-timestamps? #f
                                   #:deduplicate? deduplicate?
                                   #:wal-mode? wal-mode?))
               references-graphs))