cbaines pushed a commit to branch trunk in repository data-service. commit 1f9626d05866a3317db7afca30709d0a5f2a57b4 Author: Christopher Baines <m...@cbaines.net> AuthorDate: Wed Mar 19 13:02:33 2025 +0000
Just log duplicates once, to avoid the duplicate logging --- guix-data-service/jobs/load-new-guix-revision.scm | 34 +++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index 5034dcc..e9153cd 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -659,8 +659,9 @@ store proc)) -(define (sort-and-deduplicate-inferior-packages packages - pkg-to-replacement-hash-table) +(define* (sort-and-deduplicate-inferior-packages packages + pkg-to-replacement-hash-table + #:key log-duplicates?) (let ((sorted-packages (sort packages (lambda (a b) @@ -727,21 +728,23 @@ (and (eq? #f a-replacement) (eq? #f b-replacement)))) (begin - (simple-format (current-error-port) - "warning: ignoring duplicate package: ~A@~A (replacement: ~A, location: ~A)\n" - a-name - a-version - a-replacement - (location-line a-location)) - (print-packages-matching-name-and-version - a-name - a-version) + (when log-duplicates? + (simple-format (current-error-port) + "warning: ignoring duplicate package: ~A@~A (replacement: ~A, location: ~A)\n" + a-name + a-version + a-replacement + (location-line a-location)) + (print-packages-matching-name-and-version + a-name + a-version)) result) (cons a result))))) '() sorted-packages))) -(define (inferior-packages-plus-replacements inf) +(define* (inferior-packages-plus-replacements inf + #:key log-duplicates?) (let* ((packages ;; The use of force in (guix inferior) introduces a continuation ;; barrier @@ -800,7 +803,8 @@ ;; TODO Sort introduces a continuation barrier (sort-and-deduplicate-inferior-packages (append! packages non-exported-replacements) - pkg-to-replacement-hash-table))))) + pkg-to-replacement-hash-table + #:log-duplicates? log-duplicates?))))) (deduplicated-packages-length (length deduplicated-packages))) @@ -2099,7 +2103,9 @@ SELECT store_path FROM derivation_source_files WHERE id = $1" (with-time-logging "getting all inferior package data" (let ((packages pkg-to-replacement-hash-table - (inferior-packages-plus-replacements inferior))) + (inferior-packages-plus-replacements + inferior + #:log-duplicates? #t))) (all-inferior-packages-data inferior packages