[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#42019] [PATCH 1/1] website: Add integrity to JSON sources.
From: |
zimoun |
Subject: |
[bug#42019] [PATCH 1/1] website: Add integrity to JSON sources. |
Date: |
Wed, 01 Jul 2020 22:29:00 +0200 |
Hi Chris,
On Wed, 01 Jul 2020 at 20:35, Christopher Baines <mail@cbaines.net> wrote:
> A question maybe for you Simon, what would be the perfect data for this
> particular use case? I gather it's something about the (source ...)
> field in packages, probably for all the exported (plus maybe
> not-exported packages).
Currently the website builds source.json by using 'fold-packages'
(traversing all the modules and returning all the public variables, if I
read correctly) then excluding 'package-superseded' and
'package-replacement'.
Well, maybe an example is simpler than a lot of words. The resulting
JSON looks like:
--8<---------------cut here---------------start------------->8---
{
"type": "url",
"urls": [
"https://ftpmirror.gnu.org/gnu/a2ps/a2ps-4.14.tar.gz",
"ftp://ftp.cs.tu-berlin.de/pub/gnu/a2ps/a2ps-4.14.tar.gz",
"ftp://ftp.funet.fi/pub/mirrors/ftp.gnu.org/gnu/a2ps/a2ps-4.14.tar.gz",
"http://ftp.gnu.org/pub/gnu/a2ps/a2ps-4.14.tar.gz"
],
"integrity": "sha256-866NPUVkpBtuKiHyN9LysQT0gQhZHouDSXUAGCo6s6Q="
},
{
"type": "git",
"git_url": "https://github.com/opencog/agi-bio.git",
"git_ref": "b5c6f3d99e8cca3798bf0cdf2c32f4bdb8098efb"
},
--8<---------------cut here---------------end--------------->8---
So basically, the data are: origin-method, origin-uri (implies reference
URLs and {git,hg,svn}-{commit,revision}), origin-hash (implies
content-hash-{value,algorithm}). Note that the list of mirrors are
necessary too.
I have given a look to
http://git.savannah.gnu.org/cgit/guix/data-service.git/tree/
but I am not sure to understand where the SQL table is defined.
Thanks,
simon