From dea1ee1fd740248307f74ca4cb70b94742264098 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 10 Dec 2020 14:15:05 +0100 Subject: database: Remove #:reset-timestamps? from 'register-items'. The assumption now is that the caller took care of resetting timestamps and permissions. * guix/store/database.scm (register-items): Remove #:reset-timestamps? parameter and the call to 'reset-timestamps'. (register-path): Adjust accordingly and add call to 'reset-timestamps'. * gnu/build/image.scm (register-closure): Remove #:reset-timestamps? parameter to 'register-items'. * gnu/build/vm.scm (register-closure): Likewise. * guix/nar.scm (finalize-store-file): Adjust accordingly. * guix/scripts/pack.scm (store-database)[build]: Likewise. --- gnu/build/image.scm | 1 - gnu/build/vm.scm | 1 - guix/nar.scm | 1 - guix/scripts/pack.scm | 1 - guix/store/database.scm | 13 ++++++++----- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/gnu/build/image.scm b/gnu/build/image.scm index 4f80a1964f..0deea10a9d 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -155,7 +155,6 @@ to call-with-database." (register-items db items #:prefix prefix #:deduplicate? deduplicate? - #:reset-timestamps? #f #:registration-time %epoch))))) (define* (initialize-efi-partition root diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index f700e08b25..abb0317faf 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -227,7 +227,6 @@ deduplicates files common to CLOSURE and the rest of PREFIX." (register-items db items #:prefix prefix #:deduplicate? deduplicate? - #:reset-timestamps? #f #:registration-time %epoch))))) diff --git a/guix/nar.scm b/guix/nar.scm index ba035ca6dc..947b393d84 100644 --- a/guix/nar.scm +++ b/guix/nar.scm @@ -119,7 +119,6 @@ held." ;; deduplication, timestamps, and permissions. (register-items db (list (store-info target deriver references)) - #:reset-timestamps? #f #:deduplicate? #f)) (when lock? diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index ba9a6dc1b2..1612ec8f04 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -168,7 +168,6 @@ dependencies are registered." (with-database db-file db (register-items db items #:deduplicate? #f - #:reset-timestamps? #f #:registration-time %epoch))))))) (computed-file "store-database" build diff --git a/guix/store/database.scm b/guix/store/database.scm index b36b127630..0ed66a6e2c 100644 --- a/guix/store/database.scm +++ b/guix/store/database.scm @@ -392,7 +392,8 @@ references, and DERIVER as its deriver (.drv that led to it.) If PREFIX is given, it must be the name of the directory containing the new store to initialize; if STATE-DIRECTORY is given, it must be a string containing the absolute file name to the state directory of the store being initialized. -Return #t on success. +Return #t on success. As a side effect, reset timestamps on PATH, unless +RESET-TIMESTAMPS? is false. Use with care as it directly modifies the store! This is primarily meant to be used internally by the daemon's build hook. @@ -403,12 +404,17 @@ by adding it as a temp-root." (store-database-file #:prefix prefix #:state-directory state-directory)) + (define real-file-name + (string-append (or prefix "") path)) + + (when reset-timestamps? + (reset-timestamps real-file-name)) + (parameterize ((sql-schema schema)) (with-database db-file db (register-items db (list (store-info path deriver references)) #:prefix prefix #:deduplicate? deduplicate? - #:reset-timestamps? reset-timestamps? #:log-port (%make-void-port "w"))))) (define %epoch @@ -418,7 +424,6 @@ by adding it as a temp-root." (define* (register-items db items #:key prefix (deduplicate? #t) - (reset-timestamps? #t) registration-time (log-port (current-error-port))) "Register all of ITEMS, a list of records as returned by @@ -452,8 +457,6 @@ typically by adding them as temp-roots." ;; significant differences when 'register-closures' is called ;; consecutively for overlapping closures such as 'system' and 'bootcfg'. (unless (path-id db to-register) - (when reset-timestamps? - (reset-timestamps real-file-name)) (let-values (((hash nar-size) (nar-sha256 real-file-name))) (call-with-retrying-transaction db (lambda () -- cgit v1.2.3