Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: build/linux/sysroot_scripts/install-sysroot.py

Issue 2776773002: Reland of "Update linux sysroot from Wheezy to Jessie" (Closed)
Patch Set: revert expected_deps_x64_jessie change Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/config/sysroot.gni ('k') | chrome/installer/linux/debian/expected_deps_ia32_jessie » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..c8e88ee0a8ab2b4edf35ec6201e57caae8d9da65 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
@@ -134,14 +135,6 @@ def InstallDefaultSysroots(host_arch):
if target_arch and target_arch not in (host_arch, 'i386'):
InstallDefaultSysrootForArch(target_arch)
- # Desktop Linux ozone builds require libxkbcommon* which is not
- # available in Wheezy.
- # TODO(thomasanderson): Remove this once the Jessie sysroot is used
- # by default.
- gyp_defines = gyp_chromium.GetGypVars(gyp_chromium.GetSupplementalFiles())
- if gyp_defines.get('use_ozone') == '1':
- InstallSysroot('Jessie', 'amd64')
-
def main(args):
parser = optparse.OptionParser('usage: %prog [OPTIONS]', description=__doc__)
@@ -150,6 +143,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,27 +156,23 @@ 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':
- InstallSysroot('Wheezy', 'amd64')
- elif target_arch == 'arm':
- InstallSysroot('Wheezy', 'arm')
- elif target_arch == 'arm64':
- InstallSysroot('Jessie', 'arm64')
- elif target_arch == 'i386':
- InstallSysroot('Wheezy', 'i386')
- elif target_arch == 'mips':
- InstallSysroot('Wheezy', 'mips')
- else:
+ if target_arch not in VALID_ARCHS:
raise Error('Unknown architecture: %s' % target_arch)
+ InstallSysroot('Jessie', target_arch)
+
def InstallSysroot(target_platform, target_arch):
# The sysroot directory should match the one specified in build/common.gypi.
« no previous file with comments | « build/config/sysroot.gni ('k') | chrome/installer/linux/debian/expected_deps_ia32_jessie » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698