Files
chromium_depot_tools/bootstrap_python3
Nico Weber 3a56ba9d9c [mac/arm] pull python3 binary in cipd bootstrap now that it exists
With this, it's possible to run some things without

  export VPYTHON_BYPASS="manually managed python not supported by chrome operations"

on an arm mac, such as `git cl upload` -- this CL was uploaded
from my M1 MBP :)

(Presubmits need py2 which we don't have yet, but with
`--bypass-hooks` it works.)

Bug: 1103326,1184767,1103236
Change-Id: I46f5b880dfd72b8d811d39b43311fdee17ccad3e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2858534
Commit-Queue: Dirk Pranke <dpranke@google.com>
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
2021-04-29 02:09:24 +00:00

36 lines
982 B
Bash

#!/usr/bin/env bash
function bootstrap_python3 {
base_dir=$(dirname "${BASH_SOURCE[0]}")
cd "${base_dir}"
if [ -e ".bleeding_edge" ]; then
CIPD_MANIFEST="bootstrap/manifest_bleeding_edge.txt"
else
CIPD_MANIFEST="bootstrap/manifest.txt"
fi
while IFS= read -r line; do
if [[ $line =~ ^[^#].*cpython3/.*version:(.*)$ ]]; then
PYTHON3_VERSION=${BASH_REMATCH[1]}
PYTHON3_VERSION=${PYTHON3_VERSION//[[:space:]]/}
fi
done < $CIPD_MANIFEST
if [ "X$PYTHON3_VERSION" == "X" ]; then
echo Could not extract Python 3 version from manifest.
return 1
fi
BOOTSTRAP_PATH="bootstrap-${PYTHON3_VERSION}_bin"
# Install CIPD packages. The CIPD client self-bootstraps.
"cipd" ensure -log-level warning -ensure-file "${CIPD_MANIFEST}" \
-root "$BOOTSTRAP_PATH"
BOOTSTRAP_PYTHON_BIN="${BOOTSTRAP_PATH}/python3/bin/python3"
"$BOOTSTRAP_PYTHON_BIN" "bootstrap/bootstrap.py" --bootstrap-name "$BOOTSTRAP_PATH"
cd - > /dev/null
}