summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-12-11 12:03:25 +0100
committerLudovic Courtès <ludo@gnu.org>2020-12-15 17:32:11 +0100
commit0682cc593688e7d9a435ca69f05320aa87df06d0 (patch)
treef7046f09a0cfeaa7f52ad912cc906973fe3a3968
parentcd6c5ddfc8a1a0a6f4085c8201fca20fd819bdfd (diff)
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'.
-rw-r--r--guix/scripts/system.scm6
-rw-r--r--guix/store/database.scm17
-rw-r--r--tests/store-database.scm5
3 files changed, 6 insertions, 22 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index c08929066b..0e543d9460 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -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))))
diff --git a/guix/store/database.scm b/guix/store/database.scm
index 31ea9add78..c0010b72b9 100644
--- a/guix/store/database.scm
+++ b/guix/store/database.scm
@@ -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))
diff --git a/tests/store-database.scm b/tests/store-database.scm
index 3b4ef43f6d..33fd6cfbad 100644
--- a/tests/store-database.scm
+++ b/tests/store-database.scm
@@ -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)