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

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

Issue 2780763002: Revert of "Update linux sysroot from Wheezy to Jessie" (Closed)
Patch Set: 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 c8e88ee0a8ab2b4edf35ec6201e57caae8d9da65..d79c12bbbbcef46057e6be67da92b5654d528709 100755
--- a/build/linux/sysroot_scripts/install-sysroot.py
+++ b/build/linux/sysroot_scripts/install-sysroot.py
@@ -6,17 +6,16 @@
"""Install Debian sysroots for building chromium.
"""
-# 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.
+# 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.
import hashlib
import json
@@ -135,6 +134,14 @@
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__)
@@ -143,9 +150,6 @@
' 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
@@ -156,23 +160,27 @@
if host_arch in ['ppc','s390']:
return 0
InstallDefaultSysroots(host_arch)
- elif options.arch:
+ else:
+ if not options.arch:
+ print 'You much specify either --arch or --running-as-hook'
+ return 1
InstallDefaultSysrootForArch(options.arch)
- elif options.all:
- for arch in VALID_ARCHS:
- InstallDefaultSysrootForArch(arch)
+
+ 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:
- print 'You much specify either --arch, --all or --running-as-hook'
- return 1
-
- return 0
-
-
-def InstallDefaultSysrootForArch(target_arch):
- 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