Some misc fixes to get the workflow working properly.
PRESUBMIT=passed
R=asharif,bjanakiraman
DELTA=25 (18 added, 2 deleted, 5 changed)
OCL=45195-p2
RCL=45197-p2
RDATE=2010/11/12 10:51:59
P4 change: 42605790
diff --git a/v14/setup_chromeos.py b/v14/setup_chromeos.py
index 73d1a7c..4f8f3ac 100755
--- a/v14/setup_chromeos.py
+++ b/v14/setup_chromeos.py
@@ -37,7 +37,7 @@
GIT_TAGS_CMD = ("git ls-remote --tags "
"ssh://git@gitrw.chromium.org:9222/chromiumos-overlay.git | "
"grep refs/tags/ | grep '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' | "
- "cut -d '/' -f 3 | sort -nr")
+ "cut -d '/' -f 3")
def StoreFile(filename, contents):
@@ -56,26 +56,42 @@
return res[1].strip().split("\n")
+def GetLatestTag(tags):
+ latest = tags[0]
+ for tag in tags:
+ current_components = tag.split(".")
+ latest_components = latest.split(".")
+ for i in range(len(current_components)):
+ if int(current_components[i]) > int(latest_components[i]):
+ latest = tag
+ break
+ elif int(current_components[i]) < int(latest_components[i]):
+ break
+
+ return latest
+
+
def Main():
"""Checkout the ChromeOS source."""
parser = optparse.OptionParser()
parser.add_option("--dir", dest="directory",
help="Target directory for ChromeOS installation.")
- parser.add_option("--version", dest="version",
+ parser.add_option("--version", dest="version", default="latest",
help="""ChromeOS version. Can be: (1) A release version
in the format: 'X.X.X.X' (2) 'latest' for the latest release version or (3)
'top' for top of trunk. Default is 'latest'""")
- tags = GetTags()
-
options = parser.parse_args()[0]
+ tags = GetTags()
+
if options.version == "latest":
- version = tags[0]
+ version = GetLatestTag(tags)
print version
elif options.version == "top":
version = "top"
elif options.version is None:
+ print "No version specified"
Usage(parser)
else:
version = options.version.strip()
diff --git a/v14/utils/utils.py b/v14/utils/utils.py
index 2059e08..7b11aa5 100755
--- a/v14/utils/utils.py
+++ b/v14/utils/utils.py
@@ -60,7 +60,7 @@
fds = select.select([p.stdout, p.stderr], [], [], 0.1)
for fd in fds[0]:
if fd == p.stdout:
- out = os.read(p.stdout.fileno(), 4096)
+ out = os.read(p.stdout.fileno(), 1)
if return_output:
full_stdout += out
if self.print_console:
@@ -69,7 +69,7 @@
self.stdout.write(out)
self.stdout.flush()
if fd == p.stderr:
- err = os.read(p.stderr.fileno(), 4096)
+ err = os.read(p.stderr.fileno(), 1)
if return_output:
full_stderr += err
if self.print_console: