From 562482d9cc47b2b689a3540538942d35e7c60f53 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Mon, 5 Nov 2018 23:25:40 -0800 Subject: [PATCH] env: only add `concrete` attribute to abstract specs - to aovid changing spec hashes drastically, only add this attribute to differentiated abstract specs. - othherwise assume that read-in specs are concrete --- lib/spack/spack/spec.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 084b8176ec..f8991413cd 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -1462,7 +1462,8 @@ def to_node_dict(self, hash_function=None, all_deps=False): 'module': self.external_module } - d['concrete'] = self._concrete + if not self._concrete: + d['concrete'] = False if 'patches' in self.variants: variant = self.variants['patches'] @@ -1560,8 +1561,8 @@ def from_node_dict(node): spec.external_path = None spec.external_module = None - if 'concrete' in node: - spec._concrete = node['concrete'] + # specs read in are concrete unless marked abstract + spec._concrete = node.get('concrete', True) if 'patches' in node: patches = node['patches']