summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/binary_distribution.py21
-rw-r--r--lib/spack/spack/caches.py12
2 files changed, 20 insertions, 13 deletions
diff --git a/lib/spack/spack/binary_distribution.py b/lib/spack/spack/binary_distribution.py
index 99dfcd9292..c8477503b4 100644
--- a/lib/spack/spack/binary_distribution.py
+++ b/lib/spack/spack/binary_distribution.py
@@ -37,13 +37,11 @@ import spack.util.spack_yaml as syaml
import spack.mirror
import spack.util.url as url_util
import spack.util.web as web_util
+from spack.caches import misc_cache_location
from spack.spec import Spec
from spack.stage import Stage
-#: default root, relative to the Spack install path
-default_binary_index_root = os.path.join(spack.paths.opt_path, 'spack')
-
_build_cache_relative_path = 'build_cache'
_build_cache_keys_relative_path = '_pgp'
@@ -67,9 +65,8 @@ class BinaryCacheIndex(object):
mean we should have paid the price to update the cache earlier?
"""
- def __init__(self, cache_root=None):
- self._cache_root = cache_root or default_binary_index_root
- self._index_cache_root = os.path.join(self._cache_root, 'indices')
+ def __init__(self, cache_root):
+ self._index_cache_root = cache_root
# the key associated with the serialized _local_index_cache
self._index_contents_key = 'contents.json'
@@ -440,13 +437,15 @@ class BinaryCacheIndex(object):
return True
+def binary_index_location():
+ """Set up a BinaryCacheIndex for remote buildcache dbs in the user's homedir."""
+ cache_root = os.path.join(misc_cache_location(), 'indices')
+ return spack.util.path.canonicalize_path(cache_root)
+
+
def _binary_index():
"""Get the singleton store instance."""
- cache_root = spack.config.get(
- 'config:binary_index_root', default_binary_index_root)
- cache_root = spack.util.path.canonicalize_path(cache_root)
-
- return BinaryCacheIndex(cache_root)
+ return BinaryCacheIndex(binary_index_location())
#: Singleton binary_index instance
diff --git a/lib/spack/spack/caches.py b/lib/spack/spack/caches.py
index d06ce05525..9f99ab75ed 100644
--- a/lib/spack/spack/caches.py
+++ b/lib/spack/spack/caches.py
@@ -17,7 +17,7 @@ import spack.util.file_cache
import spack.util.path
-def _misc_cache():
+def misc_cache_location():
"""The ``misc_cache`` is Spack's cache for small data.
Currently the ``misc_cache`` stores indexes for virtual dependency
@@ -27,7 +27,11 @@ def _misc_cache():
if not path:
path = os.path.join(spack.paths.user_config_path, 'cache')
path = spack.util.path.canonicalize_path(path)
+ return path
+
+def _misc_cache():
+ path = misc_cache_location()
return spack.util.file_cache.FileCache(path)
@@ -35,7 +39,7 @@ def _misc_cache():
misc_cache = llnl.util.lang.Singleton(_misc_cache)
-def _fetch_cache():
+def fetch_cache_location():
"""Filesystem cache of downloaded archives.
This prevents Spack from repeatedly fetch the same files when
@@ -45,7 +49,11 @@ def _fetch_cache():
if not path:
path = os.path.join(spack.paths.var_path, "cache")
path = spack.util.path.canonicalize_path(path)
+ return path
+
+def _fetch_cache():
+ path = fetch_cache_location()
return spack.fetch_strategy.FsCache(path)