mirror of
https://github.com/servo/servo.git
synced 2025-08-02 04:00:32 +01:00
Auto merge of #22386 - cdeler:fix-mach-bootstrap-LinuxMint, r=jdm
Use the base Ubuntu distro instead of LinuxMint in './mach bootstrap' I'm LinuxMint user. I couldn't install all dependencies via `./mach bootstrap` due to error, described in this ticket: https://github.com/servo/servo/issues/21732 As LinuxMint is based on the stable Ubuntu, I've made a little fix for the `bootstrap` procedure. --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #21732 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because I haven't found the tests for `./mach bootstrap` (please correct me if I'm wrong) <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22386) <!-- Reviewable:end -->
This commit is contained in:
commit
8fb1b567fa
1 changed files with 33 additions and 13 deletions
|
@ -341,6 +341,34 @@ LINUX_SPECIFIC_BOOTSTRAPPERS = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def get_linux_distribution():
|
||||||
|
distro, version, _ = platform.linux_distribution()
|
||||||
|
|
||||||
|
if distro == 'LinuxMint':
|
||||||
|
major, minor = version.split('.')
|
||||||
|
|
||||||
|
if major == '19':
|
||||||
|
base_version = '18.04'
|
||||||
|
elif major == '18':
|
||||||
|
base_version = '16.04'
|
||||||
|
elif major == '17':
|
||||||
|
base_version = '14.04'
|
||||||
|
else:
|
||||||
|
raise Exception('unsupported version of %s: %s' % (distro, version))
|
||||||
|
|
||||||
|
distro, version = 'Ubuntu', base_version
|
||||||
|
elif distro.lower() not in [
|
||||||
|
'centos',
|
||||||
|
'centos linux',
|
||||||
|
'debian',
|
||||||
|
'fedora',
|
||||||
|
'ubuntu',
|
||||||
|
]:
|
||||||
|
raise Exception('mach bootstrap does not support %s, please file a bug' % distro)
|
||||||
|
|
||||||
|
return distro, version
|
||||||
|
|
||||||
|
|
||||||
def bootstrap(context, force=False, specific=None):
|
def bootstrap(context, force=False, specific=None):
|
||||||
'''Dispatches to the right bootstrapping function for the OS.'''
|
'''Dispatches to the right bootstrapping function for the OS.'''
|
||||||
|
|
||||||
|
@ -348,19 +376,11 @@ def bootstrap(context, force=False, specific=None):
|
||||||
if "windows-msvc" in host_triple():
|
if "windows-msvc" in host_triple():
|
||||||
bootstrapper = windows_msvc
|
bootstrapper = windows_msvc
|
||||||
elif "linux-gnu" in host_triple():
|
elif "linux-gnu" in host_triple():
|
||||||
distro, version, _ = platform.linux_distribution()
|
distro, version = get_linux_distribution()
|
||||||
if distro.lower() in [
|
|
||||||
'centos',
|
|
||||||
'centos linux',
|
|
||||||
'debian',
|
|
||||||
'fedora',
|
|
||||||
'ubuntu',
|
|
||||||
]:
|
|
||||||
context.distro = distro
|
context.distro = distro
|
||||||
context.distro_version = version
|
context.distro_version = version
|
||||||
bootstrapper = LINUX_SPECIFIC_BOOTSTRAPPERS.get(specific, linux)
|
bootstrapper = LINUX_SPECIFIC_BOOTSTRAPPERS.get(specific, linux)
|
||||||
else:
|
|
||||||
raise Exception("mach bootstrap does not support %s, please file a bug" % distro)
|
|
||||||
|
|
||||||
if bootstrapper is None:
|
if bootstrapper is None:
|
||||||
print('Bootstrap support is not yet available for your OS.')
|
print('Bootstrap support is not yet available for your OS.')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue