From a063a2277e16765b986db6c974650fdd7614bf1d Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Sat, 23 Jul 2016 22:05:50 +0200 Subject: cuirass: Use database to store specifications. --- bin/cuirass.in | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/cuirass.in b/bin/cuirass.in index dad2239..fb4023c 100644 --- a/bin/cuirass.in +++ b/bin/cuirass.in @@ -118,10 +118,11 @@ if required." (compile (string-append (%package-cachedir) "/" (assq-ref spec #:name))) (with-store store - (let* ((id (db-add-specification db spec)) - (spec* (acons #:id id spec)) - (jobs (evaluate store db spec*))) - (db-add-evaluation db jobs) + (let* ((jobs (evaluate store db spec))) + (for-each (λ (job) + (or (evaluation-exists? db job) + (db-add-evaluation db job))) + jobs) (set-build-options store #:use-substitutes? #f) (build-packages store db jobs)))) jobspecs)) @@ -158,8 +159,10 @@ if required." (set-current-module (make-user-module)) (primitive-load (car specfile)))))) (with-database db - (if one-shot? - (process-specs db specs) - (while #t - (process-specs db specs) - (sleep interval)))))))))) + (for-each (λ (spec) (db-add-specification db spec)) specs) + (let ((specs* (db-get-specifications db))) + (if one-shot? + (process-specs db specs*) + (while #t + (process-specs db specs*) + (sleep interval))))))))))) -- cgit v1.2.3