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.
This commit is contained in:
Ludovic Courtès 2020-12-10 14:15:05 +01:00
parent 0f15fd5c12
commit dea1ee1fd7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
5 changed files with 8 additions and 9 deletions

View file

@ -155,7 +155,6 @@ (define* (register-closure prefix closure
(register-items db items (register-items db items
#:prefix prefix #:prefix prefix
#:deduplicate? deduplicate? #:deduplicate? deduplicate?
#:reset-timestamps? #f
#:registration-time %epoch))))) #:registration-time %epoch)))))
(define* (initialize-efi-partition root (define* (initialize-efi-partition root

View file

@ -227,7 +227,6 @@ (define* (register-closure prefix closure
(register-items db items (register-items db items
#:prefix prefix #:prefix prefix
#:deduplicate? deduplicate? #:deduplicate? deduplicate?
#:reset-timestamps? #f
#:registration-time %epoch))))) #:registration-time %epoch)))))

View file

@ -119,7 +119,6 @@ (define (acquire-lock file)
;; deduplication, timestamps, and permissions. ;; deduplication, timestamps, and permissions.
(register-items db (register-items db
(list (store-info target deriver references)) (list (store-info target deriver references))
#:reset-timestamps? #f
#:deduplicate? #f)) #:deduplicate? #f))
(when lock? (when lock?

View file

@ -168,7 +168,6 @@ (define db-file
(with-database db-file db (with-database db-file db
(register-items db items (register-items db items
#:deduplicate? #f #:deduplicate? #f
#:reset-timestamps? #f
#:registration-time %epoch))))))) #:registration-time %epoch)))))))
(computed-file "store-database" build (computed-file "store-database" build

View file

@ -392,7 +392,8 @@ (define* (register-path path
given, it must be the name of the directory containing the new store to 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 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. 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 Use with care as it directly modifies the store! This is primarily meant to
be used internally by the daemon's build hook. be used internally by the daemon's build hook.
@ -403,12 +404,17 @@ (define db-file
(store-database-file #:prefix prefix (store-database-file #:prefix prefix
#:state-directory state-directory)) #: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)) (parameterize ((sql-schema schema))
(with-database db-file db (with-database db-file db
(register-items db (list (store-info path deriver references)) (register-items db (list (store-info path deriver references))
#:prefix prefix #:prefix prefix
#:deduplicate? deduplicate? #:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:log-port (%make-void-port "w"))))) #:log-port (%make-void-port "w")))))
(define %epoch (define %epoch
@ -418,7 +424,6 @@ (define %epoch
(define* (register-items db items (define* (register-items db items
#:key prefix #:key prefix
(deduplicate? #t) (deduplicate? #t)
(reset-timestamps? #t)
registration-time registration-time
(log-port (current-error-port))) (log-port (current-error-port)))
"Register all of ITEMS, a list of <store-info> records as returned by "Register all of ITEMS, a list of <store-info> records as returned by
@ -452,8 +457,6 @@ (define real-file-name
;; significant differences when 'register-closures' is called ;; significant differences when 'register-closures' is called
;; consecutively for overlapping closures such as 'system' and 'bootcfg'. ;; consecutively for overlapping closures such as 'system' and 'bootcfg'.
(unless (path-id db to-register) (unless (path-id db to-register)
(when reset-timestamps?
(reset-timestamps real-file-name))
(let-values (((hash nar-size) (nar-sha256 real-file-name))) (let-values (((hash nar-size) (nar-sha256 real-file-name)))
(call-with-retrying-transaction db (call-with-retrying-transaction db
(lambda () (lambda ()