diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index bf64efa3ec5..13bcfd2e915 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -1028,6 +1028,10 @@ def external_packages(self): if pkg_name == 'all': continue + # This package does not appear in any repository + if pkg_name not in spack.repo.path: + continue + if 'externals' not in data: self.gen.fact(fn.external(pkg_name).symbol(positive=False)) diff --git a/lib/spack/spack/util/mock_package.py b/lib/spack/spack/util/mock_package.py index 4751f5af7e4..5286b50464d 100644 --- a/lib/spack/spack/util/mock_package.py +++ b/lib/spack/spack/util/mock_package.py @@ -102,6 +102,9 @@ def repo_for_pkg(self, name): Repo = collections.namedtuple('Repo', ['namespace']) return Repo('mockrepo') + def __contains__(self, item): + return item in self.spec_to_pkg + def add_package(self, name, dependencies=None, dependency_types=None, conditions=None): """Factory method for creating mock packages.