Archived
1
0
Fork 0

image: 'register-closure' leaves it up to the caller to deduplicate.

* gnu/build/image.scm (register-closure): Remove #:deduplicate?
parameter and pass #:deduplicate? #f to 'register-items'.
(initialize-root-partition): Adjust accordingly.
* gnu/build/vm.scm (register-closure, root-partition-initializer):
Likewise.
This commit is contained in:
Ludovic Courtès 2020-12-10 21:25:39 +01:00
parent 6a060ff27f
commit 2aa512ec28
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 5 additions and 12 deletions

View file

@ -140,21 +140,18 @@ given CONFIG file."
(define* (register-closure prefix closure (define* (register-closure prefix closure
#:key #:key
(deduplicate? #t)
(schema (sql-schema)) (schema (sql-schema))
(wal-mode? #t)) (wal-mode? #t))
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the "Register CLOSURE in PREFIX, where PREFIX is the directory name of the
target store and CLOSURE is the name of a file containing a reference graph as target store and CLOSURE is the name of a file containing a reference graph as
produced by #:references-graphs. As a side effect, if DEDUPLICATE? is true, produced by #:references-graphs. Pass WAL-MODE? to call-with-database."
deduplicates files common to CLOSURE and the rest of PREFIX. Pass WAL-MODE?
to call-with-database."
(let ((items (call-with-input-file closure read-reference-graph))) (let ((items (call-with-input-file closure read-reference-graph)))
(parameterize ((sql-schema schema)) (parameterize ((sql-schema schema))
(with-database (store-database-file #:prefix prefix) db (with-database (store-database-file #:prefix prefix) db
#:wal-mode? wal-mode? #:wal-mode? wal-mode?
(register-items db items (register-items db items
#:prefix prefix #:prefix prefix
#:deduplicate? deduplicate? #:deduplicate? #f
#:registration-time %epoch))))) #:registration-time %epoch)))))
(define* (initialize-efi-partition root (define* (initialize-efi-partition root
@ -196,7 +193,6 @@ register-closure."
(when register-closures? (when register-closures?
(for-each (lambda (closure) (for-each (lambda (closure)
(register-closure root closure (register-closure root closure
#:deduplicate? #f
#:wal-mode? wal-mode?)) #:wal-mode? wal-mode?))
references-graphs)) references-graphs))

View file

@ -215,18 +215,16 @@ the #:references-graphs parameter of 'derivation'."
(define* (register-closure prefix closure (define* (register-closure prefix closure
#:key #:key
(deduplicate? #t)
(schema (sql-schema))) (schema (sql-schema)))
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the "Register CLOSURE in PREFIX, where PREFIX is the directory name of the
target store and CLOSURE is the name of a file containing a reference graph as target store and CLOSURE is the name of a file containing a reference graph as
produced by #:references-graphs. As a side effect, if DEDUPLICATE? is true, produced by #:references-graphs."
deduplicates files common to CLOSURE and the rest of PREFIX."
(let ((items (call-with-input-file closure read-reference-graph))) (let ((items (call-with-input-file closure read-reference-graph)))
(parameterize ((sql-schema schema)) (parameterize ((sql-schema schema))
(with-database (store-database-file #:prefix prefix) db (with-database (store-database-file #:prefix prefix) db
(register-items db items (register-items db items
#:prefix prefix #:prefix prefix
#:deduplicate? deduplicate? #:deduplicate? #f
#:registration-time %epoch))))) #:registration-time %epoch)))))
@ -412,8 +410,7 @@ system that is passed to 'populate-root-file-system'."
(display "registering closures...\n") (display "registering closures...\n")
(for-each (lambda (closure) (for-each (lambda (closure)
(register-closure target (register-closure target
(string-append "/xchg/" closure) (string-append "/xchg/" closure)))
#:deduplicate? #f))
closures) closures)
(unless copy-closures? (unless copy-closures?
(umount target-store))) (umount target-store)))