aboutsummaryrefslogtreecommitdiff
path: root/build_chromeos.py
diff options
context:
space:
mode:
authorLuis Lozano <llozano@chromium.org>2015-12-15 13:49:30 -0800
committerLuis Lozano <llozano@chromium.org>2015-12-16 17:36:06 +0000
commitf2a3ef46f75d2196a93d3ed27f4d1fcf22b54fbe (patch)
tree185d243c7eed7c7a0db6f0e640746cadc1479ea9 /build_chromeos.py
parent2a66f70fef907c1cb15229cb58e5129cb620ac98 (diff)
downloadtoolchain-utils-f2a3ef46f75d2196a93d3ed27f4d1fcf22b54fbe.tar.gz
Run pyformat on all the toolchain-utils files.
This gets rid of a lot of lint issues. Ran by doing this: for f in *.py; do echo -n "$f " ; if [ -x $f ]; then pyformat -i --remove_trailing_comma --yapf --force_quote_type=double $f ; else pyformat -i --remove_shebang --remove_trailing_comma --yapf --force_quote_type=double $f ; fi ; done BUG=chromium:567921 TEST=Ran simple crosperf run. Change-Id: I59778835fdaa5f706d2e1765924389f9e97433d1 Reviewed-on: https://chrome-internal-review.googlesource.com/242031 Reviewed-by: Luis Lozano <llozano@chromium.org> Commit-Queue: Luis Lozano <llozano@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org> Reviewed-by: Yunlian Jiang <yunlian@google.com>
Diffstat (limited to 'build_chromeos.py')
-rwxr-xr-xbuild_chromeos.py281
1 files changed, 145 insertions, 136 deletions
diff --git a/build_chromeos.py b/build_chromeos.py
index 673f32b3..e4f64268 100755
--- a/build_chromeos.py
+++ b/build_chromeos.py
@@ -1,17 +1,16 @@
#!/usr/bin/python
#
# 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.
"""
-__author__ = ("asharif@google.com (Ahmad Sharif) "
- "llozano@google.com (Luis Lozano) "
- "raymes@google.com (Raymes Khoury) "
- "shenhan@google.com (Han Shen)")
+__author__ = ('asharif@google.com (Ahmad Sharif) '
+ 'llozano@google.com (Luis Lozano) '
+ 'raymes@google.com (Raymes Khoury) '
+ 'shenhan@google.com (Han Shen)')
import optparse
import os
@@ -24,7 +23,7 @@ from utils import misc
def Usage(parser, message):
- print "ERROR: " + message
+ print 'ERROR: ' + message
parser.print_help()
sys.exit(0)
@@ -35,62 +34,85 @@ def Main(argv):
cmd_executer = command_executer.GetCommandExecuter()
parser = optparse.OptionParser()
- parser.add_option("--chromeos_root", dest="chromeos_root",
- help="Target directory for ChromeOS installation.")
- parser.add_option("--clobber_chroot", dest="clobber_chroot",
- action="store_true", help=
- "Delete the chroot and start fresh", default=False)
- parser.add_option("--clobber_board", dest="clobber_board",
- action="store_true",
- help="Delete the board and start fresh", default=False)
- parser.add_option("--rebuild", dest="rebuild",
- action="store_true",
- help="Rebuild all board packages except the toolchain.",
+ parser.add_option('--chromeos_root',
+ dest='chromeos_root',
+ help='Target directory for ChromeOS installation.')
+ parser.add_option('--clobber_chroot',
+ dest='clobber_chroot',
+ action='store_true',
+ help='Delete the chroot and start fresh',
+ default=False)
+ parser.add_option('--clobber_board',
+ dest='clobber_board',
+ action='store_true',
+ help='Delete the board and start fresh',
default=False)
- parser.add_option("--cflags", dest="cflags", default="",
- help="CFLAGS for the ChromeOS packages")
- parser.add_option("--cxxflags", dest="cxxflags", default="",
- help="CXXFLAGS for the ChromeOS packages")
- parser.add_option("--ldflags", dest="ldflags", default="",
- help="LDFLAGS for the ChromeOS packages")
- parser.add_option("--board", dest="board",
- help="ChromeOS target board, e.g. x86-generic")
- parser.add_option("--package", dest="package",
- help="The package needs to be built")
- parser.add_option("--label", dest="label",
- help="Optional label symlink to point to build dir.")
- parser.add_option("--dev", dest="dev", default=False, action="store_true",
- help=("Make the final image in dev mode (eg writable, "
- "more space on image). Defaults to False."))
- parser.add_option("--debug", dest="debug", default=False, action="store_true",
+ parser.add_option('--rebuild',
+ dest='rebuild',
+ action='store_true',
+ help='Rebuild all board packages except the toolchain.',
+ default=False)
+ parser.add_option('--cflags',
+ dest='cflags',
+ default='',
+ help='CFLAGS for the ChromeOS packages')
+ parser.add_option('--cxxflags',
+ dest='cxxflags',
+ default='',
+ help='CXXFLAGS for the ChromeOS packages')
+ parser.add_option('--ldflags',
+ dest='ldflags',
+ default='',
+ help='LDFLAGS for the ChromeOS packages')
+ parser.add_option('--board',
+ dest='board',
+ help='ChromeOS target board, e.g. x86-generic')
+ parser.add_option('--package',
+ dest='package',
+ help='The package needs to be built')
+ parser.add_option('--label',
+ dest='label',
+ help='Optional label symlink to point to build dir.')
+ parser.add_option('--dev',
+ dest='dev',
+ default=False,
+ action='store_true',
+ help=('Make the final image in dev mode (eg writable, '
+ 'more space on image). Defaults to False.'))
+ parser.add_option('--debug',
+ dest='debug',
+ default=False,
+ action='store_true',
help=("Optional. Build chrome browser with \"-g -O0\". "
"Notice, this also turns on \'--dev\'. "
- "Defaults to False."))
- parser.add_option("--env",
- dest="env",
- default="",
- help="Env to pass to build_packages.")
- parser.add_option("--vanilla", dest="vanilla",
+ 'Defaults to False.'))
+ parser.add_option('--env',
+ dest='env',
+ default='',
+ help='Env to pass to build_packages.')
+ parser.add_option('--vanilla',
+ dest='vanilla',
default=False,
- action="store_true",
- help="Use default ChromeOS toolchain.")
- parser.add_option("--vanilla_image", dest="vanilla_image",
+ action='store_true',
+ help='Use default ChromeOS toolchain.')
+ parser.add_option('--vanilla_image',
+ dest='vanilla_image',
default=False,
- action="store_true",
- help=("Use prebuild packages for building the image. "
- "It also implies the --vanilla option is set."))
+ action='store_true',
+ help=('Use prebuild packages for building the image. '
+ 'It also implies the --vanilla option is set.'))
options = parser.parse_args(argv[1:])[0]
if options.chromeos_root is None:
- Usage(parser, "--chromeos_root must be set")
+ Usage(parser, '--chromeos_root must be set')
options.chromeos_root = os.path.expanduser(options.chromeos_root)
scripts_dir = os.path.join(options.chromeos_root, 'src', 'scripts')
if not os.path.isdir(scripts_dir):
- Usage(parser, "--chromeos_root must be set up first. Use setup_chromeos.py")
+ Usage(parser, '--chromeos_root must be set up first. Use setup_chromeos.py')
if options.board is None:
- Usage(parser, "--board must be set")
+ Usage(parser, '--board must be set')
if options.debug:
options.dev = True
@@ -98,12 +120,12 @@ def Main(argv):
build_packages_env = options.env
if build_packages_env.find('EXTRA_BOARD_FLAGS=') != -1:
logger.GetLogger().LogFatal(
- ('Passing "EXTRA_BOARD_FLAGS" in "--env" is not supported. '
- 'This flags is used internally by this script. '
- 'Contact the author for more detail.'))
+ ('Passing "EXTRA_BOARD_FLAGS" in "--env" is not supported. '
+ 'This flags is used internally by this script. '
+ 'Contact the author for more detail.'))
if options.rebuild == True:
- build_packages_env += " EXTRA_BOARD_FLAGS=-e"
+ build_packages_env += ' EXTRA_BOARD_FLAGS=-e'
# EXTRA_BOARD_FLAGS=-e should clean up the object files for the chrome
# browser but it doesn't. So do it here.
misc.RemoveChromeBrowserObjectFiles(options.chromeos_root, options.board)
@@ -111,14 +133,15 @@ def Main(argv):
# Build with afdo_use by default.
# To change the default use --env="USE=-afdo_use".
build_packages_env = misc.MergeEnvStringWithDict(
- build_packages_env,
- {"USE": "chrome_internal afdo_use"})
+ build_packages_env, {'USE': 'chrome_internal afdo_use'})
build_packages_command = misc.GetBuildPackagesCommand(
- board=options.board, usepkg=options.vanilla_image, debug=options.debug)
+ board=options.board,
+ usepkg=options.vanilla_image,
+ debug=options.debug)
if options.package:
- build_packages_command += " {0}".format(options.package)
+ build_packages_command += ' {0}'.format(options.package)
build_image_command = misc.GetBuildImageCommand(options.board, options.dev)
@@ -126,25 +149,25 @@ def Main(argv):
command = misc.GetSetupBoardCommand(options.board,
usepkg=options.vanilla_image,
force=options.clobber_board)
- command += "; " + build_packages_env + " " + build_packages_command
- command += "&& " + build_packages_env + " " + build_image_command
+ command += '; ' + build_packages_env + ' ' + build_packages_command
+ command += '&& ' + build_packages_env + ' ' + build_image_command
ret = cmd_executer.ChrootRunCommand(options.chromeos_root, command)
return ret
# Setup board
- if not os.path.isdir(options.chromeos_root + "/chroot/build/"
- + options.board) or options.clobber_board:
+ if not os.path.isdir(options.chromeos_root + '/chroot/build/' +
+ options.board) or options.clobber_board:
# Run build_tc.py from binary package
rootdir = misc.GetRoot(argv[0])[0]
version_number = misc.GetRoot(rootdir)[1]
- ret = cmd_executer.ChrootRunCommand(
- options.chromeos_root,
- misc.GetSetupBoardCommand(options.board,
- force=options.clobber_board))
- logger.GetLogger().LogFatalIf(ret, "setup_board failed")
+ ret = cmd_executer.ChrootRunCommand(options.chromeos_root,
+ misc.GetSetupBoardCommand(
+ options.board,
+ force=options.clobber_board))
+ logger.GetLogger().LogFatalIf(ret, 'setup_board failed')
else:
- logger.GetLogger().LogOutput("Did not setup_board "
- "because it already exists")
+ logger.GetLogger().LogOutput('Did not setup_board '
+ 'because it already exists')
if options.debug:
# Perform 2-step build_packages to build a debug chrome browser.
@@ -154,57 +177,50 @@ def Main(argv):
# Give warning about "--rebuild" and "--debug". Under this combination,
# only dependencies of "chromeos-chrome" get rebuilt.
logger.GetLogger().LogWarning(
- "\"--rebuild\" does not correctly re-build every package when "
- "\"--debug\" is enabled. ")
+ "\"--rebuild\" does not correctly re-build every package when "
+ "\"--debug\" is enabled. ")
# Replace EXTRA_BOARD_FLAGS=-e with "-e --onlydeps"
build_packages_env = build_packages_env.replace(
- 'EXTRA_BOARD_FLAGS=-e', 'EXTRA_BOARD_FLAGS=\"-e --onlydeps\"')
+ 'EXTRA_BOARD_FLAGS=-e', 'EXTRA_BOARD_FLAGS=\"-e --onlydeps\"')
else:
build_packages_env += ' EXTRA_BOARD_FLAGS=--onlydeps'
ret = cmd_executer.ChrootRunCommand(
- options.chromeos_root,
- "CFLAGS=\"$(portageq-%s envvar CFLAGS) %s\" "
- "CXXFLAGS=\"$(portageq-%s envvar CXXFLAGS) %s\" "
- "LDFLAGS=\"$(portageq-%s envvar LDFLAGS) %s\" "
- "CHROME_ORIGIN=SERVER_SOURCE "
- "%s "
- "%s --skip_chroot_upgrade"
- "chromeos-chrome"
- % (options.board, options.cflags,
- options.board, options.cxxflags,
- options.board, options.ldflags,
- build_packages_env,
- build_packages_command))
+ options.chromeos_root, "CFLAGS=\"$(portageq-%s envvar CFLAGS) %s\" "
+ "CXXFLAGS=\"$(portageq-%s envvar CXXFLAGS) %s\" "
+ "LDFLAGS=\"$(portageq-%s envvar LDFLAGS) %s\" "
+ 'CHROME_ORIGIN=SERVER_SOURCE '
+ '%s '
+ '%s --skip_chroot_upgrade'
+ 'chromeos-chrome' % (options.board, options.cflags, options.board,
+ options.cxxflags, options.board, options.ldflags,
+ build_packages_env, build_packages_command))
logger.GetLogger().LogFatalIf(\
- ret, "build_packages failed while trying to build chromeos-chrome deps.")
+ ret, 'build_packages failed while trying to build chromeos-chrome deps.')
# Secondly, build chromeos-chrome using debug mode.
# Replace '--onlydeps' with '--nodeps'.
if options.rebuild == True:
build_packages_env = build_packages_env.replace(
- 'EXTRA_BOARD_FLAGS=\"-e --onlydeps\"', 'EXTRA_BOARD_FLAGS=--nodeps')
+ 'EXTRA_BOARD_FLAGS=\"-e --onlydeps\"', 'EXTRA_BOARD_FLAGS=--nodeps')
else:
build_packages_env = build_packages_env.replace(
- 'EXTRA_BOARD_FLAGS=--onlydeps', 'EXTRA_BOARD_FLAGS=--nodeps')
+ 'EXTRA_BOARD_FLAGS=--onlydeps', 'EXTRA_BOARD_FLAGS=--nodeps')
ret = cmd_executer.ChrootRunCommand(
- options.chromeos_root,
- "CFLAGS=\"$(portageq-%s envvar CFLAGS) %s\" "
- "CXXFLAGS=\"$(portageq-%s envvar CXXFLAGS) %s\" "
- "LDFLAGS=\"$(portageq-%s envvar LDFLAGS) %s\" "
- "CHROME_ORIGIN=SERVER_SOURCE BUILDTYPE=Debug "
- "%s "
- "%s --skip_chroot_upgrade"
- "chromeos-chrome"
- % (options.board, options.cflags,
- options.board, options.cxxflags,
- options.board, options.ldflags,
- build_packages_env,
- build_packages_command))
+ options.chromeos_root, "CFLAGS=\"$(portageq-%s envvar CFLAGS) %s\" "
+ "CXXFLAGS=\"$(portageq-%s envvar CXXFLAGS) %s\" "
+ "LDFLAGS=\"$(portageq-%s envvar LDFLAGS) %s\" "
+ 'CHROME_ORIGIN=SERVER_SOURCE BUILDTYPE=Debug '
+ '%s '
+ '%s --skip_chroot_upgrade'
+ 'chromeos-chrome' % (options.board, options.cflags, options.board,
+ options.cxxflags, options.board, options.ldflags,
+ build_packages_env, build_packages_command))
logger.GetLogger().LogFatalIf(
- ret, "build_packages failed while trying to build debug chromeos-chrome.")
+ ret,
+ 'build_packages failed while trying to build debug chromeos-chrome.')
# Now, we have built chromeos-chrome and all dependencies.
# Finally, remove '-e' from EXTRA_BOARD_FLAGS,
@@ -215,58 +231,51 @@ def Main(argv):
# Up to now, we have a debug built chromos-chrome browser.
# Fall through to build the rest of the world.
- # Build packages
+ # Build packages
ret = cmd_executer.ChrootRunCommand(
- options.chromeos_root,
- "CFLAGS=\"$(portageq-%s envvar CFLAGS) %s\" "
+ options.chromeos_root, "CFLAGS=\"$(portageq-%s envvar CFLAGS) %s\" "
"CXXFLAGS=\"$(portageq-%s envvar CXXFLAGS) %s\" "
"LDFLAGS=\"$(portageq-%s envvar LDFLAGS) %s\" "
- "CHROME_ORIGIN=SERVER_SOURCE "
- "%s "
- "%s --skip_chroot_upgrade"
- % (options.board, options.cflags,
- options.board, options.cxxflags,
- options.board, options.ldflags,
- build_packages_env,
- build_packages_command))
-
- logger.GetLogger().LogFatalIf(ret, "build_packages failed")
+ 'CHROME_ORIGIN=SERVER_SOURCE '
+ '%s '
+ '%s --skip_chroot_upgrade' % (options.board, options.cflags,
+ options.board, options.cxxflags,
+ options.board, options.ldflags,
+ build_packages_env, build_packages_command))
+
+ logger.GetLogger().LogFatalIf(ret, 'build_packages failed')
if options.package:
return 0
# Build image
- ret = cmd_executer.ChrootRunCommand(options.chromeos_root,
- build_packages_env + " " +
- build_image_command)
-
- logger.GetLogger().LogFatalIf(ret, "build_image failed")
-
- flags_file_name = "flags.txt"
- flags_file_path = ("%s/src/build/images/%s/latest/%s" %
- (options.chromeos_root,
- options.board,
- flags_file_name))
- flags_file = open(flags_file_path, "wb")
- flags_file.write("CFLAGS=%s\n" % options.cflags)
- flags_file.write("CXXFLAGS=%s\n" % options.cxxflags)
- flags_file.write("LDFLAGS=%s\n" % options.ldflags)
+ ret = cmd_executer.ChrootRunCommand(
+ options.chromeos_root, build_packages_env + ' ' + build_image_command)
+
+ logger.GetLogger().LogFatalIf(ret, 'build_image failed')
+
+ flags_file_name = 'flags.txt'
+ flags_file_path = ('%s/src/build/images/%s/latest/%s' %
+ (options.chromeos_root, options.board, flags_file_name))
+ flags_file = open(flags_file_path, 'wb')
+ flags_file.write('CFLAGS=%s\n' % options.cflags)
+ flags_file.write('CXXFLAGS=%s\n' % options.cxxflags)
+ flags_file.write('LDFLAGS=%s\n' % options.ldflags)
flags_file.close()
if options.label:
- image_dir_path = ("%s/src/build/images/%s/latest" %
- (options.chromeos_root,
- options.board))
+ image_dir_path = ('%s/src/build/images/%s/latest' % (options.chromeos_root,
+ options.board))
real_image_dir_path = os.path.realpath(image_dir_path)
- command = ("ln -sf -T %s %s/%s" %
+ command = ('ln -sf -T %s %s/%s' %
(os.path.basename(real_image_dir_path),
- os.path.dirname(real_image_dir_path),
- options.label))
+ os.path.dirname(real_image_dir_path), options.label))
ret = cmd_executer.RunCommand(command)
- logger.GetLogger().LogFatalIf(ret, "Failed to apply symlink label %s" %
+ logger.GetLogger().LogFatalIf(ret, 'Failed to apply symlink label %s' %
options.label)
return ret
-if __name__ == "__main__":
+
+if __name__ == '__main__':
retval = Main(sys.argv)
sys.exit(retval)