bugs: update-bug-database!: Refresh all existing bugs.
authorRicardo Wurmus <rekado@elephly.net>
Mon, 30 Mar 2020 17:20:07 +0000 (19:20 +0200)
committerRicardo Wurmus <rekado@elephly.net>
Mon, 30 Mar 2020 17:20:07 +0000 (19:20 +0200)
This includes bugs that have been moved to other packages.

mumi/bugs.scm

index 6e1e36728754c1f9cdb7cb44be95ed307c23f4e1..69911fccb02aea1865990add288a568f6ad86b4b 100644 (file)
@@ -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