You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
976 B
Plaintext
36 lines
976 B
Plaintext
6 years ago
|
#!/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
|
||
|
}
|