Fixed numerous issues/bugs related to nightly client. It should be more robust and faster now.

PRESUBMIT=passed
R=bjanakiraman,raymes
DELTA=126  (36 added, 41 deleted, 49 changed)
OCL=45744-p2
RCL=45766-p2
RDATE=2010/12/10 13:06:58


P4 change: 42607162
diff --git a/v14/build_tc.py b/v14/build_tc.py
index 46b5330..5eb16cd 100755
--- a/v14/build_tc.py
+++ b/v14/build_tc.py
@@ -62,7 +62,8 @@
 
   options = parser.parse_args(argv)[0]
 
-  if options.toolchain_root is None or options.board is None:
+  if (options.clean == False and 
+      (options.toolchain_root is None or options.board is None)):
     parser.print_help()
     sys.exit()
 
@@ -109,9 +110,10 @@
   if options.binary == True:
     # FIXME(asharif): This should be using --usepkg but that was not working.
     portage_flags = "--usepkgonly"
+    tc_enter_chroot_options.append("-s")
 
   f = open(options.chromeos_root + "/src/overlays/overlay-" +
-           options.board + "/toolchain.conf", "r")
+           options.board.split("_")[0] + "/toolchain.conf", "r")
   target = f.read()
   f.close()
   target = target.strip()
@@ -191,11 +193,6 @@
   kernel_version = "2.6.30-r1"
 
   rootdir = utils.GetRoot(sys.argv[0])[0]
-  argv = [rootdir + "/tc_enter_chroot.py",
-          "--chromeos_root=" + chromeos_root,
-          "--toolchain_root=" + toolchain_root]
-  argv += tc_enter_chroot_options
-
   env += " "
 
   if uninstall == True:
@@ -207,8 +204,8 @@
 
   if uninstall == True:
     command += " crossdev " + tflag + target
-    argv.append(command)
-    retval = tc_enter_chroot.Main(argv)
+    enter_chroot = chromeos_root + "/src/scripts/enter_chroot.sh"
+    retval = cmd_executer.RunCommand(enter_chroot + command)
     return retval
 
   if incremental_component == "binutils":
@@ -229,6 +226,11 @@
                 " --kernel " + kernel_version +
                 crossdev_flags)
 
+  argv = [rootdir + "/tc_enter_chroot.py",
+          "--chromeos_root=" + chromeos_root,
+          "--toolchain_root=" + toolchain_root]
+  argv += tc_enter_chroot_options
+
   argv.append(command)
   retval = tc_enter_chroot.Main(argv)
   return retval