cros_sdk: Allow using a Frozen SDK for bootstrapping.
This makes the SDK builder use a fixed/frozen known
good version of a SDK when bootstrapping using a previously
built Chromium OS SDK.
BUG=chromium:861924
TEST=chromite unit tests pass.
Change-Id: Id0f2bbb8440a6edbc78b589f3330a4f86e9686d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1611012
Tested-by: Manoj Gupta <manojgupta@chromium.org>
Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
diff --git a/scripts/cros_sdk.py b/scripts/cros_sdk.py
index d80e9e2..3234547 100644
--- a/scripts/cros_sdk.py
+++ b/scripts/cros_sdk.py
@@ -862,6 +862,7 @@
ignore_missing=True)
sdk_latest_version = conf.get('SDK_LATEST_VERSION', '<unknown>')
bootstrap_latest_version = conf.get('BOOTSTRAP_LATEST_VERSION', '<unknown>')
+ bootstrap_frozen_version = conf.get('BOOTSTRAP_FROZEN_VERSION', '<unknown>')
parser, commands = _CreateParser(sdk_latest_version, bootstrap_latest_version)
options = parser.parse_args(argv)
chroot_command = options.commands
@@ -880,9 +881,12 @@
_ReportMissing(osutils.FindMissingBinaries(PROXY_NEEDED_TOOLS))
missing_image_tools = osutils.FindMissingBinaries(IMAGE_NEEDED_TOOLS)
- # Use latest SDK for bootstrapping if requested.
+ # Use latest SDK for bootstrapping if requested. Use a frozen version of SDK
+ # for bootstrapping if BOOTSTRAP_FROZEN_VERSION is set.
if options.self_bootstrap:
- bootstrap_latest_version = sdk_latest_version
+ bootstrap_latest_version = (
+ sdk_latest_version if bootstrap_frozen_version == '<unknown>' else
+ bootstrap_frozen_version)
if (sdk_latest_version == '<unknown>' or
bootstrap_latest_version == '<unknown>'):