summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2021-08-18 20:14:02 +0200
committerGitHub <noreply@github.com>2021-08-18 11:14:02 -0700
commit4318ceb2b3c5d34217769a24a7de039b1759b496 (patch)
tree5c9cfb3099a2797e77ef435b87544183615a852a /etc
parent8a32f72829dd59c00a2a18bc9f57e08942d1ef4e (diff)
downloadspack-4318ceb2b3c5d34217769a24a7de039b1759b496.tar.gz
spack-4318ceb2b3c5d34217769a24a7de039b1759b496.tar.bz2
spack-4318ceb2b3c5d34217769a24a7de039b1759b496.tar.xz
spack-4318ceb2b3c5d34217769a24a7de039b1759b496.zip
Bootstrap clingo from binaries (#22720)
* Bootstrap clingo from binaries * Move information on clingo binaries to a JSON file * Add support to bootstrap on Cray Bootstrapping on Cray requires, at the moment, to swap the platform when looking for binaries - due to #22800. * Add SHA256 verification for bootstrapped software Use sha256 verification for binaries necessary to bootstrap the concretizer and gpg for signature verification * patchelf: use Spec._old_concretize() to bootstrap As noted in #24450 we may happen to need the concretizer when bootstrapping clingo. In that case only the old concretizer is available. * Add a schema for bootstrapping methods Two fields have been added to bootstrap.yaml: "sources" which lists the methods available for bootstrapping software "trusted" which records if a source is trusted or not A subcommand has been added to "spack bootstrap" to list the sources currently available. * Methods used for bootstrapping are configurable from bootstrap:sources The function that tries to ensure a given Python module is importable now tries bootstrapping methods in the same order as they are defined in `bootstrap.yaml` * Permit to trust/untrust bootstrapping methods * Add binary tests for MacOS, Ubuntu * Add documentation * Add a note on bash
Diffstat (limited to 'etc')
-rw-r--r--etc/spack/defaults/bootstrap.yaml25
1 files changed, 25 insertions, 0 deletions
diff --git a/etc/spack/defaults/bootstrap.yaml b/etc/spack/defaults/bootstrap.yaml
index 78bb43f4b1..392c48b7bb 100644
--- a/etc/spack/defaults/bootstrap.yaml
+++ b/etc/spack/defaults/bootstrap.yaml
@@ -5,3 +5,28 @@ bootstrap:
# Root directory for bootstrapping work. The software bootstrapped
# by Spack is installed in a "store" subfolder of this root directory
root: ~/.spack/bootstrap
+ # Methods that can be used to bootstrap software. Each method may or
+ # may not be able to bootstrap all of the software that Spack needs,
+ # depending on its type.
+ sources:
+ - name: 'github-actions'
+ type: buildcache
+ description: |
+ Buildcache generated from a public workflow using Github Actions.
+ The sha256 checksum of binaries is checked before installation.
+ info:
+ url: https://mirror.spack.io/bootstrap/github-actions/v0.1
+ homepage: https://github.com/alalazo/spack-bootstrap-mirrors
+ releases: https://github.com/alalazo/spack-bootstrap-mirrors/releases
+ # This method is just Spack bootstrapping the software it needs from sources.
+ # It has been added here so that users can selectively disable bootstrapping
+ # from sources by "untrusting" it.
+ - name: spack-install
+ type: install
+ description: |
+ Specs built from sources by Spack. May take a long time.
+ trusted:
+ # By default we trust bootstrapping from sources and from binaries
+ # produced on Github via the workflow
+ github-actions: true
+ spack-install: true \ No newline at end of file