From 6900c00a1a17d20e8667988d6a57abaabcc32971 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Tue, 6 Apr 2021 21:00:40 +0000 Subject: [PATCH] depot_tools bootstrap: Don't try to pull non-existent binaries on mac/arm64 With this, `gclient` completes bootstrap after running echo "mac-arm64" > .cipd_client_platform as long as you also run export VPYTHON_BYPASS="manually managed python not supported by chrome operations" Things work enough that you can `fetch chromium`. You can then build all of chrome (if you want to build all tests, you also need to `echo "mac-arm64" > third_party/depot_tools/.cipd_client_platform` in your chromium checkout). Parts of depot_tools that actually need the env managed by vpython, such as `git cl`, don't work. So you can't `git cl upload` for now. Bug: 1184768,1103326,1184766,1184765,1103236 Change-Id: Ib559c35e9665b826db9841dd8a4fe0dea16f37ec Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2807956 Auto-Submit: Nico Weber Reviewed-by: Dirk Pranke Reviewed-by: Vadim Shtayura Commit-Queue: Dirk Pranke --- bootstrap/manifest.txt | 11 +++++++---- bootstrap_python3 | 5 +++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bootstrap/manifest.txt b/bootstrap/manifest.txt index 7b0f8b2f56..28bca33c11 100644 --- a/bootstrap/manifest.txt +++ b/bootstrap/manifest.txt @@ -15,13 +15,16 @@ # the string "cpython3/" and ends with the CIPD tag "version:VERSION". # It uses this to extract VERSION. -$VerifiedPlatform windows-386 windows-amd64 linux-amd64 mac-amd64 +$VerifiedPlatform windows-amd64 linux-amd64 mac-amd64 +# TODO(https://crbug.com/1184768): Remove `=amd64` once mac/arm64 python exists @Subdir python -infra/3pp/tools/cpython/${platform} version:2.7.17.chromium.22 +infra/3pp/tools/cpython/${os}-${arch=amd64} version:2.7.17.chromium.22 +# TODO(https://crbug.com/1103326): Remove `=amd64` once mac/arm64 python3 exists @Subdir python3 -infra/3pp/tools/cpython3/${os}-${arch} version:3.8.0.chromium.8 +infra/3pp/tools/cpython3/${os}-${arch=amd64} version:3.8.0.chromium.8 +# TODO(https://crbug.com/1184766): Remove `=amd64` once mac/arm64 git exists @Subdir git -infra/3pp/tools/git/${os}-${arch} version:2@2.30.2.chromium.6 +infra/3pp/tools/git/${os}-${arch=amd64} version:2@2.30.2.chromium.6 diff --git a/bootstrap_python3 b/bootstrap_python3 index 96110dee56..341c0e52e7 100644 --- a/bootstrap_python3 +++ b/bootstrap_python3 @@ -29,6 +29,11 @@ function bootstrap_python3 { -root "$BOOTSTRAP_PATH" BOOTSTRAP_PYTHON_BIN="${BOOTSTRAP_PATH}/python3/bin/python3" + if [[ ! -x "$BOOTSTRAP_PYTHON_BIN" && $(uname -sm) == "Darwin arm64" ]]; then + # There's no CIPD python3 package on mac/arm64. fall back to system python3. + # TODO(https://crbug.com/1103326): Remove once mac/arm64 python3 exists. + BOOTSTRAP_PYTHON_BIN=python3 + fi "$BOOTSTRAP_PYTHON_BIN" "bootstrap/bootstrap.py" --bootstrap-name "$BOOTSTRAP_PATH" cd - > /dev/null