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
This commit is contained in:
		 Massimiliano Culpo
					Massimiliano Culpo
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							8a32f72829
						
					
				
				
					commit
					4318ceb2b3
				
			| @@ -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 | ||||
		Reference in New Issue
	
	Block a user