cbaines pushed a commit to branch trunk
in repository data-service.

commit 1181b13ffe3666bba040739f9aba7ae1c96e7661
Author: Christopher Baines <[email protected]>
AuthorDate: Tue Mar 11 19:47:14 2025 +0000

    Add a procedure to fix derivation source files
    
    I don't know how, but there are a couple in the data.guix.gnu.org database
    that are placeholders.
---
 guix-data-service/jobs/load-new-guix-revision.scm | 27 ++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/guix-data-service/jobs/load-new-guix-revision.scm 
b/guix-data-service/jobs/load-new-guix-revision.scm
index 9638db0..4ba7d5e 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -97,7 +97,8 @@
             enqueue-load-new-guix-revision-job
             most-recent-n-load-new-guix-revision-jobs
 
-            fix-derivation))
+            fix-derivation
+            fix-derivation-source-file-nar))
 
 (define inferior-package-id
   (@@ (guix inferior) inferior-package-id))
@@ -1310,6 +1311,30 @@ SELECT 1 FROM derivation_source_file_nars WHERE 
derivation_source_file_id = $1"
    #:hz 0
    #:parallelism 1))
 
+(define (fix-derivation-source-file-nar id)
+  (run-fibers
+   (lambda ()
+     (with-postgresql-connection
+      "fix"
+      (lambda (conn)
+        (let ((postgresql-connection-pool
+               (make-resource-pool
+                (const conn)
+                1
+                #:name "postgres")))
+          (match (exec-query
+                  conn
+                  "
+SELECT store_path FROM derivation_source_files WHERE id = $1"
+                  (list (number->string id)))
+            (((store-path))
+             (compute-and-update-derivation-source-file-nar
+              postgresql-connection-pool
+              id
+              store-path)))))))
+   #:hz 0
+   #:parallelism 1))
+
 (define* (derivation-file-names->derivation-ids postgresql-connection-pool
                                                 call-with-utility-thread
                                                 read-derivations/fiberized

Reply via email to