Some minor updates to build chrome browser inside the chroot.

PRESUBMIT=passed
R=asharif,bjanakiraman
DELTA=51  (19 added, 4 deleted, 28 changed)
OCL=45085-p2
RCL=45088-p2
RDATE=2010/11/08 11:01:23


P4 change: 42605654
diff --git a/v14/build_chromeos.py b/v14/build_chromeos.py
index cedcb1d..1fbe3ad 100755
--- a/v14/build_chromeos.py
+++ b/v14/build_chromeos.py
@@ -29,7 +29,7 @@
   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 -- %s"
+  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)
@@ -79,8 +79,8 @@
   if options.clobber_chroot:
     clobber_chroot = "--replace"
   commands.append("./make_chroot --fast " + clobber_chroot)
-  ret = utils.RunCommands(commands)
-  utils.AssertTrue(ret == 0, "make_chroot failed")
+#  ret = utils.RunCommands(commands)
+#  utils.AssertTrue(ret == 0, "make_chroot failed")
 
   # Setup board
   force = ""
@@ -90,7 +90,8 @@
                                "FEATURES=\\\"keepwork noclean\\\" "
                                "./setup_board --nousepkg --board=%s "
                                "%s" % (options.board, force))
-  utils.main_logger.LogError("setup_board failed")
+  if ret != 0:
+    utils.main_logger.LogError("setup_board failed")
   #utils.AssertTrue(ret == 0, "setup_board failed")
 
   # Modify make.conf to add CFLAGS/CXXFLAGS/LDFLAGS
@@ -103,13 +104,11 @@
   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))
-
+  ret2 = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
+                                "sudo echo -e \\\"%s\\\" | sudo tee "
+                                "/build/%s/etc/make.conf > /dev/null ;"
+                                % (makeconf, options.board))
+  sys.exit(1)
   utils.AssertTrue(ret1 == 0 and ret2 == 0, "Could not modify make.conf")
 
   # Find Chrome browser version
@@ -128,8 +127,7 @@
 
   # Build packages
   ret = ExecuteCommandInChroot(options.chromeos_root, options.toolchain_root,
-                               "FEATURES=-usersandbox "
-                               "CHROME_ORIGIN=LOCAL_SOURCE CHROME_VERSION=%s "
+                               "CHROME_ORIGIN=SERVER_SOURCE CHROME_VERSION=%s "
                                "./build_packages --withdev "
                                "--board=%s --withtest --withautotest"
                                % (chrome_version, options.board),
diff --git a/v14/setup_chromeos.py b/v14/setup_chromeos.py
index eaddfbc..cd2bf87 100755
--- a/v14/setup_chromeos.py
+++ b/v14/setup_chromeos.py
@@ -90,7 +90,14 @@
 
   directory = options.directory.strip()
 
-  branch = ".".join(version.split(".")[0:-1]) + ".B"
+  if version == "":
+    branch = "master"
+  else:
+    branch = ".".join(version.split(".")[0:-1]) + ".B"
+
+  # Don't checkout chrome sources outside the chroot at the moment.
+  # If we check them out outside, we can't do some things, like build tests.
+  checkout_chrome_outside_chroot = False
 
   commands = []
   commands.append("mkdir -p " + directory)
@@ -108,26 +115,36 @@
   commands.append("./get_svn_repos.sh")
   utils.RunCommands(commands)
 
-  # Find Chrome browser version
-  chrome_version = utils.RunCommand("%s/src/scripts/chromeos_version.sh | "
-                                    "grep CHROME_BUILD" % directory, True)
+  # Setup svn credentials for use inside the chroot
+  utils.RunCommand("svn ls --config-option config:auth:password-stores= "
+                   "--config-option "
+                   "servers:global:store-plaintext-passwords=yes "
+                   "--username $USER@google.com "
+                   "svn://svn.chromium.org/leapfrog-internal "
+                   "svn://svn.chromium.org/chrome "
+                   "svn://svn.chromium.org/chrome-internal > /dev/null")
 
-  chrome_version = chrome_version[1].strip().split("=")
-  if len(chrome_version) == 2:
-    chrome_version = chrome_version[1]
-  else:
-    chrome_version = ""
+  if checkout_chrome_outside_chroot:
+    # Find Chrome browser version
+    chrome_version = utils.RunCommand("%s/src/scripts/chromeos_version.sh | "
+                                      "grep CHROME_BUILD" % directory, True)
 
-  # Checkout chrome
-  utils.RunCommand("mkdir -p %s/chrome_browser/" % directory)
-  gclient_file = GCLIENT_FILE % chrome_version
-  StoreFile(os.path.expanduser("%s/chrome_browser/.gclient"
-                               % directory), gclient_file)
-  commands = []
-  commands.append("cd " + options.directory)
-  commands.append("cd chrome_browser")
-  commands.append("gclient sync -v --nohooks --delete_unversioned_trees")
-  utils.RunCommands(commands)
+    chrome_version = chrome_version[1].strip().split("=")
+    if len(chrome_version) == 2:
+      chrome_version = chrome_version[1]
+    else:
+      chrome_version = ""
+
+    # Checkout chrome
+    utils.RunCommand("mkdir -p %s/chrome_browser/" % directory)
+    gclient_file = GCLIENT_FILE % chrome_version
+    StoreFile(os.path.expanduser("%s/chrome_browser/.gclient"
+                                 % directory), gclient_file)
+    commands = []
+    commands.append("cd " + options.directory)
+    commands.append("cd chrome_browser")
+    commands.append("gclient sync -v --nohooks --delete_unversioned_trees")
+    utils.RunCommands(commands)
 
   print "Done"