diff --git a/lib/spack/spack/cmd/extensions.py b/lib/spack/spack/cmd/extensions.py index e1f30f7cf3c..bda20b9e1c8 100644 --- a/lib/spack/spack/cmd/extensions.py +++ b/lib/spack/spack/cmd/extensions.py @@ -90,7 +90,7 @@ def extensions(parser, args): # List specs of installed extensions. # installed = [s.spec - for s in spack.store.db.activated_extensions_for(spec)] + for s in spack.store.db.installed_extensions_for(spec)] print if not installed: diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py index f8334dfa00b..90250c11ee9 100644 --- a/lib/spack/spack/database.py +++ b/lib/spack/spack/database.py @@ -740,6 +740,16 @@ def installed_relatives(self, spec, direction='children', transitive=True): relatives.add(relative) return relatives + @_autospec + def installed_extensions_for(self, extendee_spec): + """ + Return the specs of all packages that extend + the given spec + """ + for spec in self.query(): + if spec.package.extends(extendee_spec): + yield spec.package + @_autospec def activated_extensions_for(self, extendee_spec): """