diff options
Diffstat (limited to 'deprecated/build_chrome_browser.py')
-rwxr-xr-x | deprecated/build_chrome_browser.py | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/deprecated/build_chrome_browser.py b/deprecated/build_chrome_browser.py deleted file mode 100755 index c3b78870..00000000 --- a/deprecated/build_chrome_browser.py +++ /dev/null @@ -1,247 +0,0 @@ -#!/usr/bin/env python2 -# -# Copyright 2010 Google Inc. All Rights Reserved. -"""Script to checkout the ChromeOS source. - -This script sets up the ChromeOS source in the given directory, matching a -particular release of ChromeOS. -""" - -from __future__ import print_function - -__author__ = 'raymes@google.com (Raymes Khoury)' - -import argparse -import os -import sys - -from cros_utils import command_executer -from cros_utils import logger -from cros_utils import misc - - -def Usage(parser, message): - print('ERROR: %s' % message) - parser.print_help() - sys.exit(0) - - -def Main(argv): - """Build Chrome browser.""" - - cmd_executer = command_executer.GetCommandExecuter() - - parser = argparse.ArgumentParser() - parser.add_argument( - '--chromeos_root', - dest='chromeos_root', - help='Target directory for ChromeOS installation.') - parser.add_argument('--version', dest='version') - parser.add_argument( - '--clean', - dest='clean', - default=False, - action='store_true', - help=('Clean the /var/cache/chromeos-chrome/' - 'chrome-src/src/out_$board dir')) - parser.add_argument( - '--env', dest='env', default='', help='Use the following env') - parser.add_argument( - '--ebuild_version', - dest='ebuild_version', - help='Use this ebuild instead of the default one.') - parser.add_argument( - '--cflags', - dest='cflags', - default='', - help='CFLAGS for the ChromeOS packages') - parser.add_argument( - '--cxxflags', - dest='cxxflags', - default='', - help='CXXFLAGS for the ChromeOS packages') - parser.add_argument( - '--ldflags', - dest='ldflags', - default='', - help='LDFLAGS for the ChromeOS packages') - parser.add_argument( - '--board', dest='board', help='ChromeOS target board, e.g. x86-generic') - parser.add_argument( - '--no_build_image', - dest='no_build_image', - default=False, - action='store_true', - help=('Skip build image after building browser.' - 'Defaults to False.')) - parser.add_argument( - '--label', - dest='label', - help='Optional label to apply to the ChromeOS image.') - parser.add_argument( - '--build_image_args', - default='', - dest='build_image_args', - help='Optional arguments to build_image.') - parser.add_argument( - '--cros_workon', - dest='cros_workon', - help='Build using external source tree.') - parser.add_argument( - '--dev', - dest='dev', - default=False, - action='store_true', - help=('Build a dev (eg. writable/large) image. ' - 'Defaults to False.')) - parser.add_argument( - '--debug', - dest='debug', - default=False, - action='store_true', - help=('Build chrome browser using debug mode. ' - 'This option implies --dev. Defaults to false.')) - parser.add_argument( - '--verbose', - dest='verbose', - default=False, - action='store_true', - help='Build with verbose information.') - - options = parser.parse_args(argv) - - if options.chromeos_root is None: - Usage(parser, '--chromeos_root must be set') - - if options.board is None: - Usage(parser, '--board must be set') - - if options.version is None: - logger.GetLogger().LogOutput('No Chrome version given so ' - 'using the default checked in version.') - chrome_version = '' - else: - chrome_version = 'CHROME_VERSION=%s' % options.version - - if options.dev and options.no_build_image: - logger.GetLogger().LogOutput( - "\"--dev\" is meaningless if \"--no_build_image\" is given.") - - if options.debug: - options.dev = True - - options.chromeos_root = misc.CanonicalizePath(options.chromeos_root) - - unmask_env = 'ACCEPT_KEYWORDS=~*' - if options.ebuild_version: - ebuild_version = '=%s' % options.ebuild_version - options.env = '%s %s' % (options.env, unmask_env) - else: - ebuild_version = 'chromeos-chrome' - - if options.cros_workon and not ( - os.path.isdir(options.cros_workon) and os.path.exists( - os.path.join(options.cros_workon, 'src/chromeos/BUILD.gn'))): - Usage(parser, '--cros_workon must be a valid chromium browser checkout.') - - if options.verbose: - options.env = misc.MergeEnvStringWithDict( - options.env, {'USE': 'chrome_internal verbose'}) - else: - options.env = misc.MergeEnvStringWithDict(options.env, - {'USE': 'chrome_internal'}) - if options.debug: - options.env = misc.MergeEnvStringWithDict(options.env, - {'BUILDTYPE': 'Debug'}) - - if options.clean: - misc.RemoveChromeBrowserObjectFiles(options.chromeos_root, options.board) - - chrome_origin = 'SERVER_SOURCE' - if options.cros_workon: - chrome_origin = 'LOCAL_SOURCE' - command = 'cros_workon --board={0} start chromeos-chrome'.format( - options.board) - ret = cmd_executer.ChrootRunCommandWOutput(options.chromeos_root, command) - - # cros_workon start returns non-zero if chromeos-chrome is already a - # cros_workon package. - if ret[0] and ret[2].find( - 'WARNING : Already working on chromeos-base/chromeos-chrome') == -1: - logger.GetLogger().LogFatal('cros_workon chromeos-chrome failed.') - - # Return value is non-zero means we do find the "Already working on..." - # message, keep the information, so later on we do not revert the - # cros_workon status. - cros_workon_keep = (ret[0] != 0) - - # Emerge the browser - emerge_browser_command = ('CHROME_ORIGIN={0} {1} ' - 'CFLAGS="$(portageq-{2} envvar CFLAGS) {3}" ' - 'LDFLAGS="$(portageq-{2} envvar LDFLAGS) {4}" ' - 'CXXFLAGS="$(portageq-{2} envvar CXXFLAGS) {5}" ' - '{6} emerge-{2} --buildpkg {7}').format( - chrome_origin, chrome_version, options.board, - options.cflags, options.ldflags, - options.cxxflags, options.env, ebuild_version) - - cros_sdk_options = '' - if options.cros_workon: - cros_sdk_options = '--chrome_root={0}'.format(options.cros_workon) - - ret = cmd_executer.ChrootRunCommand( - options.chromeos_root, - emerge_browser_command, - cros_sdk_options=cros_sdk_options) - - logger.GetLogger().LogFatalIf(ret, 'build_packages failed') - - if options.cros_workon and not cros_workon_keep: - command = 'cros_workon --board={0} stop chromeos-chrome'.format( - options.board) - ret = cmd_executer.ChrootRunCommand(options.chromeos_root, command) - # cros_workon failed, not a fatal one, just report it. - if ret: - print('cros_workon stop chromeos-chrome failed.') - - if options.no_build_image: - return ret - - # Finally build the image - ret = cmd_executer.ChrootRunCommand(options.chromeos_root, - '{0} {1} {2} {3}'.format( - unmask_env, options.env, - misc.GetBuildImageCommand( - options.board, dev=options.dev), - options.build_image_args)) - - logger.GetLogger().LogFatalIf(ret, 'build_image failed') - - flags_file_name = 'chrome_flags.txt' - flags_file_path = '{0}/src/build/images/{1}/latest/{2}'.format( - options.chromeos_root, options.board, flags_file_name) - flags_file = open(flags_file_path, 'wb') - flags_file.write('CFLAGS={0}\n'.format(options.cflags)) - flags_file.write('CXXFLAGS={0}\n'.format(options.cxxflags)) - flags_file.write('LDFLAGS={0}\n'.format(options.ldflags)) - flags_file.close() - - if options.label: - image_dir_path = '{0}/src/build/images/{1}/latest'.format( - options.chromeos_root, options.board) - real_image_dir_path = os.path.realpath(image_dir_path) - command = 'ln -sf -T {0} {1}/{2}'.format( - os.path.basename(real_image_dir_path),\ - os.path.dirname(real_image_dir_path),\ - options.label) - - ret = cmd_executer.RunCommand(command) - logger.GetLogger().LogFatalIf( - ret, 'Failed to apply symlink label %s' % options.label) - - return ret - - -if __name__ == '__main__': - retval = Main(sys.argv[1:]) - sys.exit(retval) |