Commit Graph

28179 Commits

Author SHA1 Message Date
Chris Sosa
1a4a9665d4 Have upload_prebuilts respect the debug flag.
Chrome PFQ right now is uploading prebuilts which wasn't meant to happen :(

Change-Id: I502a0621a6c9f655e5a3f890dd79e00652925902

BUG=chromium-os:8693
TEST=Ran cbuildbot with --debug

Review URL: http://codereview.chromium.org/5595004
2010-12-03 16:28:33 -08:00
Mandeep Singh Baines
46b5e1d286 cros_workon_make: actually inplace when doing an install
Also, fixed to honour external FEATURES for the install case.

BUG=n0ne
TEST=Built a kernel with this CL.

Change-Id: I17d50cc382b297766761f12d47a555630fedc016

Review URL: http://codereview.chromium.org/5530004
2010-12-03 16:18:30 -08:00
Chris Sosa
4f09b96e70 Use release candidates as a backup in case we fail to find the latest release.
Change-Id: Ia94f1c983aec533fc2813f9c300266d394b8ee7c

BUG=chromium-os:9946
TEST=Ran ctest and saw through the download and start of the test harness

Review URL: http://codereview.chromium.org/5628002
2010-12-02 20:07:48 -08:00
Don Garrett
969a673045 Add testPartialUpdate, testCorruptedUpdate.
Add two new tests that test update-engine handling of a corrupted image,
or a truncated image.

BUG=chromium-os:9502
TEST=Ran against Dell L13, Mario

Review URL: http://codereview.chromium.org/5373008

Change-Id: Ie1043004f01131ea837798c06327c486e1901c15
2010-12-02 17:54:40 -08:00
Chris Sosa
55430beaef Add ability to push to subset of overlays we rev.
We also fix some of the configs for existing configurations.

Change-Id: I34baa9664ff9e91268c8bac976ab2ab0aee51bfb

BUG=chromium-os:9714
TEST=Running now with cbuildbot x86-generic-pre-flight-queue.

Review URL: http://codereview.chromium.org/5531002
2010-12-02 15:49:00 -08:00
David James
59a6600edd Update scripts to avoid using deprecated --test_case syntax.
TEST=Used cbuildbot.py to run tests
BUG=chromium-os:9893

Change-Id: I3c3856fee6fa09c4e2c829f3c8f23d098b4b6bb5

Review URL: http://codereview.chromium.org/5555003
2010-12-02 13:54:48 -08:00
Mandeep Singh Baines
a63cd2d648 Create a new command update_kernel.sh
This command can be used to update the kernel of a ChromiumOS target.

Much thanks to snanda for the inspiration and instructions.

BUG=9864
TEST=Verified that it works.

Change-Id: I66f7d940e0dc59b0e1a50409a7155fe0ba7157fe

Review URL: http://codereview.chromium.org/5550001
2010-12-02 11:58:26 -08:00
David James
c15b609efa Fix handling of array arguments in chromite cros_build_lib.
Change-Id: Ibc8d603708bb239a125d0c642deecdc3a171ca63

BUG=chromium-os:9759
TEST=cros_build_lib.RunCommand(['ls', '-l'])

Review URL: http://codereview.chromium.org/5347008
2010-12-02 10:21:49 -08:00
David Rochberg
3b9107014b restart_in_chroot_if_needed can run scripts from bin/. cros_workon_now does this
BUG=chromium-os:9877
TEST=ran bin/cros_workon_now, cros_workon, set_shared_user_password

Note---this introduces another bashism to common.sh.  However, despite
comments to the contrary, common.sh does not actually parse under dash
without this change

Change-Id: I1e6b9751afa8341c100f3b8e0b96284835a53d17

Review URL: http://codereview.chromium.org/5444002
2010-12-02 10:45:21 -05:00
David James
a8ae0bc63b Update prebuilt.py to set permissions correctly on created Packages file.
Since the local Packages file is a temporary file, other users won't have
permissions to read it. rsync copies those permissions over to the remote
server. To ensure remote server has the right permissions, we need to use
chmod a+r on either the local file or the remote file. In this case, I chose
to run rsync on the remote file.

TEST=rsync -av --chmod=a+r foo bar and verify permissions are added to bar.
BUG=chromium-os:5311

Change-Id: Iee4c8df00b36b9f9434546603195ea1906b289f1

Review URL: http://codereview.chromium.org/5501001
2010-12-01 13:43:48 -08:00
Dave Parker
7efdebf35f Added support for boards with only private overlays. (crosutils)
If a board has a public overlay it will be used as the primary overlay. However, with this change, if a board only has a private overlay it will be used as the primary.

BUG=7339
TEST=Ran setup_board, build_packages, and build_image on a board with only a private overlay (locally created). Ran setup_board, build_packages, and build_image on a board with both public and private overlays.

Change-Id: Ic56e4951272ddb80511a213e3a2e54419267a49a

Related Issues:
http://codereview.chromium.org/3544009
http://codereview.chromium.org/3571015

Review URL: http://codereview.chromium.org/3622003
2010-12-01 11:34:32 -08:00
David James
2df2dd5d23 Remove more broken urlparse.urljoin examples.
urlparse.urljoin('scheme:foo/bar/', 'baz') == 'baz', so it doesn't work the
way I expected. Instead, let's use regular string joins.

BUG=chromium-os:5311
TEST=Examine example Packages file.

Review URL: http://codereview.chromium.org/5414001

Change-Id: I1d81dd7a3a79ca6c1f0750993535d3b66696ec23
2010-11-30 19:06:30 -08:00
David Hendricks
6edcc4d952 Copy recovery kernel to syslinux path only on x86.
This is intended to fix a build error seen on ARM platforms where
the path "$esp_mnt/syslinux" does not exist.

Change-Id: I0b9e2d1fae376a7137d7e196901fbea4f2e796bc

BUG=http://code.google.com/p/chromium-os/issues/detail?id=9713
TEST=Not tested.

Review URL: http://codereview.chromium.org/5404001
2010-11-30 17:21:39 -08:00
David James
adcb314d9f Treat packages with missing SHA1 as not duplicated.
TBR=Needed to fix preflight build.
BUG=chromium-os:5311
TEST=Remove SHA1 from one of the packages in the Packages file, make sure
     that prebuilt.py treats that as a duplicated package. Also run new
     unit tests. Also ran buildbot.py

Change-Id: Ie35a7c818fd659bcc2296605ace850aee2a88448

Review URL: http://codereview.chromium.org/5370005
2010-11-30 15:34:20 -08:00
David James
74f0f17ad8 Use regular string ops, instead of urlparse.urljoin.
urlparse.urljoin('scheme:foo/bar/', 'baz') == 'baz', so it doesn't work the
way I expected. Instead, let's use regular string joins.

BUG=chromium-os:5311
TEST=Ran buildbot in test mode.

Change-Id: Iea4205573db602e0cc20af24a77d255d17e79221

Review URL: http://codereview.chromium.org/5357012
2010-11-30 13:56:52 -08:00
David James
ff07201a8c Turn on --fast on official builds.
The --fast support for build_packages is stable now, and should significantly
improve the speed of our official builders. We should turn it on so that
builders can finish their builds in less than 8 hours.

BUG=chromium-os:6706
TEST=Run ./enter_chroot.sh --official_build and verify that --fast is on by
     default now

Change-Id: I6ad126b9b6ce16ffc9887a7af22c2e3f85afbf42

Review URL: http://codereview.chromium.org/3418001
2010-11-30 13:22:05 -08:00
David James
63c51c4d3c Update cbuildbot.py and prebuilt.py to deduplicate preflight prebuilts.
Preflight prebuilts reference the last full build, so they should always be complete as long as the last full build is still there.

Also add host prebuilts to the preflight prebuilts.

BUG=chromium-os:5311
TEST=Run unit tests for cbuildbot and prebuilt.py. Test runs of cbuildbot.py with --dryrun.

Review URL: http://codereview.chromium.org/5344002

Change-Id: Id95f94c02cc2f6cbd70a029d4f8b94617b7cc071
2010-11-30 11:45:11 -08:00
David James
c509a906da Update cbuildbot.py to upload prebuilts from preflight buildbot.
This change updates cbuildbot.py to upload prebuilts and reference them via PREFLIGHT_BINHOST.

Also ensure make.conf ends in a newline, as it looks nicer.

BUG=chromium-os:5311
TEST=Test that prebuilt.py updates PREFLIGHT_BINHOST in right make.conf
     file. Test that cbuildbot.py runs prebuilt.py with right
     arguments. Run unit tests for cbuildbot and prebuilt.py. Test runs of cbuildbot.py with --dryrun. Test upload of Packages file to local web server and check that emerge works with them.

Change-Id: Iad03c6c469e05b9ee1cceff69cbe2bdd51225e25

Review URL: http://codereview.chromium.org/4969003
2010-11-30 11:36:57 -08:00
Tom Wai-Hong Tam
fb5ce169ee For the boards already have DB directories, remove the default DB.
The default DB is an all-pass DB. If no DB found, the hardware_Components test
falls back to the all-pass one and skip the real check. In order to prevent
skipping the check, remove the default DB in the boards already have DB
directories.

TEST=run "image_to_usb.sh --factory" and check the default DB removed
BUG=chrome-os-partner:1737

Change-Id: Ia25f2551a5eba3a95fe736e86bfe52c340f329a8

Review URL: http://codereview.chromium.org/5339011
2010-11-30 11:22:50 +08:00
Eric Li
53698c3865 Remove unused autotest scripts.
Change-Id: Ia627995d235732602c34494f11aa6ae7058209c3

BUG=9291
TEST=None

Review URL: http://codereview.chromium.org/5278013
2010-11-29 16:35:47 -08:00
Chris Masone
330375f692 [crosutils] Add confirmation warning to cros_workon_make --scrub
BUG=9717
TEST=run cros_workon_make --scrub and ensure that it only scrubs if the user types y or yes (case insensitive)

Change-Id: Ic1f8020fcca8bd57924391fcbf075d3e2adc5e4a

Review URL: http://codereview.chromium.org/5265009
2010-11-29 15:06:53 -08:00
Eric Li
6fbd3d123c Refactor run_remote_tests script.
What I did:
1. enter_chroot once and only once if necessary. The previous version would enter/exit chroot 3 times in worst case. And the entire logic happens inside chroot only, this has greatly simplified the overall workflow, and reduced the number of variables used. Shell script variables could be tricky.

2. Change variable type to test_type since type is a bash builtin.

3. get rid of {$TMP}/run_test.sh script, since it is not necessary any more.

4. get rid of rsync step from third_party/autotest/files to ${BUILD_DIR}, since it is not neccessary either.

overall, reduced ~40 lines of code.

All the change should be transparent to end users and there should be no regression changes at all.

w/wo emerge autotest
w/wo cros_workon
in/outside of chroot.

and all its combinations.

Change-Id: I9c1532e9cb6cc0e724d4b6d870723df3e2a147ec

BUG=9291
TEST=Run storageFio test since it need prebuild test and deps.

Review URL: http://codereview.chromium.org/5176009
2010-11-29 14:13:15 -08:00
Don Garrett
cd33866c89 Add RunCommandCaptureOutput as a helper method.
It's like RunCommand, but you can run the command, capture it's error code and output together.

This is to support tests that need to capture output of image_to_live, and to know if it succeeded.

Change-Id: If674b6d79697c0f0b5c96be9fc83adbed9b9893e

BUG=chromium-os:9502
TEST=Ran by hand

Review URL: http://codereview.chromium.org/5339006
2010-11-29 13:30:42 -08:00
Scott Zawalski
4b6485133f Merge branch 'master' of ssh://gitrw.chromium.org:9222/crosutils 2010-11-29 13:21:09 -08:00
Chris Masone
5c5a95e865 [crosutils] Add script to help build incrementally
cros_workon_make provides a make-style interface to incrementally building
    cros_workon-enabled packages, appropriately setting up the toolchain for
    the target board beforehand.

    To incrementally build your package:
      cros_workon_make --board <board> <package>

    To re-run your package's configure steps and compile:
      cros_workon_make --board <board> <package> --reconf

    To incrementally build your package and tests, and run the tests:
      cros_workon_make --board <board> <package> --tests

    To incrementally build and install your package:
      cros_workon_make --board <board> <package> --install

    To remove ALL files in your package repo not known by git:
      cros_workon_make --board <board> <package> --scrub

    With the exception of --scrub, these flags all compose

BUG=6843
TEST=build workon packages in place

Change-Id: Ie219074127549e1e29adad6d6a03142ab74e0172

Review URL: http://codereview.chromium.org/5244001
2010-11-29 12:49:10 -08:00
Chris Sosa
564373521e Reconfigure to use ssh connection rather than use different manifest.
This also removes the rw_checkout var as it's not longer changes the affect of whether we use the ssh url or not.

Note that this replaces the other CL from last night because the other CL didn't work.  The other CL still pulled in the same manifest that has http: url's for each git repo.  I reverted that change last night after I noticed this.

Change-Id: I3d4ad2be6887ac2cf4ed2009bad9cae6dfdf5bbf

BUG=chromium-os:9509
TEST=Ran with cbuildbot --clobber and incremental

Review URL: http://codereview.chromium.org/5278010
2010-11-29 10:42:49 -08:00
repo sync
bce3668d75 Revert "Copying au-generator.zip file to the image directory"
This reverts commit a8107a22d6.

TEST=none
BUG=http://code.google.com/p/chromium-os/issues/detail?id=9639

Change-Id: I45c41dc6a3ffc22363bd9775c335fa87c0aa5174

TBR=
2010-11-24 15:00:43 -08:00
Chris Sosa
c58667b8c4 This CL adds the ability to Rev and Build Chrome using cros_mark_chrome_as_stable.
Other things:
Removing commit|clean|push command from cros_mark_chrome because it's unnecessary ... I'm just gonna use the same stabilizing branch as the other stable marker, so I can use the same clean / push from the other script.  This makes this change fit in much more nicely to cbuildbot.

Other changes:
Add ability for cros_mark_chrome_as_stable to communicate to calling script through stdout.
Make STABLE_BRANCH in cros_mark_as_stable public for above reason.
Removed push_options from cros_mark and accompanying change to cbuildbot as it isn't used anymore.
Made it easier to debug with cbuildbot (I ran cbuildbot A LOT of times to test this change so I felt the pain)...this includes:
  - only build when syncing
  - allow one to explicitly disable tests
  - use dryrun is options.debug is set

Change-Id: I413a2e81a99cdde2e4d9139561cd518245b9b346

BUG=chromium-os:8693
TEST=Ran cbuildbot with --notest --debug --nosync x86-pre-flight and
saw it go through correctly and dryrun push.  Ran cbuildbot with same and --chrome_rev=tot.  Ran with syncing and running tests too.

Review URL: http://codereview.chromium.org/5154008
2010-11-24 13:18:39 -08:00
Gaurav Shah
d02793a5d7 cros_make_image_bootable: Do a final sanity check on the rootfs by running e2fsck
This is a complement to the proposed fix for http://crosbug.com/9447, and I am getting it out first since it is a relatively simple change.

This change ensures that the rootfs on the image output by cros_make_image_bootable wasn't corrupted accidentally (for example, no boot.desc was provided and the defaults were incorrect for the image). This should catch rootfs errors that we end up discovering at delta AU time.

BUG=chromium-os:9578
TEST= Ran cros_make_image_bootable manually on an existing image with and without boot.desc. As expected, without boot.desc the output image rootfs had errors.

Also ran ./build_image - which worked fine too.

Change-Id: I4ed3a56634f37ab7d5ff2dc052ad607740356a40

Review URL: http://codereview.chromium.org/5216003
2010-11-24 12:48:14 -08:00
Kenneth Waters
b2d2212bb9 mod_for_factory: Fix factory images for tegra2
- Conditionally patch chrontel.conf
- Add a patch for nvrm to start on factory, so that X can start.

BUG=crosbug.com/p/1721
TEST=Built and run factory image for tegra2_seaboard

Change-Id: Ied87b6d959f940ef8e99e124ab419fdeea48aa26

Review URL: http://codereview.chromium.org/5126005
2010-11-24 12:29:40 -08:00
Raja Aluri
a8107a22d6 Copying au-generator.zip file to the image directory
Change-Id: Id4ed6af96e0b621f4ad36966fad45c887b991373

BUG=4015
TEST=Ran archiv_build.sh with the build_bot flow

Review URL: http://codereview.chromium.org/5305006
2010-11-24 11:22:55 -08:00
Thieu Le
ac13647eda Change _ArchiveTestResults to upload to Google Storage
BUG=chromium-os:8364
TEST=

Change-Id: Icecc8268fa2c12c8413caa2879785f00e4be5a0a

Review URL: http://codereview.chromium.org/4864001
2010-11-24 10:42:32 -08:00
Chris Sosa
444e3a6de0 Revert "Change url of manifest to use ssh one as opposed to mirrored repo."
This reverts commit 4847031faa.

TBR=Required for pushes to work.

Change-Id: I4f07407e518045ea77fa61942af58f57e68b5f8f
2010-11-24 00:54:48 -08:00
Nick Sanders
1c4026c7a7 Fix factory patching
BUG=7535
TEST=build factory, no errors, verify patches.

Change-Id: I480633cc7a0824cd2dfab82acd6a82f952cd7daf

Review URL: http://codereview.chromium.org/5332004
2010-11-23 22:03:25 -08:00
Scott Zawalski
323b95efd9 Created branch 0.9.128.B. Update CHROMEOS_VERSION_BRANCH=129
Change-Id: Idf83937b607ee1b61071b99976c1f337db47f69b
2010-11-23 18:58:45 -08:00
Nick Sanders
7f5e4b2d30 Fix typo
BUG=chrome-os-partner:1583
TEST=no

Change-Id: Iac591be8ce3ef1d8594a959f68f6cb7f114af2e4

Review URL: http://codereview.chromium.org/5314005
2010-11-23 16:30:17 -08:00
Chris Sosa
4847031faa Change url of manifest to use ssh one as opposed to mirrored repo.
Change-Id: I680e28bcafbfeb4f19e2404e2b28761e26111f7f

BUG=chromium-os:9509
TEST=Ran cbuildbot on my local builder checkout with both clobber and without.
It sync'd and built.

Review URL: http://codereview.chromium.org/5312002
2010-11-23 16:29:01 -08:00
Simon Glass
d73ec0e2a8 cros_image_to_target handles test images, less verbose
added --test option
removed superfluous output (e.g. from dd) unless --verbose given
added --debug option for when you really want that output
added use of pv for a nice progress bar

TEST=(run script several times)
BUG=chromium-os:9563

Change-Id: Ib9d89ad5649b6cb6d5db35f66f6a3fda1ada0c53

Review URL: http://codereview.chromium.org/5176002
2010-11-23 15:30:50 -08:00
Scott Zawalski
04e216d305 Created branch 0.9.126.B. Update CHROMEOS_VERSION_BRANCH=127
Change-Id: I4bedd5925ad3f94fc0799c2ff2187f0cc717b12f
2010-11-22 22:47:36 -08:00
J. Richard Barnette
23de818c2c Various minor bootperf improvements
Change-Id: I791fa01fcd2feb0c7b4c7e3d63cebc88d896c8ac

BUG=chromium-os:9459
BUG=chromium-os:9460
TEST=run the script, and check results with showbootdata or by manually inspecting the output directory
TEST=run "bootperf invalid-hostname", and see that the error message is useful

Review URL: http://codereview.chromium.org/5156008
2010-11-22 17:22:48 -08:00
Chris Sosa
98e73f154e Ignore packages that cannot be found for the target.
Change-Id: I1b08fe7fe292605543579af0df358cb2fcbf0b97

BUG=
TEST=Ran it with dev-utils/crosutils

Review URL: http://codereview.chromium.org/5281001
2010-11-22 14:36:41 -08:00
Chris Sosa
e4836188a8 Add ability for cbuildbot to only run unit tests for revved packages.
Change-Id: I6744aac09fb075f91f710f16343fab45b8dc8af9

BUG=chromium-os:7283
TEST=Ran it with cbuildbot through the unit tests phase and looked
at the file and saw it get parsed correctly.

Review URL: http://codereview.chromium.org/5124006
2010-11-22 13:44:51 -08:00
Darin Petkov
d9360f12c3 unit tests: no need to black list AU's unit tests any more
This will also make it so that AU's unit tests run on buildbot.

BUG=9435
TEST=new chroot, build_packages, ./cros_run_unit_tests

Change-Id: I4dbbcf1db4c1b1f3634202261b08b8f10a9a0ac6

Review URL: http://codereview.chromium.org/5145008
2010-11-22 09:50:59 -08:00
David McMahon
276887f7ba Created branch 0.9.124.B. Update CHROMEOS_VERSION_BRANCH=125
Change-Id: Iff8911cdde1eabaa4c3f3865b71ecd11b7696b63
2010-11-19 21:58:41 -08:00
Chris Sosa
ed210b40ff Add new chrome revving module to crosutils.
Have subsequent review for cbuildbot that calls this for the pfq.

This module  has 3 modes ... TOT, latest_release, sticky_release that describe the three different types of revs for chrome we will be supporting.

For tot, we grab the latest svn revision # from the chrome src tree, and rev to the corresponding ebuild i.e. 9.0.553.0_alpha-r1 with CROS_SVN_COMMIT=svn revision number.

For latest_release, we grab the latest release from the releases page, and create an ebuild (or rev a previously existing on with same version) and use the release candidate suffix _rc.

For sticky_release, we use much of the same logic as latest_release, however, we specifically look to rev _rc's in the sticky branch.

This change depends on http://codereview.chromium.org/5172003 for the cros_mark_as_stable changes.

Change-Id: Idc1f4cd905cc1dcb4c44422f6104760077a24b8d

BUG=chromium-os:8693
TEST=Ran cros_mark_as_stable with --packages="chromeos-base/chromeos-chrome" --chrome_version=0.8.65.0 --chrome_revision=67890 commit.  Re-ran unit-tests as well (though thinking about adding another unit test for chrome revving)

Review URL: http://codereview.chromium.org/4798001
2010-11-19 14:01:11 -08:00
Eric Li
6f209d1333 Remove the dependency to autotest_run.sh so I can get rid of it in next CL.
Change-Id: Ieaa2553612aefd6161785185350d495cbf0dad81

BUG=9291
TEST=Run storageFio test since it need prebuild test and deps.

w/wo emerge autotest
w/wo cros_workon
in/outside of chroot.
w/wo --used_emerged
w/wo --results_dir_root

and all its combinations.

Review URL: http://codereview.chromium.org/5212003
2010-11-19 10:43:47 -08:00
Chris Sosa
3e689730e4 The major change is refactoring to make functions more accessible for other modules.
Besides changing a lot of _ to not _, I added lots of docstrings, moved things around,
factored out the Marking component of the EBuildStableMarker (for use with other CL),
and fixed the version logic.

The versioning logic was too hacktastic.  So I took a note from David's changes to
take the information from pkgsplit rather than doing the ugly parsing I was doing before.
This is much more robust in the case of no _r*'s and _rc or _alpha*, etc.

This CL also adds the ability to test Push changes in 2 ways.  One using --dryrun which allows someone to call it by not actually push to the remote server and two, a unit test for the Push method.

Used in http://codereview.chromium.org/4798001/

BUG=chromiumos:8693
TEST=Ran unit tests and chrome mark as stable.  Will run some more tests.

Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=be485ce

Review URL: http://codereview.chromium.org/5172003

Change-Id: I6d1231c6f46d8cc2e5fb57d04f2d3417cfbfb4f8
2010-11-19 07:29:10 -08:00
David McMahon
f2d6e3581a Created branch 0.9.122.B. Update CHROMEOS_VERSION_BRANCH=123
Change-Id: I79df96994610de742e10c84cdc183c49a09a346b
2010-11-18 23:19:51 -08:00
Chris Sosa
c8d611583a Revert "The major change is refactoring to make functions more accessible for other modules."
This reverts commit be485ced43.

TBR=

Change-Id: I43d753d7e5171bba81ee39fab81a7b831b4711ae
2010-11-18 18:10:51 -08:00
Chris Sosa
be485ced43 The major change is refactoring to make functions more accessible for other modules.
Besides changing a lot of _ to not _, I added lots of docstrings, moved things around,
factored out the Marking component of the EBuildStableMarker (for use with other CL),
and fixed the version logic.

The versioning logic was too hacktastic.  So I took a note from David's changes to
take the information from pkgsplit rather than doing the ugly parsing I was doing before.
This is much more robust in the case of no _r*'s and _rc or _alpha*, etc.

This CL also adds the ability to test Push changes in 2 ways.  One using --dryrun which allows someone to call it by not actually push to the remote server and two, a unit test for the Push method.

Used in http://codereview.chromium.org/4798001/

BUG=chromiumos:8693
TEST=Ran unit tests and chrome mark as stable.  Will run some more tests.

Review URL: http://codereview.chromium.org/5172003

Change-Id: I4319dcd3a4235474ecfd61c680a5242bab5bd00b
2010-11-18 17:33:07 -08:00