From 97a46055ca9f72986740c26a5406b5138176ca61 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 18 Jun 2020 11:51:44 +0200 Subject: database: 'register-items' takes an open database. * guix/store/database.scm (store-database-directory) (store-database-file): New procedures. (call-with-database): Add call to 'mkdir-p'. (register-items): Add 'db' parameter and remove #:state-directory and #:schema. (register-path): Use 'store-database-file' and 'with-database', and parameterize SQL-SCHEMA. * gnu/build/image.scm (register-closure): Likewise. * gnu/build/vm.scm (register-closure): Likewise. * guix/scripts/pack.scm (store-database)[build]: Likewise. --- guix/scripts/pack.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'guix/scripts/pack.scm') diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 55fb3e8df3..e0f9cc1a12 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -146,13 +146,16 @@ dependencies are registered." (define (read-closure closure) (call-with-input-file closure read-reference-graph)) + (define db-file + (store-database-file #:state-directory #$output)) + + (sql-schema #$schema) (let ((items (append-map read-closure '#$labels))) - (register-items items - #:state-directory #$output - #:deduplicate? #f - #:reset-timestamps? #f - #:registration-time %epoch - #:schema #$schema)))))) + (with-database db-file db + (register-items db items + #:deduplicate? #f + #:reset-timestamps? #f + #:registration-time %epoch))))))) (computed-file "store-database" build #:options `(#:references-graphs ,(zip labels items)))) -- cgit v1.2.3