Updated build_chromeos.py to working state.
PRESUBMIT=passed
R=asharif,bjanakiraman
DELTA=133 (91 added, 13 deleted, 29 changed)
OCL=45050-p2
RCL=45052-p2
RDATE=2010/11/05 17:54:50
P4 change: 42605605
diff --git a/v14/build_chromeos.py b/v14/build_chromeos.py
index 747376b..cedcb1d 100755
--- a/v14/build_chromeos.py
+++ b/v14/build_chromeos.py
@@ -15,7 +15,6 @@
import sys
from utils import utils
-
def Usage(parser, message):
print "ERROR: " + message
parser.print_help()
@@ -23,19 +22,19 @@
def ExecuteCommandInChroot(chromeos_root, toolchain_root, command,
- return_output=False):
+ return_output=False, chrome_root=""):
+ chrome_mount = ""
+ if chrome_root:
+ chrome_mount = "--chrome_root=" + chromeos_root + "/" + chrome_root
commands = []
tc_enter_chroot = (os.path.dirname(os.path.abspath(__file__)) +
"/tc-enter-chroot.sh")
- commands.append("%s --chromeos_root=%s --toolchain_root=%s -- %s"
- % (tc_enter_chroot, chromeos_root, toolchain_root, command))
+ commands.append("%s --chromeos_root=%s --toolchain_root=%s %s -- %s"
+ % (tc_enter_chroot, chromeos_root, toolchain_root,
+ chrome_mount, command))
return utils.RunCommands(commands, return_output)
-def StoreFile(filename, contents):
- utils.RunCommand("echo '%s' > %s" % (contents, filename))
-
-
def Main():
"""Build ChromeOS."""
# Common initializations
@@ -80,23 +79,46 @@
if options.clobber_chroot:
clobber_chroot = "--replace"
commands.append("./make_chroot --fast " + clobber_chroot)
- utils.RunCommands(commands)
+ ret = utils.RunCommands(commands)
+ utils.AssertTrue(ret == 0, "make_chroot failed")
# Setup board
force = ""
if options.clobber_board:
force = "--force"
- ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
- "FEATURES=\\\"keepwork noclean\\\" "
- "./setup_board --nousepkg --board=%s "
- "%s"
- % (options.board, force))
+ ret = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
+ "FEATURES=\\\"keepwork noclean\\\" "
+ "./setup_board --nousepkg --board=%s "
+ "%s" % (options.board, force))
+ utils.main_logger.LogError("setup_board failed")
+ #utils.AssertTrue(ret == 0, "setup_board failed")
+
+ # Modify make.conf to add CFLAGS/CXXFLAGS/LDFLAGS
+ commands = []
+ ret1 = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
+ "[ -e /build/%s/etc/make.conf.orig ] || "
+ "sudo mv /build/%s/etc/make.conf "
+ "/build/%s/etc/make.conf.orig"
+ % (options.board, options.board, options.board))
+ makeconf = ("source make.conf.orig\\\n")
+ #"CFLAGS='%s'\\\nCXXFLAGS='%s'\\\nLDFLAGS='%s'\\\n" %
+ #(options.cflags, options.cxxflags, options.ldflags))
+ ret2 = utils.RunCommand("sudo rm -f %s/chroot/build/%s/etc/make.conf ; "
+ "echo -e \"%s\" > /tmp/make.conf; "
+ "sudo cp /tmp/make.conf "
+ "%s/chroot/build/%s/etc/make.conf"
+ % (options.chromeos_root, options.board,
+ makeconf, options.chromeos_root, options.board))
+
+ utils.AssertTrue(ret1 == 0 and ret2 == 0, "Could not modify make.conf")
# Find Chrome browser version
- chrome_version = (ExecuteCommandInChroot
- (options.chromeos_root, options.toolchain_root,
- "./chromeos_version.sh | "
- "grep CHROME_BUILD", True))
+ chrome_version = utils.RunCommand("%s/src/scripts/chromeos_version.sh | "
+ "grep CHROME_BUILD"
+ % options.chromeos_root, True)
+
+ ret = chrome_version[0]
+ utils.AssertTrue(ret == 0, "Could not determine Chrome browser version")
chrome_version = chrome_version[1].strip().split("=")
if len(chrome_version) == 2:
@@ -104,33 +126,29 @@
else:
chrome_version = ""
- # Modify make.conf to add CFLAGS/CXXFLAGS/LDFLAGS
- ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
- "mv /build/%s/etc/make.conf "
- "/build/%s/etc/make.conf.orig"
- % (options.board, options.board))
- makeconf = ("source /build/%s/etc/make.conf.orig\n"
- "/CFLAGS=%s\nCXXFLAGS=%s\nLDFLAGS=%s\n" %
- (options.board, options.cflags,
- options.cxxflags, options.ldflags))
- StoreFile("%s/chroot/build/%s/etc/make.conf" %
- (options.chromeos_root, options.board), makeconf)
-
# Build packages
- ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
- "CHROME_ORIGIN=SERVER_SOURCE CHROME_BUILD=%s "
- "./build_packages --withdev "
- "--board=%s --withtest --withautotest"
- % (chrome_version, options.board))
+ ret = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
+ "FEATURES=-usersandbox "
+ "CHROME_ORIGIN=LOCAL_SOURCE CHROME_VERSION=%s "
+ "./build_packages --withdev "
+ "--board=%s --withtest --withautotest"
+ % (chrome_version, options.board),
+ chrome_root="chrome_browser")
+
+ utils.AssertTrue(ret == 0, "build_packages failed")
# Build image
- ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
- "./build_image --board=%s")
+ ret = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
+ "./build_image --board=%s" % options.board)
+
+ utils.AssertTrue(ret == 0, "build_image failed")
# Mod image for test
- ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
- "./mod_image_for_test --board=%s")
+ ret = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
+ "./mod_image_for_test.sh --board=%s"
+ % options.board)
+ utils.AssertTrue(ret == 0, "mod_image_for_test failed")
if __name__ == "__main__":
Main()