aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model/package.scm
Commit message (Collapse)AuthorAge
* Use fibers when processing new revisionsChristopher Baines2023-11-05
| | | | | | | | Just have one fiber at the moment, but this will enable using fibers for parallelism in the future. Fibers seemed to cause problems with the logging setup, which was a bit odd in the first place. So move logging to the parent process which is better anyway.
* Make some sweeping changes to loading new revisionsChristopher Baines2023-11-02
| | | | | Move in the direction of being able to run multiple inferior REPLs, and use some vectors rather than lists in places (maybe this is more efficient).
* Fix more issues with the git_commits introductionChristopher Baines2022-05-23
|
* Partition the package_derivations_by_guix_revision_range tableChristopher Baines2022-05-23
| | | | | | | | | | | | And create a proper git_branches table in the process. I'm hoping this will help with slow deletions from the package_derivations_by_guix_revision_range table in the case where there are lots of branches, since it'll separate the data for one branch from another. These migrations will remove the existing data, so rebuild-package-derivations-table will currently need manually running to regenerate it.
* Track package replacementsChristopher Baines2021-07-11
| | | | | | 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.
* Fix query typo in branches-by-package-versionChristopher Baines2021-05-12
|
* Reformat a couple of package related queriesChristopher Baines2021-04-24
|
* Create a table for systemsChristopher Baines2021-04-23
| | | | | | | | And use it for the systems in the derivations and package derivations tables. The primary motivation here is to allow quickly working out what systems the database contains, and having a small table with just the right data seems a good way to do that.
* Have branches-by-package-version look at latest processed revisionChristopher Baines2021-03-15
| | | | | This means branches aren't omitted if the latest commit hasn't been processed yet.
* Add a /package/NAME pageChristopher Baines2021-03-14
| | | | | | This might be useful for working out when a non-master branch contains a newer version of a package, or someone has sent in a patch for a newer version already.
* Fix various issues linking to buildsChristopher Baines2021-01-03
|
* Switch queries across to use latest_build_statusChristopher Baines2020-10-13
|
* Fix some package search issuesChristopher Baines2020-09-26
| | | | | | | | | | | | | | Previously, the name wasn't taken in to account when filtering results, so a search like "git-annex" wouldn't find the git-annex package, since it's synopsis or description doesn't include the name. Filtering on the name made the queries much slower, so to address that, the filtering by revision is moved to a separate part of the CTE, which means PostgreSQL filters down the rows by quite a lot before it begins filtering by name. Also, add in a variant of the query without dashes (-) because that helps with searches like ruby-engine.
* Change the locale codeset representationChristopher Baines2020-09-26
| | | | | | | | | | | From the normalized one, to the one actually contained within glibc. Recent versions of glibc also contain symlinks linking the normalized codeset to the locales with the .UTF-8 ending, but older ones do not. Maybe handling codeset normalisation for queries would be good, but the locale values ending in .UTF-8 are more compatible and allow the code to be simplified. For querying, maybe there should be a locales table which handles different representations.
* Modify the search-packages-in-revision query to make it fasterDanjela Lura2020-08-12
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Include locale in search-packages-in-revisionDanjela Lura2020-06-26
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Add indications for no translations available in the packages pageDanjela Lura2020-06-26
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Include locale in the JSON response for the packages pageDanjela Lura2020-06-26
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Provide the packages page with translationsDanjela Lura2020-06-19
| | | | Signed-off-by: Christopher Baines <mail@cbaines.net>
* Guard against some changes in how guile-json represents null valuesChristopher Baines2020-06-19
|
* Fix a window clause in package-outputs-for-branchChristopher Baines2020-05-03
| | | | This was leading to the first and last revision datetimes to be wrong.
* Fix the new package-versions-for-branch queryChristopher Baines2020-03-31
| | | | | | | This recent change simply didn't work, the ordering was bad and the window function wasn't properly defined. It now should hopefully work, although there's an interesting case where different versions are available for different systems/targets, which isn't handled particularly well.
* Implement version history using the derivations tableChristopher Baines2020-03-24
| | | | | | | | | Rather than having two big tables looking at the history, just use the derivations table as it has all the information. This will allow deleting the package_versions_by_guix_revision_range table which should help save time when importing revisions, and reduce the size of the database.
* Fix the date ordering on the package output history pageChristopher Baines2020-03-24
|
* Add a new function to get the outputs for a package on a branchChristopher Baines2020-03-21
| | | | | Similar to the one above for derivations, this just looks at outputs. This filters out equivalent derivations, which can be useful.
* Order build statuses by id, not timestampChristopher Baines2020-03-01
| | | | | Some builds from Cuirass change status at the same timestamp, so use the id for ordering instead.
* Add copyright and license headers to a bunch of source filesChristopher Baines2019-12-26
| | | | That were missing them.
* Include builds on the derivation history pageChristopher Baines2019-12-22
|
* Add first version of a page with the history of package derivationsChristopher Baines2019-11-09
| | | | | Some filtering options need adding for the system and target, as it's currently hardcoded, but the general page does work.
* Fix some missing branch constraints in package-versions-for-branchChristopher Baines2019-10-17
| | | | | The lack of these meant that versions on other branches could appear in the results.
* Fix some long lines in the package-versions-for-branch queryChristopher Baines2019-10-17
|
* Sort package versions on a branch by version as wellChristopher Baines2019-10-08
| | | | To fix the order when the first_datetime matches.
* Add a package page, showing versions for a revisionChristopher Baines2019-10-03
|
* Add a new page to show package versions available on a branchChristopher Baines2019-09-27
| | | | | This is useful when looking back through history at what package versions were previously available.
* Tweak the textual search to rank exact name matches higherChristopher Baines2019-09-26
| | | | | | | | Previously, if you searched for packages like Ruby or Guile, the actual Ruby and Guile packages would be low in the rankings, as the terms Ruby or Guile don't appear much in the descriptions. Therefore, change the ordering to make these exact matches appear higher up.
* Improve the package and package-metadata modulesChristopher Baines2019-09-05
| | | | | | | Add tests around the package module, extract out the use of the inferior-package record assessors so that they aren't part of the tests, and switch across the package-metadata module to use insert-missing-data-and-return-all-ids.
* Reduce code duplication in the package moduleChristopher Baines2019-09-05
| | | | By using insert-missing-data-and-return-all-ids.
* Allow specifying the fields on the packages pageChristopher Baines2019-05-16
| | | | | This is mostly for the JSON output, as it allows much more information to be included.
* Add a function for searching for packagesChristopher Baines2019-05-12
|
* Add some basic pagination to the packages pageChristopher Baines2019-05-12
| | | | | Lower powered devices will have problems displaying all ~9000+ packages, so return a smaller number by default.
* Delete duplicate entries in the package-entries listChristopher Baines2019-03-28
| | | | | This can happen when the same package is defined with two names, for example, with deprecated-package.
* Many changesChristopher Baines2019-03-11
| | | | | | | | | | | | | | A large proportion of these changes relate to changing the way packages relate to derivations. Previously, a package at a given revision had a single derivation. This was OK, but didn't account for multiple architectures. Therefore, these changes mean that a package has multiple derivations, depending on the system of the derivation, and the target system. There are multiple changes, small and large to the web interface as well. More pages link to each other, and the visual display has been improved somewhat.
* Add a few new pagesChristopher Baines2019-03-06
| | | | For showing more information about builds, revisions and derivations.
* Initial commitChristopher Baines2019-02-07
This is a service designed to provide information about Guix. At the moment, this initial prototype gathers up information about packages, the associated metadata and derivations. The initial primary use case is to compare two different revisions of Guix, detecting which packages are new, no longer present, updated or otherwise different. It's based on the Mumi project. [1]: https://git.elephly.net/software/mumi.git