From 2cb389037be7afe35a422179f44a8701aae7ea1d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 5 Sep 2019 13:54:03 +0200 Subject: Fix data input for package-metadata Represent non-string home pages as NULL, and delete duplicates, as package metadata entries can be duplicated. --- guix-data-service/model/package-metadata.scm | 17 +++++++++++++++-- 1 file 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)) -- cgit v1.2.3