summaryrefslogtreecommitdiff
path: root/share
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 /share
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 'share')
-rw-r--r--share/spack/bootstrap/github-actions/clingo.json257
-rwxr-xr-xshare/spack/spack-completion.bash26
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