store-copy: 'populate-store' resets timestamps.
authorLudovic Courtès <ludo@gnu.org>
Thu, 10 Dec 2020 12:37:59 +0000 (13:37 +0100)
committerLudovic Courtès <ludo@gnu.org>
Tue, 15 Dec 2020 16:32:10 +0000 (17:32 +0100)
commit7b8d239ec241b9663820fed3bfde4344366f9d19
treed917ac857cb7224b6374730b205afc6f1e7c51bc
parent2718c29c3fb9f9de2ec897248ad49ae11ca39b7a
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.
gnu/build/image.scm
gnu/build/vm.scm
guix/build/store-copy.scm
tests/gexp.scm