浏览代码

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 <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@google.com>
Nico Weber 4 年之前
父节点
当前提交
6900c00a1a
共有 2 个文件被更改,包括 12 次插入4 次删除
  1. 7 4
      bootstrap/manifest.txt
  2. 5 0
      bootstrap_python3

+ 7 - 4
bootstrap/manifest.txt

@@ -15,13 +15,16 @@
 # the string "cpython3/" and ends with the CIPD tag "version:VERSION".
 # the string "cpython3/" and ends with the CIPD tag "version:VERSION".
 # It uses this to extract 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
 @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
 @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
 @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

+ 5 - 0
bootstrap_python3

@@ -29,6 +29,11 @@ function bootstrap_python3 {
       -root "$BOOTSTRAP_PATH"
       -root "$BOOTSTRAP_PATH"
 
 
   BOOTSTRAP_PYTHON_BIN="${BOOTSTRAP_PATH}/python3/bin/python3"
   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"
   "$BOOTSTRAP_PYTHON_BIN" "bootstrap/bootstrap.py" --bootstrap-name "$BOOTSTRAP_PATH"
 
 
   cd - > /dev/null
   cd - > /dev/null