When spack install checks for buildcaches only add urls for current arch. (#14467)

This commit is contained in:
Patrick Gartung 2020-01-25 21:15:12 -06:00 committed by GitHub
parent a26e5caa57
commit d2098d337a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View File

@ -663,7 +663,7 @@ def extract_tarball(spec, filename, allow_root=False, unsigned=False,
_cached_specs = None
def get_specs(force=False):
def get_specs(force=False, use_arch=False):
"""
Get spec.yaml's for build caches available on mirror
"""
@ -690,7 +690,10 @@ def get_specs(force=False):
for file in files:
if re.search('spec.yaml', file):
link = url_util.join(fetch_url_build_cache, file)
urls.add(link)
if use_arch and re.search(spack.architecture(), file):
urls.add(link)
else:
urls.add(link)
else:
tty.msg("Finding buildcaches at %s" %
url_util.format(fetch_url_build_cache))
@ -698,7 +701,10 @@ def get_specs(force=False):
url_util.join(fetch_url_build_cache, 'index.html'))
for link in links:
if re.search("spec.yaml", link):
urls.add(link)
if use_arch and re.search(spack.architecture(), link):
urls.add(link)
else:
urls.add(link)
_cached_specs = []
for link in urls:

View File

@ -1507,7 +1507,7 @@ def _update_explicit_entry_in_db(self, rec, explicit):
def try_install_from_binary_cache(self, explicit):
tty.msg('Searching for binary cache of %s' % self.name)
specs = binary_distribution.get_specs()
specs = binary_distribution.get_specs(use_arch=True)
binary_spec = spack.spec.Spec.from_dict(self.spec.to_dict())
binary_spec._mark_concrete()
if binary_spec not in specs: