summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mumi/bugs.scm19
1 files changed, 14 insertions, 5 deletions
diff --git a/mumi/bugs.scm b/mumi/bugs.scm
index 6e1e367..69911fc 100644
--- a/mumi/bugs.scm
+++ b/mumi/bugs.scm
@@ -203,6 +203,13 @@ tags=excluded.tags;")
"SELECT id FROM bugs WHERE tags LIKE "
(string-append "%|" tag "|%") ";")))))
+(define (bug-ids)
+ "Return all bug ids."
+ (map (cut vector-ref <> 0)
+ (with-db
+ (lambda (db)
+ (sqlite-exec db "SELECT id FROM bugs;")))))
+
(define (update-bug-database!)
(define chunk-size 400)
(define (safe-split lst n)
@@ -211,11 +218,13 @@ tags=excluded.tags;")
(split-at lst n))
(lambda _
(values lst '()))))
- (let* ((bug-nums (append-map (lambda (package)
- (soap-invoke (%config 'debbugs)
- get-bugs
- `((package . ,package))))
- (%config 'packages)))
+ (let* ((bug-nums (apply lset-adjoin =
+ (append-map (lambda (package)
+ (soap-invoke (%config 'debbugs)
+ get-bugs
+ `((package . ,package))))
+ (%config 'packages))
+ (bug-ids)))
(total (length bug-nums)))
(display "updating bug database...")
;; Process bugs in chunks