diff options
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r-- | lib/spack/spack/spec.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 76c06d3fd7..e74d38ea5e 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -1267,7 +1267,12 @@ class Spec(object): @property def prefix(self): if self._prefix is None: - self.prefix = spack.store.layout.path_for_spec(self) + upstream, record = spack.store.db.query_by_spec_hash( + self.dag_hash()) + if record and record.path: + self.prefix = record.path + else: + self.prefix = spack.store.layout.path_for_spec(self) return self._prefix @prefix.setter @@ -3302,7 +3307,9 @@ class Spec(object): if status_fn: status = status_fn(node) - if status is None: + if node.package.installed_upstream: + out += colorize("@g{[^]} ", color=color) + elif status is None: out += colorize("@K{ - } ", color=color) # not installed elif status: out += colorize("@g{[+]} ", color=color) # installed |