Chromium Code Reviews| Index: build/linux/sysroot_scripts/install-sysroot.py |
| diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py |
| index d79c12bbbbcef46057e6be67da92b5654d528709..049a2e49e25e4c55261f1e940c5654d72a774239 100755 |
| --- a/build/linux/sysroot_scripts/install-sysroot.py |
| +++ b/build/linux/sysroot_scripts/install-sysroot.py |
| @@ -6,16 +6,17 @@ |
| """Install Debian sysroots for building chromium. |
| """ |
| -# The sysroot is needed to ensure that binaries will run on Debian Wheezy, |
| -# the oldest supported linux distribution. For ARM64 linux, we have Debian |
| -# Jessie sysroot as Jessie is the first version with ARM64 support. This script |
| -# can be run manually but is more often run as part of gclient hooks. When run |
| -# from hooks this script is a no-op on non-linux platforms. |
| - |
| -# The sysroot image could be constructed from scratch based on the current |
| -# state or Debian Wheezy/Jessie but for consistency we currently use a |
| -# pre-built root image. The image will normally need to be rebuilt every time |
| -# chrome's build dependencies are changed. |
| +# The sysroot is needed to ensure that binaries that get built will run on |
| +# the oldest stable version of Debian that we currently support. |
| +# This script can be run manually but is more often run as part of gclient |
| +# hooks. When run from hooks this script is a no-op on non-linux platforms. |
| + |
| +# The sysroot image could be constructed from scratch based on the current state |
| +# of the Debian archive but for consistency we use a pre-built root image (we |
| +# don't want upstream changes to Debian to effect the chromium build until we |
| +# choose to pull them in). The images will normally need to be rebuilt every |
| +# time chrome's build dependencies are changed but should also be updated |
| +# periodically to include upstream security fixes from Debian. |
| import hashlib |
| import json |
| @@ -150,6 +151,9 @@ def main(args): |
| ' Installs default sysroot images.') |
| parser.add_option('--arch', type='choice', choices=VALID_ARCHS, |
| help='Sysroot architecture: %s' % ', '.join(VALID_ARCHS)) |
| + parser.add_option('--all', action='store_true', |
| + help='Install all sysroot images (useful when updating the' |
| + ' images)') |
| options, _ = parser.parse_args(args) |
| if options.running_as_hook and not sys.platform.startswith('linux'): |
| return 0 |
| @@ -160,25 +164,28 @@ def main(args): |
| if host_arch in ['ppc','s390']: |
| return 0 |
| InstallDefaultSysroots(host_arch) |
| - else: |
| - if not options.arch: |
| - print 'You much specify either --arch or --running-as-hook' |
| - return 1 |
| + elif options.arch: |
| InstallDefaultSysrootForArch(options.arch) |
| + elif options.all: |
| + for arch in VALID_ARCHS: |
| + InstallDefaultSysrootForArch(arch) |
| + else: |
| + print 'You much specify either --arch, --all or --running-as-hook' |
| + return 1 |
| return 0 |
| def InstallDefaultSysrootForArch(target_arch): |
| if target_arch == 'amd64': |
|
Lei Zhang
2017/03/11 01:17:27
You can write this as:
if target_arch not in VALI
Sam Clegg
2017/03/13 16:43:16
Done.
|
| - InstallSysroot('Wheezy', 'amd64') |
| + InstallSysroot('Jessie', 'amd64') |
| elif target_arch == 'arm': |
| - InstallSysroot('Wheezy', 'arm') |
| + InstallSysroot('Jessie', 'arm') |
| elif target_arch == 'arm64': |
| InstallSysroot('Jessie', 'arm64') |
| elif target_arch == 'i386': |
| - InstallSysroot('Wheezy', 'i386') |
| + InstallSysroot('Jessie', 'i386') |
| elif target_arch == 'mips': |
| - InstallSysroot('Wheezy', 'mips') |
| + InstallSysroot('Jessie', 'mips') |
| else: |
| raise Error('Unknown architecture: %s' % target_arch) |