chromite: Create chromiumos-sdk-overhaul-testing builder.
This builder builds the SDK and the cross-compilers by using the
last built SDK for bootstrapping. The purpose of this builder
is to eventully replace chromiumos-sdk builder once we believe
that it has been stable enough.
Bootstrapping from latest sdk should fixes many annoying problems:
1. Packages requiring old portage EAPI=5 for portage bootstrap.
2. Packages that fail to build in SDK builder but can be built
without problems in a developer chroot.
3. Should reduce the SDK builder InitSDK stage times since most
packages are already built.
debug is set to True for this builder so that it does not accidentally
uprevs the SDK/upload prebuilts to gs://chromiumos-sdk.
BUG=chromium:861924
TEST=chromite unit tests pass.
Change-Id: I3888682f5e7f5a5089585dc8d910538a0c6f9bd9
Reviewed-on: https://chromium-review.googlesource.com/1427343
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
diff --git a/scripts/cros_sdk.py b/scripts/cros_sdk.py
index df4bfdb..3cb50e1 100644
--- a/scripts/cros_sdk.py
+++ b/scripts/cros_sdk.py
@@ -700,6 +700,9 @@
parser.add_argument('-u', '--url', dest='sdk_url',
help='Use sdk tarball located at this url. Use file:// '
'for local files.')
+ parser.add_argument('--self-bootstrap', dest='self_bootstrap', action='store_true',
+ default=False,
+ help=('Use previously build sdk for bootstrapping.'))
parser.add_argument('--sdk-version',
help=('Use this sdk version. For prebuilt, current is %r'
', for bootstrapping it is %r.'
@@ -816,6 +819,10 @@
_ReportMissing(osutils.FindMissingBinaries(PROXY_NEEDED_TOOLS))
missing_image_tools = osutils.FindMissingBinaries(IMAGE_NEEDED_TOOLS)
+ # Use latest SDK for bootstrapping if requested.
+ if options.self_bootstrap:
+ bootstrap_latest_version = sdk_latest_version
+
if (sdk_latest_version == '<unknown>' or
bootstrap_latest_version == '<unknown>'):
cros_build_lib.Die(
@@ -1039,6 +1046,8 @@
urls = [options.sdk_url]
elif options.bootstrap:
urls = GetStage3Urls(sdk_version)
+ if options.self_bootstrap:
+ urls = GetArchStageTarballs(sdk_version)
else:
urls = GetArchStageTarballs(sdk_version)