| #!/bin/bash |
| # This script downloads and installs awscli from the packages mirrored in our |
| # own S3 bucket. This follows the recommendations at: |
| # |
| # https://packaging.python.org/guides/index-mirrors-and-caches/#caching-with-pip |
| # |
| # To create a new mirrored copy you can run the command: |
| # |
| # pip wheel awscli |
| # |
| # Before compressing please make sure all the wheels end with `-none-any.whl`. |
| # If that's not the case you'll need to remove the non-cross-platform ones and |
| # replace them with the .tar.gz downloaded from https://pypi.org. Also make |
| # sure it's possible to call this script with both Python 2 and Python 3. |
| |
| set -euo pipefail |
| IFS=$'\n\t' |
| |
| source "$(cd "$(dirname "$0")" && pwd)/../shared.sh" |
| |
| MIRROR="${MIRRORS_BASE}/2019-07-27-awscli.tar" |
| DEPS_DIR="/tmp/awscli-deps" |
| |
| pip="pip" |
| pipflags="" |
| if isLinux; then |
| pip="pip3" |
| pipflags="--user" |
| |
| sudo apt-get install -y python3-setuptools python3-wheel |
| ciCommandAddPath "${HOME}/.local/bin" |
| fi |
| |
| mkdir -p "${DEPS_DIR}" |
| curl "${MIRROR}" | tar xf - -C "${DEPS_DIR}" |
| "${pip}" install ${pipflags} --no-index "--find-links=${DEPS_DIR}" awscli |
| rm -rf "${DEPS_DIR}" |