summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/installer.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py
index a2b0220a8b..978296e051 100644
--- a/lib/spack/spack/installer.py
+++ b/lib/spack/spack/installer.py
@@ -405,9 +405,14 @@ def dump_packages(spec, path):
source = spack.store.layout.build_packages_path(node)
source_repo_root = os.path.join(source, node.namespace)
- # There's no provenance installed for the source package. Skip it.
- # User can always get something current from the builtin repo.
- if not os.path.isdir(source_repo_root):
+ # If there's no provenance installed for the package, skip it.
+ # If it's external, skip it because it either:
+ # 1) it wasn't built with Spack, so it has no Spack metadata
+ # 2) it was built by another Spack instance, and we do not
+ # (currently) use Spack metadata to associate repos with externals
+ # built by other Spack instances.
+ # Spack can always get something current from the builtin repo.
+ if node.external or not os.path.isdir(source_repo_root):
continue
# Create a source repo and get the pkg directory out of it.