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

Side by Side Diff: build/linux/sysroot_scripts/install-sysroot.py

Issue 2645733006: Download Jessie sysroot on ozone builds (Closed)
Patch Set: Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Install Debian sysroots for building chromium. 6 """Install Debian sysroots for building chromium.
7 """ 7 """
8 8
9 # The sysroot is needed to ensure that binaries will run on Debian Wheezy, 9 # The sysroot is needed to ensure that binaries will run on Debian Wheezy,
10 # the oldest supported linux distribution. For ARM64 linux, we have Debian 10 # the oldest supported linux distribution. For ARM64 linux, we have Debian
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 120
121 if host_arch == 'amd64': 121 if host_arch == 'amd64':
122 InstallDefaultSysrootForArch('i386') 122 InstallDefaultSysrootForArch('i386')
123 123
124 # Desktop Chromium OS builds require the precise sysroot. 124 # Desktop Chromium OS builds require the precise sysroot.
125 # TODO(thomasanderson): only download this when the GN arg target_os 125 # TODO(thomasanderson): only download this when the GN arg target_os
126 # == 'chromeos', when the functionality to perform the check becomes 126 # == 'chromeos', when the functionality to perform the check becomes
127 # available. 127 # available.
128 InstallSysroot('Precise', 'amd64') 128 InstallSysroot('Precise', 'amd64')
129 129
130 # Finally, if we can detect a non-standard target_arch such as ARM or 130 # If we can detect a non-standard target_arch such as ARM or MIPS,
131 # MIPS, then install the sysroot too. 131 # then install the sysroot too. Don't attampt to install arm64
Dirk Pranke 2017/01/23 22:39:53 Nit: s/attampt/attempt
Tom (Use chromium acct) 2017/01/24 01:30:00 Done.
132 # Don't attampt to install arm64 since this is currently and android-only 132 # since this is currently and android-only architecture.
133 # architecture.
134 target_arch = DetectTargetArch() 133 target_arch = DetectTargetArch()
135 if target_arch and target_arch not in (host_arch, 'i386'): 134 if target_arch and target_arch not in (host_arch, 'i386'):
136 InstallDefaultSysrootForArch(target_arch) 135 InstallDefaultSysrootForArch(target_arch)
137 136
137 # Desktop Linux ozone builds require libxkbcommon* which is not
138 # available in Wheezy.
139 # TODO(thomasanderson): Remove this once the Jessie sysroot is used
140 # by default.
141 gyp_defines = gyp_chromium.GetGypVars(gyp_chromium.GetSupplementalFiles())
142 if 'use_ozone' in gyp_defines and gyp_defines['use_ozone'] == '1':
Dirk Pranke 2017/01/23 22:39:53 Nit: if gyp_defines.get('use_ozone') == '1':
Tom (Use chromium acct) 2017/01/24 01:30:00 Done.
143 InstallSysroot('Jessie', 'amd64')
144
138 145
139 def main(args): 146 def main(args):
140 parser = optparse.OptionParser('usage: %prog [OPTIONS]', description=__doc__) 147 parser = optparse.OptionParser('usage: %prog [OPTIONS]', description=__doc__)
141 parser.add_option('--running-as-hook', action='store_true', 148 parser.add_option('--running-as-hook', action='store_true',
142 default=False, help='Used when running from gclient hooks.' 149 default=False, help='Used when running from gclient hooks.'
143 ' Installs default sysroot images.') 150 ' Installs default sysroot images.')
144 parser.add_option('--arch', type='choice', choices=VALID_ARCHS, 151 parser.add_option('--arch', type='choice', choices=VALID_ARCHS,
145 help='Sysroot architecture: %s' % ', '.join(VALID_ARCHS)) 152 help='Sysroot architecture: %s' % ', '.join(VALID_ARCHS))
146 options, _ = parser.parse_args(args) 153 options, _ = parser.parse_args(args)
147 if options.running_as_hook and not sys.platform.startswith('linux'): 154 if options.running_as_hook and not sys.platform.startswith('linux'):
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 tarball_filename = sysroot_dict['Tarball'] 198 tarball_filename = sysroot_dict['Tarball']
192 tarball_sha1sum = sysroot_dict['Sha1Sum'] 199 tarball_sha1sum = sysroot_dict['Sha1Sum']
193 sysroot = os.path.join(linux_dir, sysroot_dict['SysrootDir']) 200 sysroot = os.path.join(linux_dir, sysroot_dict['SysrootDir'])
194 201
195 url = '%s/%s/%s/%s' % (URL_PREFIX, URL_PATH, revision, tarball_filename) 202 url = '%s/%s/%s/%s' % (URL_PREFIX, URL_PATH, revision, tarball_filename)
196 203
197 stamp = os.path.join(sysroot, '.stamp') 204 stamp = os.path.join(sysroot, '.stamp')
198 if os.path.exists(stamp): 205 if os.path.exists(stamp):
199 with open(stamp) as s: 206 with open(stamp) as s:
200 if s.read() == url: 207 if s.read() == url:
201 print 'Debian %s %s root image already up to date: %s' % \ 208 print '%s %s sysroot image already up to date: %s' % \
202 (target_platform, target_arch, sysroot) 209 (target_platform, target_arch, sysroot)
203 return 210 return
204 211
205 print 'Installing Debian %s %s root image: %s' % \ 212 print 'Installing Debian %s %s root image: %s' % \
206 (target_platform, target_arch, sysroot) 213 (target_platform, target_arch, sysroot)
207 if os.path.isdir(sysroot): 214 if os.path.isdir(sysroot):
208 shutil.rmtree(sysroot) 215 shutil.rmtree(sysroot)
209 os.mkdir(sysroot) 216 os.mkdir(sysroot)
210 tarball = os.path.join(sysroot, tarball_filename) 217 tarball = os.path.join(sysroot, tarball_filename)
211 print 'Downloading %s' % url 218 print 'Downloading %s' % url
(...skipping 19 matching lines...) Expand all
231 with open(stamp, 'w') as s: 238 with open(stamp, 'w') as s:
232 s.write(url) 239 s.write(url)
233 240
234 241
235 if __name__ == '__main__': 242 if __name__ == '__main__':
236 try: 243 try:
237 sys.exit(main(sys.argv[1:])) 244 sys.exit(main(sys.argv[1:]))
238 except Error as e: 245 except Error as e:
239 sys.stderr.write(str(e) + '\n') 246 sys.stderr.write(str(e) + '\n')
240 sys.exit(1) 247 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698