summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2016-07-23 22:05:50 +0200
committerMathieu Lirzin <mthl@gnu.org>2016-07-25 02:37:00 +0200
commita063a2277e16765b986db6c974650fdd7614bf1d (patch)
treeefc7fecd0a87a3997446f747f3eeb18cca577379 /bin
parent5db6894ae24ef0925b19adcfcc15bc9f6e01143b (diff)
downloadcuirass-a063a2277e16765b986db6c974650fdd7614bf1d.tar
cuirass-a063a2277e16765b986db6c974650fdd7614bf1d.tar.gz
cuirass: Use database to store specifications.
Diffstat (limited to 'bin')
-rw-r--r--bin/cuirass.in21
1 files changed, 12 insertions, 9 deletions
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)))))))))))