-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Phasing out spec.json.sig #34491
Copy link
Copy link
Open
Labels
featureA feature is missing in SpackA feature is missing in Spack
Description
For a given mirror without index.json cache available, we want to minimize the worst-case number of requests to check for existence of a spec.
We used to check at most three files: spec.yaml, spec.json, spec.json.sig.
Since 0.20.0.dev0 we only check two: spec.json, spec.json.sig.
From 0.21.0 this should be only one: spec.json.
The way to accomplish this is to allow for optionally clearsigned spec.json files: Spack simply peeks into the file and drops the PGP header/footer if it's there, otherwise considers it pure json.
To maximize compatibility, my proposal is to:
- Land a change in 0.20.0.dev0 that allows
spec.jsonfiles to be clearsigned. Allow spec.json files to be clearsigned, use transparent compression for *.json #34490 - Backport this to 0.19.1
- Land a change on 0.20.0.dev0 that uploads generated
spec.json.sigfiles both asspec.jsonandspec.json.sig. - Deprecate
spec.json.sigin 0.20.0 - Remove uploads and downloads of spec.json.sig in 0.21.0
That way:
- Spack 0.19.0 can work with buildcaches created by Spack 0.19 (it won't be able to handle clearsigned spec.json files)
- Spack 0.19.1 can work with buildcaches created by Spack 0.19 / 0.20 / 0.21
- Spack 0.21 can work with buildcaches created by Spack 0.20 (but not 0.19).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
featureA feature is missing in SpackA feature is missing in Spack