Fix some bugs in architecture.
This commit is contained in:
parent
24ee32d7b0
commit
7bdf63a0fa
@ -487,25 +487,23 @@ def arch_from_dict(d):
|
|||||||
|
|
||||||
@memoized
|
@memoized
|
||||||
def all_platforms():
|
def all_platforms():
|
||||||
modules = []
|
classes = []
|
||||||
|
|
||||||
mod_path = spack.platform_path
|
mod_path = spack.platform_path
|
||||||
mod_string = "spack.platformss"
|
parent_module = "spack.platforms"
|
||||||
|
|
||||||
for name in list_modules(mod_path):
|
for name in list_modules(mod_path):
|
||||||
mod_name = mod_string + name
|
mod_name = '%s.%s' % (parent_module, name)
|
||||||
path = join_path(mod_path, name) + ".py"
|
|
||||||
mod = imp.load_source(mod_name, path)
|
|
||||||
class_name = mod_to_class(name)
|
class_name = mod_to_class(name)
|
||||||
|
mod = __import__(mod_name, fromlist=[class_name])
|
||||||
if not hasattr(mod, class_name):
|
if not hasattr(mod, class_name):
|
||||||
tty.die('No class %s defined in %s' % (class_name, mod_name))
|
tty.die('No class %s defined in %s' % (class_name, mod_name))
|
||||||
cls = getattr(mod, class_name)
|
cls = getattr(mod, class_name)
|
||||||
if not inspect.isclass(cls):
|
if not inspect.isclass(cls):
|
||||||
tty.die('%s.%s is not a class' % (mod_name, class_name))
|
tty.die('%s.%s is not a class' % (mod_name, class_name))
|
||||||
|
|
||||||
modules.append(cls)
|
classes.append(cls)
|
||||||
|
|
||||||
return modules
|
return classes
|
||||||
|
|
||||||
@memoized
|
@memoized
|
||||||
def sys_type():
|
def sys_type():
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import re
|
||||||
import platform as py_platform
|
import platform as py_platform
|
||||||
from spack.architecture import OperatingSystem
|
from spack.architecture import OperatingSystem
|
||||||
|
|
||||||
@ -9,7 +10,13 @@ class LinuxDistro(OperatingSystem):
|
|||||||
platform.dist()
|
platform.dist()
|
||||||
"""
|
"""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
name = py_platform.dist()[0]
|
distname, version, _ = py_platform.linux_distribution(
|
||||||
version = py_platform.dist()[1].split(".")[0] # Grabs major version from tuple
|
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user