summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/directory_layout.py2
-rw-r--r--lib/spack/spack/package.py5
-rw-r--r--var/spack/packages/python/package.py4
3 files changed, 8 insertions, 3 deletions
diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py
index c2e2ea4deb..fe02fff3b0 100644
--- a/lib/spack/spack/directory_layout.py
+++ b/lib/spack/spack/directory_layout.py
@@ -182,7 +182,7 @@ class YamlDirectoryLayout(DirectoryLayout):
@property
def hidden_file_paths(self):
- return (self.metadata_dir)
+ return (self.metadata_dir,)
def relative_path_for_spec(self, spec):
diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index b0bb1fb7bc..9ddd55f5c0 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -984,8 +984,10 @@ class Package(object):
self._sanity_check_extension()
force = kwargs.get('force', False)
- spack.install_layout.check_extension_conflict(self.extendee_spec, self.spec)
+ spack.install_layout.check_extension_conflict(
+ self.extendee_spec, self.spec)
+ # Activate any package dependencies that are also extensions.
if not force:
for spec in self.spec.traverse(root=False):
if spec.package.extends(self.extendee_spec):
@@ -1016,6 +1018,7 @@ class Package(object):
conflict = tree.find_conflict(self.prefix, ignore=ignore)
if conflict:
raise ExtensionConflictError(conflict)
+
tree.merge(self.prefix, ignore=ignore)
diff --git a/var/spack/packages/python/package.py b/var/spack/packages/python/package.py
index 31a12ea653..797900527d 100644
--- a/var/spack/packages/python/package.py
+++ b/var/spack/packages/python/package.py
@@ -139,7 +139,9 @@ class Python(Package):
def activate(self, ext_pkg, **args):
- args.update(ignore=self.python_ignore(ext_pkg, args))
+ ignore=self.python_ignore(ext_pkg, args)
+ args.update(ignore=ignore)
+
super(Python, self).activate(ext_pkg, **args)
exts = spack.install_layout.extension_map(self.spec)