[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
12/16: database: Remove #:deduplicate? and #:reset-timestamps? from 'reg
From: |
guix-commits |
Subject: |
12/16: database: Remove #:deduplicate? and #:reset-timestamps? from 'register-path'. |
Date: |
Tue, 15 Dec 2020 11:33:01 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 0682cc593688e7d9a435ca69f05320aa87df06d0
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Dec 11 12:03:25 2020 +0100
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'.
---
guix/scripts/system.scm | 6 +-----
guix/store/database.scm | 17 ++---------------
tests/store-database.scm | 5 +++--
3 files changed, 6 insertions(+), 22 deletions(-)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index c089290..0e543d9 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 31ea9ad..c0010b7 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 3b4ef43..33fd6cf 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)
- branch master updated (1901873 -> 7530e49), guix-commits, 2020/12/15
- 02/16: serialization: 'fold-archive' notifies about directory processing completion., guix-commits, 2020/12/15
- 01/16: Revert "gnu: grub: Fix unicode font loading when booting over TFTP.", guix-commits, 2020/12/15
- 03/16: serialization: 'restore-file' sets canonical timestamp and permissions., guix-commits, 2020/12/15
- 07/16: database: Remove #:reset-timestamps? from 'register-items'., guix-commits, 2020/12/15
- 10/16: database: Remove #:deduplicate? from 'register-items'., guix-commits, 2020/12/15
- 06/16: image: 'register-closure' assumes already-reset timestamps., guix-commits, 2020/12/15
- 12/16: database: Remove #:deduplicate? and #:reset-timestamps? from 'register-path'.,
guix-commits <=
- 08/16: store-copy: 'populate-store' can optionally deduplicate files., guix-commits, 2020/12/15
- 04/16: nar: Deduplicate files right as they are restored., guix-commits, 2020/12/15
- 16/16: deduplicate: Create the '.links' directory lazily., guix-commits, 2020/12/15
- 05/16: store-copy: 'populate-store' resets timestamps., guix-commits, 2020/12/15
- 09/16: image: 'register-closure' leaves it up to the caller to deduplicate., guix-commits, 2020/12/15
- 15/16: database: Honor 'SOURCE_DATE_EPOCH'., guix-commits, 2020/12/15
- 13/16: system: 'init' does not recompute the hash of each store item., guix-commits, 2020/12/15
- 14/16: database: Remove 'register-path'., guix-commits, 2020/12/15
- 11/16: guix system: 'init' copies, resets timestamps, and deduplicates at once., guix-commits, 2020/12/15