aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model/package.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-07-11 10:44:59 +0100
committerChristopher Baines <mail@cbaines.net>2021-07-11 11:57:05 +0100
commitaf209170f7b3ea3e1d6539573cc5fc0255239ec5 (patch)
tree4a19703d7e80184dcd09ef50281e6d050563631e /guix-data-service/model/package.scm
parentb4188bda9df04231f9dee9956a68daa049a71584 (diff)
downloaddata-service-af209170f7b3ea3e1d6539573cc5fc0255239ec5.tar
data-service-af209170f7b3ea3e1d6539573cc5fc0255239ec5.tar.gz
Track package replacements
Start at least looking for package replacements, and storing the details (particularly the derivation). I'm looking at doing this so that build servers using the Guix Data Service can build these derivations.
Diffstat (limited to 'guix-data-service/model/package.scm')
-rw-r--r--guix-data-service/model/package.scm8
1 files changed, 5 insertions, 3 deletions
diff --git a/guix-data-service/model/package.scm b/guix-data-service/model/package.scm
index 813d820..97deefc 100644
--- a/guix-data-service/model/package.scm
+++ b/guix-data-service/model/package.scm
@@ -162,7 +162,9 @@ WITH revision_packages AS (
WHERE guix_revisions.commit = $1
)
), search_results AS (
- SELECT DISTINCT ON (packages.name) packages.name,
+ SELECT DISTINCT ON
+ (packages.name, packages.version, packages.replacement_package_id)
+ packages.name,
packages.version, package_synopsis.synopsis,
package_synopsis.locale AS synopsis_locale,
package_descriptions.description,
@@ -195,7 +197,7 @@ WITH revision_packages AS (
OR
package_metadata_tsvectors.synopsis_and_description @@ plainto_tsquery($2)
)
- ORDER BY name,
+ ORDER BY name, packages.version, packages.replacement_package_id,
CASE WHEN package_metadata_tsvectors.locale = 'en_US.UTF-8' THEN 2
WHEN package_metadata_tsvectors.locale = $3 THEN 1
ELSE 0
@@ -265,7 +267,7 @@ RETURNING id"))
(insert-missing-data-and-return-all-ids
conn
"packages"
- '(name version package_metadata_id)
+ '(name version package_metadata_id replacement_package_id)
package-entries))
(define (select-package-versions-for-revision conn