Edward Lemur | 2499525 | 2019-09-18 18:31:07 +0000 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | function bootstrap_python3 { |
| 4 | base_dir=$(dirname "${BASH_SOURCE[0]}") |
| 5 | |
John Stiles | 11f4a84 | 2020-03-30 17:28:53 +0000 | [diff] [blame] | 6 | cd "${base_dir}" |
Edward Lemur | 2499525 | 2019-09-18 18:31:07 +0000 | [diff] [blame] | 7 | |
| 8 | if [ -e ".bleeding_edge" ]; then |
| 9 | CIPD_MANIFEST="bootstrap/manifest_bleeding_edge.txt" |
| 10 | else |
| 11 | CIPD_MANIFEST="bootstrap/manifest.txt" |
| 12 | fi |
| 13 | |
| 14 | while IFS= read -r line; do |
| 15 | if [[ $line =~ ^[^#].*cpython3/.*version:(.*)$ ]]; then |
| 16 | PYTHON3_VERSION=${BASH_REMATCH[1]} |
| 17 | PYTHON3_VERSION=${PYTHON3_VERSION//[[:space:]]/} |
| 18 | fi |
| 19 | done < $CIPD_MANIFEST |
| 20 | if [ "X$PYTHON3_VERSION" == "X" ]; then |
| 21 | echo Could not extract Python 3 version from manifest. |
| 22 | return 1 |
| 23 | fi |
| 24 | |
| 25 | BOOTSTRAP_PATH="bootstrap-${PYTHON3_VERSION}_bin" |
| 26 | |
| 27 | # Install CIPD packages. The CIPD client self-bootstraps. |
Yngve Pettersen | f7b9e70 | 2023-04-26 20:07:56 +0000 | [diff] [blame] | 28 | "./cipd" ensure -log-level warning -ensure-file "${CIPD_MANIFEST}" \ |
Edward Lemur | 2499525 | 2019-09-18 18:31:07 +0000 | [diff] [blame] | 29 | -root "$BOOTSTRAP_PATH" |
| 30 | |
| 31 | BOOTSTRAP_PYTHON_BIN="${BOOTSTRAP_PATH}/python3/bin/python3" |
John Stiles | 11f4a84 | 2020-03-30 17:28:53 +0000 | [diff] [blame] | 32 | "$BOOTSTRAP_PYTHON_BIN" "bootstrap/bootstrap.py" --bootstrap-name "$BOOTSTRAP_PATH" |
Edward Lemur | 2499525 | 2019-09-18 18:31:07 +0000 | [diff] [blame] | 33 | |
| 34 | cd - > /dev/null |
| 35 | } |