summaryrefslogtreecommitdiff
path: root/lib/spack/spack/spec.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/spack/spec.py')
-rw-r--r--lib/spack/spack/spec.py11
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