database: Remove #:deduplicate? and #:reset-timestamps? from 'register-path'.

* guix/store/database.scm (register-path): Remove #:deduplicate?
and #:reset-timestamps?.
* guix/scripts/system.scm (copy-item): Adjust accordingly.
* tests/store-database.scm ("register-path")
("register-path, directory"): Call 'reset-timestamps'.
This commit is contained in:
Ludovic Courtès 2020-12-11 12:03:25 +01:00
parent cd6c5ddfc8
commit 0682cc5936
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 6 additions and 22 deletions

View File

@ -158,11 +158,7 @@ REFERENCES as its set of references."
(unless (register-path item
#:prefix target
#:state-directory state
#:references references
;; Those are taken care of by 'copy-store-item'.
#:reset-timestamps? #f
#:deduplicate? #f)
#:references references)
(leave (G_ "failed to register '~a' under '~a'~%")
item target))))

View File

@ -384,16 +384,14 @@ is true."
(define* (register-path path
#:key (references '()) deriver prefix
state-directory (deduplicate? #t)
(reset-timestamps? #t)
state-directory
(schema (sql-schema)))
"Register PATH as a valid store file, with REFERENCES as its list of
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. As a side effect, reset timestamps on PATH, unless
RESET-TIMESTAMPS? is false.
Return #t on success.
Use with care as it directly modifies the store! This is primarily meant to
be used internally by the daemon's build hook.
@ -404,17 +402,6 @@ 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 deduplicate?
(deduplicate real-file-name (nar-sha256 real-file-name)
#:store (string-append (or prefix "")
%store-directory)))
(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))

View File

@ -34,8 +34,7 @@
(test-begin "store-database")
(test-equal "register-path"
'(1 1)
(test-assert "register-path"
(let ((file (string-append (%store-prefix) "/" (make-string 32 #\f)
"-fake")))
(when (valid-path? %store file)
@ -46,6 +45,7 @@
(drv (string-append file ".drv")))
(call-with-output-file file
(cut display "This is a fake store item.\n" <>))
(reset-timestamps file)
(register-path file
#:references (list ref)
#:deriver drv)
@ -69,6 +69,7 @@
(mkdir-p (string-append file "/a"))
(call-with-output-file (string-append file "/a/b")
(const #t))
(reset-timestamps file)
(register-path file #:deriver drv)
(and (valid-path? %store file)