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. --- gnu/build/image.scm | 13 +++++++------ gnu/build/vm.scm | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) (limited to 'gnu/build') diff --git a/gnu/build/image.scm b/gnu/build/image.scm index 893b846976..e8df5866a7 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -137,12 +137,13 @@ produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is true, reset timestamps on store files and, if DEDUPLICATE? is true, deduplicates files common to CLOSURE and the rest of PREFIX." (let ((items (call-with-input-file closure read-reference-graph))) - (register-items items - #:prefix prefix - #:deduplicate? deduplicate? - #:reset-timestamps? reset-timestamps? - #:registration-time %epoch - #:schema schema))) + (parameterize ((sql-schema schema)) + (with-database (store-database-file #:prefix prefix) db + (register-items db items + #:prefix prefix + #:deduplicate? deduplicate? + #:reset-timestamps? reset-timestamps? + #:registration-time %epoch))))) (define* (initialize-efi-partition root #:key diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 0f0ceae18f..287d099f79 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -223,12 +223,13 @@ produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is true, reset timestamps on store files and, if DEDUPLICATE? is true, deduplicates files common to CLOSURE and the rest of PREFIX." (let ((items (call-with-input-file closure read-reference-graph))) - (register-items items - #:prefix prefix - #:deduplicate? deduplicate? - #:reset-timestamps? reset-timestamps? - #:registration-time %epoch - #:schema schema))) + (parameterize ((sql-schema schema)) + (with-database (store-database-file #:prefix prefix) db + (register-items db items + #:prefix prefix + #:deduplicate? deduplicate? + #:reset-timestamps? reset-timestamps? + #:registration-time %epoch))))) ;;; -- cgit v1.2.3