Fix some bugs in architecture.
This commit is contained in:
		| @@ -487,25 +487,23 @@ def arch_from_dict(d): | ||||
|  | ||||
| @memoized | ||||
| def all_platforms(): | ||||
|     modules = [] | ||||
|  | ||||
|     classes = [] | ||||
|     mod_path = spack.platform_path | ||||
|     mod_string = "spack.platformss" | ||||
|     parent_module = "spack.platforms" | ||||
|  | ||||
|     for name in list_modules(mod_path): | ||||
|         mod_name = mod_string + name | ||||
|         path = join_path(mod_path, name) + ".py" | ||||
|         mod = imp.load_source(mod_name, path) | ||||
|         mod_name = '%s.%s' % (parent_module, name) | ||||
|         class_name = mod_to_class(name) | ||||
|         mod = __import__(mod_name, fromlist=[class_name]) | ||||
|         if not hasattr(mod, class_name): | ||||
|             tty.die('No class %s defined in %s' % (class_name, mod_name)) | ||||
|         cls = getattr(mod, class_name) | ||||
|         if not inspect.isclass(cls): | ||||
|             tty.die('%s.%s is not a class' % (mod_name, class_name)) | ||||
|  | ||||
|         modules.append(cls) | ||||
|         classes.append(cls) | ||||
|  | ||||
|     return modules | ||||
|     return classes | ||||
|  | ||||
| @memoized | ||||
| def sys_type(): | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| import re | ||||
| import platform as py_platform | ||||
| from spack.architecture import OperatingSystem | ||||
|  | ||||
| @@ -9,7 +10,13 @@ class LinuxDistro(OperatingSystem): | ||||
|         platform.dist() | ||||
|     """ | ||||
|     def __init__(self): | ||||
|         name = py_platform.dist()[0] | ||||
|         version = py_platform.dist()[1].split(".")[0] # Grabs major version from tuple  | ||||
|         distname, version, _ = py_platform.linux_distribution( | ||||
|             full_distribution_name=False) | ||||
|  | ||||
|         super(LinuxDistro, self).__init__(name, version) | ||||
|         # Grabs major version from tuple on redhat; on other platforms | ||||
|         # grab the first legal identifier in the version field.  On | ||||
|         # debian you get things like 'wheezy/sid'; sid means unstable. | ||||
|         # We just record 'wheezy' and don't get quite so detailed. | ||||
|         version = re.split(r'[^\w-]', version)[0] | ||||
|  | ||||
|         super(LinuxDistro, self).__init__(distname, version) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Todd Gamblin
					Todd Gamblin