diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2021-08-18 20:14:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-18 11:14:02 -0700 |
commit | 4318ceb2b3c5d34217769a24a7de039b1759b496 (patch) | |
tree | 5c9cfb3099a2797e77ef435b87544183615a852a /share | |
parent | 8a32f72829dd59c00a2a18bc9f57e08942d1ef4e (diff) | |
download | spack-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 'share')
-rw-r--r-- | share/spack/bootstrap/github-actions/clingo.json | 257 | ||||
-rwxr-xr-x | share/spack/spack-completion.bash | 26 |
2 files changed, 281 insertions, 2 deletions
diff --git a/share/spack/bootstrap/github-actions/clingo.json b/share/spack/bootstrap/github-actions/clingo.json new file mode 100644 index 0000000000..3068ad1f19 --- /dev/null +++ b/share/spack/bootstrap/github-actions/clingo.json @@ -0,0 +1,257 @@ +{ + "verified": [ + { + "binaries": [ + [ + "clingo-bootstrap", + "m4ertsh3ooxdisc5tigglublasu4udfe", + "094548672362306d75012398a6f9b1e8c0f796c833163ca77cf644d84822f25f" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "iv4gr5vscx2io23ljgdueybwatxlk6wo", + "c8110c68ec339d05155392818b21ba87b27905ad798f5f3f194d6312385dbdc2" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rwxcxsohrkp5iai3yushsltkdprjmexb", + "fbee764cac890a29bc03c472d3ba0401e915d6924a7cedac9fd8d961159b70e7" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "p5on7i4hejl775ezndzfdkhvwra3hatn", + "35e32f7c1f80e99da450b52643800fd2895ee2f895109f708b5cf0da6afbedff" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "omsvlh5v6fi2saw5qyqvzsbvqpvrf5yw", + "cef0e554737dbf22655094d8ae072c67539cce2a37cba1577aeb5aea18b5747c" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%apple-clang platform=darwin target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "qguh44xegb72y4q4lar3ufjddissoumv", + "68d2d0c06690d75a794aa2c50be9d6d501fec1b566784bf87b1fc5611f84f3c9" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "tsypkz7hyylmh5pwpykaf7wcmdunrdiv", + "3b8e3e6e21e399a90c4128776cc591734f9d533f0a7e64ed8babd9cbcf616e3d" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "2w6b4q5j2zgra6t3zfrjfbvsnoi5yqmk", + "4f335e02641f6ecc7ec7d9d2b8293d07d6e7a7234034531713b760aaa507fa7c" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "ij7udwpgeghdfoswljwdtwwaylvudze7", + "b5eedf593f198e523aebf6ce127fd8ffcf3d1c980a920cdf1c5a0d2a335e4892" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "a5ppijpzmk7ubjem4i3zttbxp545vjuz", + "8f9755c16c0c99b5c40c420f2c1c6aec2bdff99b25444e001506527af18dd94e" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%gcc platform=linux target=aarch64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "tsnva2bxjguosntz3tk5mqbdgrjvhfcc", + "bcd093c08110309e705beebccd012260a61215eda12c1d47f3a89d4734ec7170" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rfu4la457mdbpoffk2g5hikj2hhoek4s", + "b6417b9b90f3f4e98caaa869393edee08fad3d3c7db37fad8b332c785d0e81e6" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "qg3utj2csbgtdwc2slqbjmwn25rkor5r", + "a1760e064d41d364cdf53f89248f7824dad9bf97c6b999df18343b57d21c06ed" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "uxkpc2euofdkgveonftklstnxyha5wsf", + "d6a04e7b15dae05eacce54806fa18356b392a5e2d212a55bf0960116b8e9dfef" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "i2uoawqsmmkr2uwb42oxfsnt4djzejrj", + "6511837f87e50c40a7f4aab2ec7454e5200594821e4d1fc4a441d3be647b9acb" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%gcc platform=linux target=ppc64le" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "p3bqplnwqo66lvvolmtaezck77jafrc4", + "436f9483e4028c12c32ba9f4e7e91e944bf9819ef487dfe4e42ddd1d487c93ee" + ] + ], + "python": "python@2.6", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "rpa6yyujr7ilnfcowq2pbmkmh7uzrijp", + "3be0f4ccd412d45506f9f305ef7f6621cd246fbde97aed081595d01dafe3c397" + ] + ], + "python": "python@2.7+ucs4", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "y32mbn7swer3yxvgf6tmkgekpo23uo5z", + "f6e0716bd97f2df123abcd96ec8884c525a9fd10b81e0062784e7b0d2df3f622" + ] + ], + "python": "python@2.7~ucs4", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "ohtmyp5c74xt75csx4llbjs5anobryp6", + "7d613ddbca1640d761311fb00403c0cb65e279534c44a2129b8d9610f6146e78" + ] + ], + "python": "python@3.5", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "vcipwnf57slgoo7busvvkzjkk7vydeb5", + "db5222760045f20ad1e5c194179d31273b8e4bfa6ade38e15cd3182d685cc05b" + ] + ], + "python": "python@3.6", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "ffoyoewfd6pdwbjniodfkqusyvkrbhyi", + "14cea5f6cfd86bcb8de38ad8c1a5e44cc22955de2e7c78b825b617dccd107dbe" + ] + ], + "python": "python@3.7", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "kt74l7kjzrlp3cgtj2576o33mhsrgyrw", + "e71de4beb68bb3e58bd2dcb98dc3be3a375c82781b6f7cb01bc5d552c2240bd2" + ] + ], + "python": "python@3.8", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + }, + { + "binaries": [ + [ + "clingo-bootstrap", + "hmnv6gk5wha64k6r3s7hid35mzvhkuot", + "b08ff59357fa184ce39b8cc0a17aaf7f0a925a449ab389e1afa4eab6ae026f2e" + ] + ], + "python": "python@3.9", + "spec": "clingo-bootstrap%gcc platform=linux target=x86_64" + } + ] +}
\ No newline at end of file diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 03e9770c37..1281ca7349 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -421,7 +421,7 @@ _spack_bootstrap() { then SPACK_COMPREPLY="-h --help" else - SPACK_COMPREPLY="enable disable reset root" + SPACK_COMPREPLY="enable disable reset root list trust untrust" fi } @@ -446,6 +446,28 @@ _spack_bootstrap_root() { fi } +_spack_bootstrap_list() { + SPACK_COMPREPLY="-h --help --scope" +} + +_spack_bootstrap_trust() { + if $list_options + then + SPACK_COMPREPLY="-h --help --scope" + else + SPACK_COMPREPLY="" + fi +} + +_spack_bootstrap_untrust() { + if $list_options + then + SPACK_COMPREPLY="-h --help --scope" + else + SPACK_COMPREPLY="" + fi +} + _spack_build_env() { if $list_options then @@ -476,7 +498,7 @@ _spack_buildcache_create() { _spack_buildcache_install() { if $list_options then - SPACK_COMPREPLY="-h --help -f --force -m --multiple -a --allow-root -u --unsigned -o --otherarch" + SPACK_COMPREPLY="-h --help -f --force -m --multiple -a --allow-root -u --unsigned -o --otherarch --sha256" else _all_packages fi |