diff options
author | alalazo <massimiliano.culpo@googlemail.com> | 2015-12-18 13:00:43 +0100 |
---|---|---|
committer | alalazo <massimiliano.culpo@googlemail.com> | 2015-12-18 13:00:43 +0100 |
commit | dfbf1b2205a50d887b85645dd1b78535250f40e5 (patch) | |
tree | 66bf2556c2b81e6a70287f37062988898cccc625 /lib | |
parent | 8dc32aeedb569400dffdd352ae7dcbeaa6c43635 (diff) | |
parent | 3198522a7f2dab6bee33bb3be3d3738fe8c7c1f9 (diff) | |
download | spack-dfbf1b2205a50d887b85645dd1b78535250f40e5.tar.gz spack-dfbf1b2205a50d887b85645dd1b78535250f40e5.tar.bz2 spack-dfbf1b2205a50d887b85645dd1b78535250f40e5.tar.xz spack-dfbf1b2205a50d887b85645dd1b78535250f40e5.zip |
Merge branch 'develop' of https://github.com/alalazo/spack into packages/tau
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/database.py | 4 | ||||
-rw-r--r-- | lib/spack/spack/directory_layout.py | 4 | ||||
-rw-r--r-- | lib/spack/spack/modules.py | 4 | ||||
-rw-r--r-- | lib/spack/spack/spec.py | 13 |
4 files changed, 19 insertions, 6 deletions
diff --git a/lib/spack/spack/database.py b/lib/spack/spack/database.py index d62a47547d..bf54055a24 100644 --- a/lib/spack/spack/database.py +++ b/lib/spack/spack/database.py @@ -211,6 +211,10 @@ class Database(object): child = self._read_spec_from_yaml(dep_hash, installs, hash_key) spec._add_dependency(child) + # Specs from the database need to be marked concrete because + # they represent actual installations. + spec._mark_concrete() + return spec diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py index a434dad5c4..d91fbe9f4e 100644 --- a/lib/spack/spack/directory_layout.py +++ b/lib/spack/spack/directory_layout.py @@ -212,9 +212,7 @@ class YamlDirectoryLayout(DirectoryLayout): spec = Spec.from_yaml(f) # Specs read from actual installations are always concrete - for s in spec.traverse(): - s._normal = True - s._concrete = True + spec._mark_concrete() return spec diff --git a/lib/spack/spack/modules.py b/lib/spack/spack/modules.py index 59ed9f893e..7036626e29 100644 --- a/lib/spack/spack/modules.py +++ b/lib/spack/spack/modules.py @@ -29,11 +29,11 @@ The various types of modules are installed by post-install hooks and removed after an uninstall by post-uninstall hooks. This class consolidates the logic for creating an abstract description of the information that module systems need. Currently that includes a -number directories to be appended to paths in the user's environment: +number of directories to be appended to paths in the user's environment: * /bin directories to be appended to PATH * /lib* directories for LD_LIBRARY_PATH - * /man* and /share/man* directories for LD_LIBRARY_PATH + * /man* and /share/man* directories for MANPATH * the package prefix for CMAKE_PREFIX_PATH This module also includes logic for coming up with unique names for diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index fb5ea5d02b..037ec97a5e 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -833,7 +833,18 @@ class Spec(object): changed = any(changes) force=True - self._concrete = True + self._mark_concrete() + + + def _mark_concrete(self): + """Mark this spec and its dependencies as concrete. + + Only for internal use -- client code should use "concretize" + unless there is a need to force a spec to be concrete. + """ + for s in self.traverse(): + s._normal = True + s._concrete = True def concretized(self): |