diff --git a/build-docker-image.sh b/build-docker-image.sh index 4e1000560..eb0188457 100755 --- a/build-docker-image.sh +++ b/build-docker-image.sh @@ -12,8 +12,10 @@ run() { local image_name="rustembedded/cross:${1}" local cache_from_args=() - if docker image inspect "${image_name}" &>/dev/null || docker pull "${image_name}"; then - cache_from_args=(--cache-from "${image_name}") + if ! docker image inspect "${image_name}" &>/dev/null; then + if docker pull "${image_name}"; then + cache_from_args=(--cache-from "${image_name}") + fi fi docker build ${cache_from_args[@]+"${cache_from_args[@]}"} --pull -t "${image_name}" -f "${dockerfile}" . diff --git a/docker/cmake.sh b/docker/cmake.sh index 108764d1b..cd40f5c47 100755 --- a/docker/cmake.sh +++ b/docker/cmake.sh @@ -4,15 +4,9 @@ set -x set -euo pipefail main() { - local version=3.16.5 + local version=3.17.2 - local dependencies=( - curl - g++ - libssl-dev - make - zlib1g-dev - ) + local dependencies=(curl) apt-get update local purge_list=() @@ -28,21 +22,17 @@ main() { pushd "${td}" - curl "https://cmake.org/files/v${version%.*}/cmake-${version}.tar.gz" | \ - tar --strip-components 1 -xz + curl -sSfL "https://github.com/Kitware/CMake/releases/download/v${version}/cmake-${version}-Linux-x86_64.sh" -o cmake.sh + sh cmake.sh --skip-license --prefix=/usr/local - ./bootstrap - make "-j$(nproc)" - make install - - # clean up popd if (( ${#purge_list[@]} )); then - apt-get purge --auto-remove -y "${purge_list[@]}" + apt-get purge --assume-yes --auto-remove "${purge_list[@]}" fi rm -rf "${td}" + rm -rf /var/lib/apt/lists/* rm "${0}" } diff --git a/docker/linux-image.sh b/docker/linux-image.sh index 57844de0a..d83c22beb 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -91,6 +91,7 @@ main() { local dependencies=( cpio sharutils + gnupg ) local purge_list=() diff --git a/docker/xargo.sh b/docker/xargo.sh index 255ce18ef..0ea69d00c 100755 --- a/docker/xargo.sh +++ b/docker/xargo.sh @@ -22,10 +22,10 @@ main() { export CARGO_HOME=/tmp/cargo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup-init.sh - sh rustup-init.sh -y --no-modify-path + sh rustup-init.sh -y --no-modify-path --profile minimal rm rustup-init.sh - PATH="${CARGO_HOME}/bin:${PATH}" cargo install xargo --root /usr + PATH="${CARGO_HOME}/bin:${PATH}" cargo install xargo --root /usr/local rm -r "${RUSTUP_HOME}" "${CARGO_HOME}"