From 69d45b49e9b9a589b1e8ae782a3c726eb2cad343 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 2 Sep 2016 01:26:01 -0700 Subject: [PATCH] Fix hash handling in directory layout - Currently, build dependencies are not currently hashed; we are waiting to hash these until we have smarter concretization that can reuse more installed specs. The layout needs to account for this when checking whethert things are installed. --- lib/spack/spack/directory_layout.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py index 0ae6f765f4..73286483ef 100644 --- a/lib/spack/spack/directory_layout.py +++ b/lib/spack/spack/directory_layout.py @@ -268,6 +268,13 @@ def check_installed(self, spec): if installed_spec == spec: return path + # DAG hashes currently do not include build dependencies. + # + # TODO: remove this when we do better concretization and don't + # ignore build-only deps in hashes. + elif installed_spec == spec.copy(deps=('link', 'run')): + return path + if spec.dag_hash() == installed_spec.dag_hash(): raise SpecHashCollisionError(spec, installed_spec) else: