Send package artifact checksums to loaders when info is available

In listers collecting artifacts for each package to load, add artifacts
checksums, when that info is available, in parameters sent to loaders
in order to check downloaded artifact integrity.
This commit is contained in:
Antoine Lambert 2022-09-29 17:23:33 +02:00
parent 6f40d2c1a5
commit fa1205c4df
9 changed files with 487 additions and 143 deletions

View file

@ -4,6 +4,6 @@
# all the packages of R and their description, then convert the API
# response to JSON string and print it
db <- tools::CRAN_package_db()[, c("Package", "Version", "Packaged")]
db <- tools::CRAN_package_db()[, c("Package", "Version", "Packaged", "MD5sum")]
dbjson <- jsonlite::toJSON(db)
print(dbjson)

View file

@ -68,6 +68,7 @@ class CRANLister(StatelessLister[PageType]):
"url": artifact_url,
"version": package_info["Version"],
"package": package_info["Package"],
"checksums": {"md5": package_info["MD5sum"]},
}
]
},

View file

@ -1,40 +1,32 @@
[
{
"Package": "SeleMix",
"Version": "1.0.2",
"Packaged": "2020-11-28 22:16:43 UTC; Teresa"
"Package": "cNORM",
"Version": "3.0.2",
"Packaged": "2022-06-12 08:46:39 UTC; gbpa005",
"MD5sum": "d878686afc17b990e500dc88afb3a990"
},
{
"Package": "plink",
"Version": "1.5-1",
"Packaged": "2017-04-26 11:36:15 UTC; Jonathan"
"Package": "CNprep",
"Version": "2.2",
"Packaged": "2022-05-23 23:58:37 UTC; Astrid",
"MD5sum": "4b6ddc37df607c79b7fb50a96a57197f"
},
{
"Package": "jsonlite",
"Version": "1.7.2",
"Packaged": "2020-12-09 13:54:18 UTC; jeroen"
"Package": "CNPS",
"Version": "1.0.0",
"Packaged": "2021-05-21 16:55:04 UTC; Surface",
"MD5sum": "deac071a9387e3a296481d041e6d09ee"
},
{
"Package": "Records",
"Version": "1.0",
"Packaged": "2012-10-29 08:57:37 UTC; ripley"
"Package": "cns",
"Version": "0.1.0",
"Packaged": "2021-07-16 19:30:51 UTC; nfultz",
"MD5sum": "3ad5a474260dbacb889be461b826a73b"
},
{
"Package": "scRNAtools",
"Version": "1.0",
"Packaged": "2018-07-04 00:49:45 UTC; dell"
},
{
"Package": "Deriv",
"Version": "4.1.2",
"Packaged": "2020-12-10 11:12:28 UTC; sokol"
},
{
"Package": "BayesValidate",
"Version": "0.0",
"Packaged": "Thu Mar 30 10:48:35 2006; hornik"
"Package": "cnum",
"Version": "0.1.3",
"Packaged": "2021-01-11 13:24:52 UTC; Elgar",
"MD5sum": "3cb5ab3fdaf4277d1ebfbe147e8990e1"
}
]

View file

@ -109,6 +109,7 @@ def test_cran_lister_cran(datadir, swh_scheduler, mocker):
"url": artifact_url,
"version": package_info["Version"],
"package": package_info["Package"],
"checksums": {"md5": package_info["MD5sum"]},
}
]
}