aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-09-05 13:54:03 +0200
committerChristopher Baines <mail@cbaines.net>2019-09-05 16:07:23 +0200
commit2cb389037be7afe35a422179f44a8701aae7ea1d (patch)
treef6256e9aac18e20c4885be6c0b8c875bce3dd823
parent4c67160b92887cdfa07aa6dacc7aa7cfd6814d85 (diff)
downloaddata-service-2cb389037be7afe35a422179f44a8701aae7ea1d.tar
data-service-2cb389037be7afe35a422179f44a8701aae7ea1d.tar.gz
Fix data input for package-metadata
Represent non-string home pages as NULL, and delete duplicates, as package metadata entries can be duplicated.
-rw-r--r--guix-data-service/model/package-metadata.scm17
1 files changed, 15 insertions, 2 deletions
diff --git a/guix-data-service/model/package-metadata.scm b/guix-data-service/model/package-metadata.scm
index daca676..9113c34 100644
--- a/guix-data-service/model/package-metadata.scm
+++ b/guix-data-service/model/package-metadata.scm
@@ -148,5 +148,18 @@ WHERE packages.id IN (
conn
"package_metadata"
'(synopsis description home_page location_id license_set_id)
- package-metadata))
-
+ (map (match-lambda
+ ((synopsis description home-page location-id license-set-id)
+ (list synopsis
+ description
+ (if (string? home-page)
+ home-page
+ NULL)
+ location-id
+ license-set-id)))
+ package-metadata)
+ ;; There can be duplicated entires in package-metadata, for example where
+ ;; you have one package definition which interits from another, and just
+ ;; overrides the version and the source, the package_metadata entries for
+ ;; both definitions will be the same.
+ #:delete-duplicates? #t))