diff options
Diffstat (limited to 'python/servo/bootstrap.py')
-rw-r--r-- | python/servo/bootstrap.py | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/python/servo/bootstrap.py b/python/servo/bootstrap.py index e3ccff6f953..b854b8844f1 100644 --- a/python/servo/bootstrap.py +++ b/python/servo/bootstrap.py @@ -8,9 +8,10 @@ from distutils.spawn import find_executable from distutils.version import LooseVersion import json import os -import platform +import distro import shutil import subprocess +import six import six.moves.urllib as urllib from subprocess import PIPE from zipfile import BadZipfile @@ -342,9 +343,11 @@ LINUX_SPECIFIC_BOOTSTRAPPERS = { def get_linux_distribution(): - distro, version, _ = platform.linux_distribution() + distrib, version, _ = distro.linux_distribution() + distrib = six.ensure_str(distrib) + version = six.ensure_str(version) - if distro == 'LinuxMint': + if distrib == 'LinuxMint': if '.' in version: major, _ = version.split('.', 1) else: @@ -357,10 +360,10 @@ def get_linux_distribution(): elif major == '17': base_version = '14.04' else: - raise Exception('unsupported version of %s: %s' % (distro, version)) + raise Exception('unsupported version of %s: %s' % (distrib, version)) - distro, version = 'Ubuntu', base_version - elif distro.lower() == 'elementary': + distrib, version = 'Ubuntu', base_version + elif distrib.lower() == 'elementary': if version == '5.0': base_version = '18.04' elif version[0:3] == '0.4': @@ -372,21 +375,21 @@ def get_linux_distribution(): elif version == '0.1': base_version = '10.10' else: - raise Exception('unsupported version of %s: %s' % (distro, version)) - distro, version = 'Ubuntu', base_version - elif distro.lower() == 'ubuntu': + raise Exception('unsupported version of %s: %s' % (distrib, version)) + distrib, version = 'Ubuntu', base_version + elif distrib.lower() == 'ubuntu': if version > '19.04': - raise Exception('unsupported version of %s: %s' % (distro, version)) + raise Exception('unsupported version of %s: %s' % (distrib, version)) # Fixme: we should allow checked/supported versions only - elif distro.lower() not in [ + elif distrib.lower() not in [ 'centos', 'centos linux', 'debian', 'fedora', ]: - raise Exception('mach bootstrap does not support %s, please file a bug' % distro) + raise Exception('mach bootstrap does not support %s, please file a bug' % distrib) - return distro, version + return distrib, version def bootstrap(context, force=False, specific=None): @@ -396,9 +399,9 @@ def bootstrap(context, force=False, specific=None): if "windows-msvc" in host_triple(): bootstrapper = windows_msvc elif "linux-gnu" in host_triple(): - distro, version = get_linux_distribution() + distrib, version = get_linux_distribution() - context.distro = distro + context.distro = distrib context.distro_version = version bootstrapper = LINUX_SPECIFIC_BOOTSTRAPPERS.get(specific, linux) |