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:
parent
cd6c5ddfc8
commit
0682cc5936
3 changed files with 6 additions and 22 deletions
|
@ -158,11 +158,7 @@ REFERENCES as its set of references."
|
||||||
(unless (register-path item
|
(unless (register-path item
|
||||||
#:prefix target
|
#:prefix target
|
||||||
#:state-directory state
|
#:state-directory state
|
||||||
#:references references
|
#:references references)
|
||||||
|
|
||||||
;; Those are taken care of by 'copy-store-item'.
|
|
||||||
#:reset-timestamps? #f
|
|
||||||
#:deduplicate? #f)
|
|
||||||
(leave (G_ "failed to register '~a' under '~a'~%")
|
(leave (G_ "failed to register '~a' under '~a'~%")
|
||||||
item target))))
|
item target))))
|
||||||
|
|
||||||
|
|
|
@ -384,16 +384,14 @@ is true."
|
||||||
|
|
||||||
(define* (register-path path
|
(define* (register-path path
|
||||||
#:key (references '()) deriver prefix
|
#:key (references '()) deriver prefix
|
||||||
state-directory (deduplicate? #t)
|
state-directory
|
||||||
(reset-timestamps? #t)
|
|
||||||
(schema (sql-schema)))
|
(schema (sql-schema)))
|
||||||
"Register PATH as a valid store file, with REFERENCES as its list of
|
"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
|
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
|
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. As a side effect, reset timestamps on PATH, unless
|
Return #t on success.
|
||||||
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.
|
||||||
|
@ -404,17 +402,6 @@ by adding it as a temp-root."
|
||||||
(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 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))
|
(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))
|
||||||
|
|
|
@ -34,8 +34,7 @@
|
||||||
|
|
||||||
(test-begin "store-database")
|
(test-begin "store-database")
|
||||||
|
|
||||||
(test-equal "register-path"
|
(test-assert "register-path"
|
||||||
'(1 1)
|
|
||||||
(let ((file (string-append (%store-prefix) "/" (make-string 32 #\f)
|
(let ((file (string-append (%store-prefix) "/" (make-string 32 #\f)
|
||||||
"-fake")))
|
"-fake")))
|
||||||
(when (valid-path? %store file)
|
(when (valid-path? %store file)
|
||||||
|
@ -46,6 +45,7 @@
|
||||||
(drv (string-append file ".drv")))
|
(drv (string-append file ".drv")))
|
||||||
(call-with-output-file file
|
(call-with-output-file file
|
||||||
(cut display "This is a fake store item.\n" <>))
|
(cut display "This is a fake store item.\n" <>))
|
||||||
|
(reset-timestamps file)
|
||||||
(register-path file
|
(register-path file
|
||||||
#:references (list ref)
|
#:references (list ref)
|
||||||
#:deriver drv)
|
#:deriver drv)
|
||||||
|
@ -69,6 +69,7 @@
|
||||||
(mkdir-p (string-append file "/a"))
|
(mkdir-p (string-append file "/a"))
|
||||||
(call-with-output-file (string-append file "/a/b")
|
(call-with-output-file (string-append file "/a/b")
|
||||||
(const #t))
|
(const #t))
|
||||||
|
(reset-timestamps file)
|
||||||
(register-path file #:deriver drv)
|
(register-path file #:deriver drv)
|
||||||
|
|
||||||
(and (valid-path? %store file)
|
(and (valid-path? %store file)
|
||||||
|
|
Reference in a new issue