From 4598c1ecea6e4d0b48fc79604068324f40c79abf Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Thu, 19 Sep 2019 03:42:19 +0200 Subject: [PATCH] Refactor Dockerfiles. --- docker/Dockerfile.aarch64-linux-android | 26 ++++------------- docker/Dockerfile.aarch64-unknown-linux-gnu | 28 +++++-------------- docker/Dockerfile.aarch64-unknown-linux-musl | 24 ++++------------ docker/Dockerfile.arm-linux-androideabi | 26 ++++------------- docker/Dockerfile.arm-unknown-linux-gnueabi | 24 ++++------------ docker/Dockerfile.arm-unknown-linux-gnueabihf | 24 ++++------------ docker/Dockerfile.arm-unknown-linux-musleabi | 24 ++++------------ .../Dockerfile.arm-unknown-linux-musleabihf | 24 ++++------------ .../Dockerfile.armv5te-unknown-linux-musleabi | 24 ++++------------ docker/Dockerfile.armv7-linux-androideabi | 26 ++++------------- .../Dockerfile.armv7-unknown-linux-gnueabihf | 28 +++++-------------- .../Dockerfile.armv7-unknown-linux-musleabihf | 24 ++++------------ docker/Dockerfile.asmjs-unknown-emscripten | 20 ++----------- docker/Dockerfile.i586-unknown-linux-gnu | 20 ++----------- docker/Dockerfile.i586-unknown-linux-musl | 22 +++------------ docker/Dockerfile.i686-linux-android | 26 ++++------------- docker/Dockerfile.i686-unknown-linux-gnu | 28 +++++-------------- docker/Dockerfile.i686-unknown-linux-musl | 22 +++------------ docker/Dockerfile.mips-unknown-linux-gnu | 26 ++++------------- docker/Dockerfile.mips-unknown-linux-musl | 24 ++++------------ .../Dockerfile.mips64-unknown-linux-gnuabi64 | 22 +++------------ ...Dockerfile.mips64el-unknown-linux-gnuabi64 | 26 ++++------------- docker/Dockerfile.mipsel-unknown-linux-gnu | 26 ++++------------- docker/Dockerfile.mipsel-unknown-linux-musl | 24 ++++------------ docker/Dockerfile.powerpc-unknown-linux-gnu | 28 +++++-------------- docker/Dockerfile.powerpc64-unknown-linux-gnu | 26 ++++------------- .../Dockerfile.powerpc64le-unknown-linux-gnu | 26 ++++------------- docker/Dockerfile.s390x-unknown-linux-gnu | 26 ++++------------- docker/Dockerfile.sparc64-unknown-linux-gnu | 26 ++++------------- docker/Dockerfile.sparcv9-sun-solaris | 22 +++------------ docker/Dockerfile.thumbv6m-none-eabi | 22 +++------------ docker/Dockerfile.thumbv7em-none-eabi | 22 +++------------ docker/Dockerfile.thumbv7em-none-eabihf | 22 +++------------ docker/Dockerfile.thumbv7m-none-eabi | 22 +++------------ docker/Dockerfile.wasm32-unknown-emscripten | 20 ++----------- docker/Dockerfile.x86_64-linux-android | 26 ++++------------- docker/Dockerfile.x86_64-pc-windows-gnu | 20 ++----------- docker/Dockerfile.x86_64-sun-solaris | 22 +++------------ docker/Dockerfile.x86_64-unknown-dragonfly | 22 +++------------ docker/Dockerfile.x86_64-unknown-linux-gnu | 28 +++++-------------- docker/Dockerfile.x86_64-unknown-linux-musl | 22 +++------------ docker/Dockerfile.x86_64-unknown-netbsd | 22 +++------------ docker/android-ndk.sh | 2 ++ docker/android-system.sh | 6 ++-- docker/cmake.sh | 4 ++- docker/common.sh | 20 +++++++++++++ .../disabled/Dockerfile.i686-pc-windows-gnu | 20 ++----------- .../disabled/Dockerfile.i686-unknown-freebsd | 22 +++------------ .../Dockerfile.x86_64-unknown-freebsd | 22 +++------------ docker/dragonfly.sh | 6 ++-- docker/dropbear.sh | 4 ++- docker/emscripten-entry.sh | 2 +- docker/emscripten.sh | 4 ++- docker/freebsd.sh | 6 ++-- docker/linux-image.sh | 9 ++---- docker/mingw.sh | 2 ++ docker/musl.sh | 4 ++- docker/netbsd.sh | 6 ++-- docker/qemu.sh | 2 +- docker/solaris.sh | 4 ++- docker/windows-entry.sh | 2 +- docker/xargo.sh | 2 ++ 62 files changed, 286 insertions(+), 875 deletions(-) mode change 100644 => 100755 docker/android-ndk.sh mode change 100644 => 100755 docker/android-system.sh mode change 100644 => 100755 docker/cmake.sh create mode 100755 docker/common.sh mode change 100644 => 100755 docker/dragonfly.sh mode change 100644 => 100755 docker/dropbear.sh mode change 100644 => 100755 docker/emscripten.sh mode change 100644 => 100755 docker/freebsd.sh mode change 100644 => 100755 docker/musl.sh mode change 100644 => 100755 docker/netbsd.sh mode change 100644 => 100755 docker/qemu.sh mode change 100644 => 100755 docker/solaris.sh mode change 100644 => 100755 docker/xargo.sh diff --git a/docker/Dockerfile.aarch64-linux-android b/docker/Dockerfile.aarch64-linux-android index 7c06f8401..0025dfb1f 100644 --- a/docker/Dockerfile.aarch64-linux-android +++ b/docker/Dockerfile.aarch64-linux-android @@ -1,34 +1,20 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY android-ndk.sh / -RUN bash /android-ndk.sh arm64 21 +RUN /android-ndk.sh arm64 21 ENV PATH=$PATH:/android-ndk/bin COPY android-system.sh / -RUN bash /android-system.sh arm64 +RUN /android-system.sh arm64 COPY qemu.sh / -RUN bash /qemu.sh aarch64 android +RUN /qemu.sh aarch64 android RUN cp /android-ndk/sysroot/usr/lib/libz.so /system/lib/ diff --git a/docker/Dockerfile.aarch64-unknown-linux-gnu b/docker/Dockerfile.aarch64-unknown-linux-gnu index 8ae656b12..4fa959742 100644 --- a/docker/Dockerfile.aarch64-unknown-linux-gnu +++ b/docker/Dockerfile.aarch64-unknown-linux-gnu @@ -1,41 +1,27 @@ FROM ubuntu:14.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh RUN apt-get install -y --no-install-recommends \ g++-aarch64-linux-gnu \ libc6-dev-arm64-cross COPY qemu.sh / -RUN bash /qemu.sh aarch64 linux softmmu +RUN /qemu.sh aarch64 linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh aarch64 +RUN /linux-image.sh aarch64 COPY linux-runner / diff --git a/docker/Dockerfile.aarch64-unknown-linux-musl b/docker/Dockerfile.aarch64-unknown-linux-musl index 1b4622323..017e522a8 100644 --- a/docker/Dockerfile.aarch64-unknown-linux-musl +++ b/docker/Dockerfile.aarch64-unknown-linux-musl @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh aarch64 +RUN /qemu.sh aarch64 COPY musl.sh / -RUN bash /musl.sh TARGET=aarch64-linux-musl +RUN /musl.sh TARGET=aarch64-linux-musl # Allows qemu run dynamic linked binaries RUN ln -sf \ diff --git a/docker/Dockerfile.arm-linux-androideabi b/docker/Dockerfile.arm-linux-androideabi index 8942794e5..38439fe68 100644 --- a/docker/Dockerfile.arm-linux-androideabi +++ b/docker/Dockerfile.arm-linux-androideabi @@ -1,34 +1,20 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY android-ndk.sh / -RUN bash /android-ndk.sh arm 21 +RUN /android-ndk.sh arm 21 ENV PATH=$PATH:/android-ndk/bin COPY android-system.sh / -RUN bash /android-system.sh arm +RUN /android-system.sh arm COPY qemu.sh / -RUN bash /qemu.sh arm android +RUN /qemu.sh arm android RUN cp /android-ndk/sysroot/usr/lib/libz.so /system/lib/ diff --git a/docker/Dockerfile.arm-unknown-linux-gnueabi b/docker/Dockerfile.arm-unknown-linux-gnueabi index 97d3a73a2..80fe64a9f 100644 --- a/docker/Dockerfile.arm-unknown-linux-gnueabi +++ b/docker/Dockerfile.arm-unknown-linux-gnueabi @@ -1,34 +1,20 @@ FROM ubuntu:14.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh COPY qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-arm-linux-gnueabi \ libc6-dev-armel-cross && \ - bash /qemu.sh arm + /qemu.sh arm ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc \ CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER=qemu-arm \ diff --git a/docker/Dockerfile.arm-unknown-linux-gnueabihf b/docker/Dockerfile.arm-unknown-linux-gnueabihf index 2498c4ddf..ee1f8d590 100644 --- a/docker/Dockerfile.arm-unknown-linux-gnueabihf +++ b/docker/Dockerfile.arm-unknown-linux-gnueabihf @@ -1,28 +1,14 @@ FROM ubuntu:14.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh RUN mkdir /usr/arm-linux-gnueabihf && \ apt-get install -y --no-install-recommends curl xz-utils && \ @@ -35,7 +21,7 @@ ENV PATH /usr/arm-linux-gnueabihf/bin:$PATH COPY qemu.sh / -RUN bash /qemu.sh arm +RUN /qemu.sh arm RUN apt-get install -y --no-install-recommends \ libc6-dev-armhf-cross diff --git a/docker/Dockerfile.arm-unknown-linux-musleabi b/docker/Dockerfile.arm-unknown-linux-musleabi index c46e3b920..296d49668 100644 --- a/docker/Dockerfile.arm-unknown-linux-musleabi +++ b/docker/Dockerfile.arm-unknown-linux-musleabi @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh arm +RUN /qemu.sh arm COPY musl.sh / -RUN bash /musl.sh \ +RUN /musl.sh \ TARGET=arm-linux-musleabi \ "COMMON_CONFIG += --with-arch=armv6 \ --with-float=soft \ diff --git a/docker/Dockerfile.arm-unknown-linux-musleabihf b/docker/Dockerfile.arm-unknown-linux-musleabihf index 70524026b..41e899e9c 100644 --- a/docker/Dockerfile.arm-unknown-linux-musleabihf +++ b/docker/Dockerfile.arm-unknown-linux-musleabihf @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh arm +RUN /qemu.sh arm COPY musl.sh / -RUN bash /musl.sh \ +RUN /musl.sh \ TARGET=arm-linux-musleabihf \ "COMMON_CONFIG += --with-arch=armv6 \ --with-fpu=vfp \ diff --git a/docker/Dockerfile.armv5te-unknown-linux-musleabi b/docker/Dockerfile.armv5te-unknown-linux-musleabi index 8e20be526..3824207b2 100644 --- a/docker/Dockerfile.armv5te-unknown-linux-musleabi +++ b/docker/Dockerfile.armv5te-unknown-linux-musleabi @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh arm +RUN /qemu.sh arm COPY musl.sh / -RUN bash /musl.sh \ +RUN /musl.sh \ TARGET=arm-linux-musleabi \ "COMMON_CONFIG += --with-arch=armv5te \ --with-float=soft \ diff --git a/docker/Dockerfile.armv7-linux-androideabi b/docker/Dockerfile.armv7-linux-androideabi index 429fb8e3c..3eac0b7b3 100644 --- a/docker/Dockerfile.armv7-linux-androideabi +++ b/docker/Dockerfile.armv7-linux-androideabi @@ -1,34 +1,20 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY android-ndk.sh / -RUN bash /android-ndk.sh arm 21 +RUN /android-ndk.sh arm 21 ENV PATH=$PATH:/android-ndk/bin COPY android-system.sh / -RUN bash /android-system.sh arm +RUN /android-system.sh arm COPY qemu.sh / -RUN bash /qemu.sh arm android +RUN /qemu.sh arm android RUN cp /android-ndk/sysroot/usr/lib/libz.so /system/lib/ diff --git a/docker/Dockerfile.armv7-unknown-linux-gnueabihf b/docker/Dockerfile.armv7-unknown-linux-gnueabihf index 582740913..5ec9986d9 100644 --- a/docker/Dockerfile.armv7-unknown-linux-gnueabihf +++ b/docker/Dockerfile.armv7-unknown-linux-gnueabihf @@ -1,41 +1,27 @@ FROM ubuntu:14.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh RUN apt-get install -y --no-install-recommends \ g++-arm-linux-gnueabihf \ libc6-dev-armhf-cross COPY qemu.sh / -RUN bash /qemu.sh arm linux softmmu +RUN /qemu.sh arm linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh armv7 +RUN /linux-image.sh armv7 COPY linux-runner / diff --git a/docker/Dockerfile.armv7-unknown-linux-musleabihf b/docker/Dockerfile.armv7-unknown-linux-musleabihf index 7451662c9..df265e681 100644 --- a/docker/Dockerfile.armv7-unknown-linux-musleabihf +++ b/docker/Dockerfile.armv7-unknown-linux-musleabihf @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh arm +RUN /qemu.sh arm COPY musl.sh / -RUN bash /musl.sh \ +RUN /musl.sh \ TARGET=arm-linux-musleabihf \ "COMMON_CONFIG += --with-arch=armv7-a \ --with-float=hard \ diff --git a/docker/Dockerfile.asmjs-unknown-emscripten b/docker/Dockerfile.asmjs-unknown-emscripten index bffec1ee1..cf9b8246b 100644 --- a/docker/Dockerfile.asmjs-unknown-emscripten +++ b/docker/Dockerfile.asmjs-unknown-emscripten @@ -1,26 +1,12 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh RUN apt-get install -y --no-install-recommends python COPY emscripten.sh / -RUN bash /emscripten.sh +RUN /emscripten.sh COPY emscripten-entry.sh / ENTRYPOINT ["/emscripten-entry.sh"] diff --git a/docker/Dockerfile.i586-unknown-linux-gnu b/docker/Dockerfile.i586-unknown-linux-gnu index f2cc2bd95..e7fb7a585 100644 --- a/docker/Dockerfile.i586-unknown-linux-gnu +++ b/docker/Dockerfile.i586-unknown-linux-gnu @@ -1,24 +1,10 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-multilib diff --git a/docker/Dockerfile.i586-unknown-linux-musl b/docker/Dockerfile.i586-unknown-linux-musl index abe6fe71e..5014f3e0e 100644 --- a/docker/Dockerfile.i586-unknown-linux-musl +++ b/docker/Dockerfile.i586-unknown-linux-musl @@ -1,27 +1,13 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY musl.sh / -RUN bash /musl.sh TARGET=i586-linux-musl +RUN /musl.sh TARGET=i586-linux-musl ENV CARGO_TARGET_I586_UNKNOWN_LINUX_MUSL_LINKER=i586-linux-musl-gcc \ CC_i586_unknown_linux_musl=i586-linux-musl-gcc \ diff --git a/docker/Dockerfile.i686-linux-android b/docker/Dockerfile.i686-linux-android index da7e081d1..b720060a8 100644 --- a/docker/Dockerfile.i686-linux-android +++ b/docker/Dockerfile.i686-linux-android @@ -1,31 +1,17 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY android-ndk.sh / -RUN bash /android-ndk.sh x86 21 +RUN /android-ndk.sh x86 21 ENV PATH=$PATH:/android-ndk/bin COPY android-system.sh / -RUN bash /android-system.sh x86 +RUN /android-system.sh x86 # We could supposedly directly run i686 binaries like we do for x86_64, but # doing so generates an assertion failure: @@ -35,7 +21,7 @@ RUN bash /android-system.sh x86 # # Running with qemu works as expected COPY qemu.sh / -RUN bash /qemu.sh i386 android +RUN /qemu.sh i386 android RUN cp /android-ndk/sysroot/usr/lib/libz.so /system/lib/ diff --git a/docker/Dockerfile.i686-unknown-linux-gnu b/docker/Dockerfile.i686-unknown-linux-gnu index ce3cdd0b6..6957d7f55 100644 --- a/docker/Dockerfile.i686-unknown-linux-gnu +++ b/docker/Dockerfile.i686-unknown-linux-gnu @@ -1,40 +1,26 @@ FROM ubuntu:14.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh RUN apt-get install -y --no-install-recommends \ g++-multilib COPY qemu.sh / -RUN bash /qemu.sh i386 linux softmmu +RUN /qemu.sh i386 linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh i686 +RUN /linux-image.sh i686 COPY linux-runner / diff --git a/docker/Dockerfile.i686-unknown-linux-musl b/docker/Dockerfile.i686-unknown-linux-musl index 6c7001a37..c6d3ed18d 100644 --- a/docker/Dockerfile.i686-unknown-linux-musl +++ b/docker/Dockerfile.i686-unknown-linux-musl @@ -1,27 +1,13 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY musl.sh / -RUN bash /musl.sh TARGET=i686-linux-musl +RUN /musl.sh TARGET=i686-linux-musl ENV CARGO_TARGET_I686_UNKNOWN_LINUX_MUSL_LINKER=i686-linux-musl-gcc \ CC_i686_unknown_linux_musl=i686-linux-musl-gcc \ diff --git a/docker/Dockerfile.mips-unknown-linux-gnu b/docker/Dockerfile.mips-unknown-linux-gnu index c17e26ea4..e205a3a2b 100644 --- a/docker/Dockerfile.mips-unknown-linux-gnu +++ b/docker/Dockerfile.mips-unknown-linux-gnu @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-mips-linux-gnu \ libc6-dev-mips-cross COPY qemu.sh / -RUN bash /qemu.sh mips linux softmmu +RUN /qemu.sh mips linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh mips +RUN /linux-image.sh mips COPY linux-runner / diff --git a/docker/Dockerfile.mips-unknown-linux-musl b/docker/Dockerfile.mips-unknown-linux-musl index 302c06a41..04257bd96 100644 --- a/docker/Dockerfile.mips-unknown-linux-musl +++ b/docker/Dockerfile.mips-unknown-linux-musl @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh mips +RUN /qemu.sh mips COPY musl.sh / -RUN bash /musl.sh \ +RUN /musl.sh \ TARGET=mips-linux-muslsf \ "COMMON_CONFIG += -with-arch=mips32r2" diff --git a/docker/Dockerfile.mips64-unknown-linux-gnuabi64 b/docker/Dockerfile.mips64-unknown-linux-gnuabi64 index a1a46e74e..b06f33d26 100644 --- a/docker/Dockerfile.mips64-unknown-linux-gnuabi64 +++ b/docker/Dockerfile.mips64-unknown-linux-gnuabi64 @@ -1,30 +1,16 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / RUN apt-get install -y --no-install-recommends \ g++-mips64-linux-gnuabi64 \ libc6-dev-mips64-cross && \ - bash /qemu.sh mips64 + /qemu.sh mips64 ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc \ CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_RUNNER=qemu-mips64 \ diff --git a/docker/Dockerfile.mips64el-unknown-linux-gnuabi64 b/docker/Dockerfile.mips64el-unknown-linux-gnuabi64 index f00e0e560..69e935e9e 100644 --- a/docker/Dockerfile.mips64el-unknown-linux-gnuabi64 +++ b/docker/Dockerfile.mips64el-unknown-linux-gnuabi64 @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-mips64el-linux-gnuabi64 \ libc6-dev-mips64el-cross COPY qemu.sh / -RUN bash /qemu.sh mips64el linux softmmu +RUN /qemu.sh mips64el linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh mips64el +RUN /linux-image.sh mips64el COPY linux-runner / diff --git a/docker/Dockerfile.mipsel-unknown-linux-gnu b/docker/Dockerfile.mipsel-unknown-linux-gnu index f24762e8d..8f6a1e89d 100644 --- a/docker/Dockerfile.mipsel-unknown-linux-gnu +++ b/docker/Dockerfile.mipsel-unknown-linux-gnu @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-mipsel-linux-gnu \ libc6-dev-mipsel-cross COPY qemu.sh / -RUN bash /qemu.sh mipsel linux softmmu +RUN /qemu.sh mipsel linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh mipsel +RUN /linux-image.sh mipsel COPY linux-runner / diff --git a/docker/Dockerfile.mipsel-unknown-linux-musl b/docker/Dockerfile.mipsel-unknown-linux-musl index ab2404a95..c6ee462bd 100644 --- a/docker/Dockerfile.mipsel-unknown-linux-musl +++ b/docker/Dockerfile.mipsel-unknown-linux-musl @@ -1,30 +1,16 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / -RUN bash /qemu.sh mipsel +RUN /qemu.sh mipsel COPY musl.sh / -RUN bash /musl.sh \ +RUN /musl.sh \ TARGET=mipsel-linux-muslsf \ "COMMON_CONFIG += -with-arch=mips32" diff --git a/docker/Dockerfile.powerpc-unknown-linux-gnu b/docker/Dockerfile.powerpc-unknown-linux-gnu index 510a52171..d99d72555 100644 --- a/docker/Dockerfile.powerpc-unknown-linux-gnu +++ b/docker/Dockerfile.powerpc-unknown-linux-gnu @@ -1,41 +1,27 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh RUN apt-get install -y --no-install-recommends \ g++-powerpc-linux-gnu \ libc6-dev-powerpc-cross COPY qemu.sh / -RUN bash /qemu.sh ppc linux softmmu +RUN /qemu.sh ppc linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh powerpc +RUN /linux-image.sh powerpc COPY linux-runner / diff --git a/docker/Dockerfile.powerpc64-unknown-linux-gnu b/docker/Dockerfile.powerpc64-unknown-linux-gnu index 2e61a772a..9bd6b1957 100644 --- a/docker/Dockerfile.powerpc64-unknown-linux-gnu +++ b/docker/Dockerfile.powerpc64-unknown-linux-gnu @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-powerpc64-linux-gnu \ libc6-dev-ppc64-cross COPY qemu.sh / -RUN bash /qemu.sh ppc64 linux softmmu +RUN /qemu.sh ppc64 linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh powerpc64 +RUN /linux-image.sh powerpc64 COPY linux-runner / diff --git a/docker/Dockerfile.powerpc64le-unknown-linux-gnu b/docker/Dockerfile.powerpc64le-unknown-linux-gnu index 0bd56be75..47d8f88b1 100644 --- a/docker/Dockerfile.powerpc64le-unknown-linux-gnu +++ b/docker/Dockerfile.powerpc64le-unknown-linux-gnu @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-powerpc64le-linux-gnu \ libc6-dev-ppc64el-cross COPY qemu.sh / -RUN bash /qemu.sh ppc64le linux softmmu +RUN /qemu.sh ppc64le linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh powerpc64le +RUN /linux-image.sh powerpc64le COPY linux-runner / diff --git a/docker/Dockerfile.s390x-unknown-linux-gnu b/docker/Dockerfile.s390x-unknown-linux-gnu index b9c9693e2..a087f2903 100644 --- a/docker/Dockerfile.s390x-unknown-linux-gnu +++ b/docker/Dockerfile.s390x-unknown-linux-gnu @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-s390x-linux-gnu \ libc6-dev-s390x-cross COPY qemu.sh / -RUN bash /qemu.sh s390x linux softmmu +RUN /qemu.sh s390x linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh s390x +RUN /linux-image.sh s390x COPY linux-runner / diff --git a/docker/Dockerfile.sparc64-unknown-linux-gnu b/docker/Dockerfile.sparc64-unknown-linux-gnu index 62c7d10ee..8a957dde6 100644 --- a/docker/Dockerfile.sparc64-unknown-linux-gnu +++ b/docker/Dockerfile.sparc64-unknown-linux-gnu @@ -1,37 +1,23 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN apt-get install -y --no-install-recommends \ g++-sparc64-linux-gnu \ libc6-dev-sparc64-cross COPY qemu.sh / -RUN bash /qemu.sh sparc64 linux softmmu +RUN /qemu.sh sparc64 linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh sparc64 +RUN /linux-image.sh sparc64 COPY linux-runner / diff --git a/docker/Dockerfile.sparcv9-sun-solaris b/docker/Dockerfile.sparcv9-sun-solaris index c8fce31b8..c58a541b1 100644 --- a/docker/Dockerfile.sparcv9-sun-solaris +++ b/docker/Dockerfile.sparcv9-sun-solaris @@ -1,27 +1,13 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY solaris.sh / -RUN bash /solaris.sh sparcv9 +RUN /solaris.sh sparcv9 ENV CARGO_TARGET_SPARCV9_SUN_SOLARIS_LINKER=sparcv9-sun-solaris2.10-gcc \ CC_sparcv9_sun_solaris=sparcv9-sun-solaris2.10-gcc \ diff --git a/docker/Dockerfile.thumbv6m-none-eabi b/docker/Dockerfile.thumbv6m-none-eabi index cc2972d20..5907ba7d1 100644 --- a/docker/Dockerfile.thumbv6m-none-eabi +++ b/docker/Dockerfile.thumbv6m-none-eabi @@ -1,30 +1,16 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / RUN apt-get install -y --no-install-recommends \ gcc-arm-none-eabi \ libnewlib-arm-none-eabi && \ - bash /qemu.sh arm + /qemu.sh arm ENV QEMU_CPU=cortex-m3 \ CARGO_TARGET_THUMBV6M_NONE_EABI_RUNNER=qemu-arm diff --git a/docker/Dockerfile.thumbv7em-none-eabi b/docker/Dockerfile.thumbv7em-none-eabi index f916cce9c..09f86ce17 100644 --- a/docker/Dockerfile.thumbv7em-none-eabi +++ b/docker/Dockerfile.thumbv7em-none-eabi @@ -1,30 +1,16 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / RUN apt-get install -y --no-install-recommends \ gcc-arm-none-eabi \ libnewlib-arm-none-eabi && \ - bash /qemu.sh arm + /qemu.sh arm ENV QEMU_CPU=cortex-m4 \ CARGO_TARGET_THUMBV7EM_NONE_EABI_RUNNER=qemu-arm diff --git a/docker/Dockerfile.thumbv7em-none-eabihf b/docker/Dockerfile.thumbv7em-none-eabihf index 60cf0b573..48e3c8d16 100644 --- a/docker/Dockerfile.thumbv7em-none-eabihf +++ b/docker/Dockerfile.thumbv7em-none-eabihf @@ -1,30 +1,16 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / RUN apt-get install -y --no-install-recommends \ gcc-arm-none-eabi \ libnewlib-arm-none-eabi && \ - bash /qemu.sh arm + /qemu.sh arm ENV QEMU_CPU=cortex-m4 \ CARGO_TARGET_THUMBV7EM_NONE_EABIHF_RUNNER=qemu-arm diff --git a/docker/Dockerfile.thumbv7m-none-eabi b/docker/Dockerfile.thumbv7m-none-eabi index 31bb14a7f..e6f715b13 100644 --- a/docker/Dockerfile.thumbv7m-none-eabi +++ b/docker/Dockerfile.thumbv7m-none-eabi @@ -1,30 +1,16 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY qemu.sh / RUN apt-get install -y --no-install-recommends \ gcc-arm-none-eabi \ libnewlib-arm-none-eabi && \ - bash /qemu.sh arm + /qemu.sh arm ENV QEMU_CPU=cortex-m3 \ CARGO_TARGET_THUMBV7M_NONE_EABI_RUNNER=qemu-arm diff --git a/docker/Dockerfile.wasm32-unknown-emscripten b/docker/Dockerfile.wasm32-unknown-emscripten index d4c06423f..a8b5210be 100644 --- a/docker/Dockerfile.wasm32-unknown-emscripten +++ b/docker/Dockerfile.wasm32-unknown-emscripten @@ -1,26 +1,12 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh RUN apt-get install -y --no-install-recommends python COPY emscripten.sh / -RUN bash /emscripten.sh +RUN /emscripten.sh COPY emscripten-entry.sh / ENTRYPOINT ["/emscripten-entry.sh"] diff --git a/docker/Dockerfile.x86_64-linux-android b/docker/Dockerfile.x86_64-linux-android index 888086419..21dbd03dd 100644 --- a/docker/Dockerfile.x86_64-linux-android +++ b/docker/Dockerfile.x86_64-linux-android @@ -1,35 +1,21 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY android-ndk.sh / -RUN bash /android-ndk.sh x86_64 21 +RUN /android-ndk.sh x86_64 21 ENV PATH=$PATH:/android-ndk/bin COPY android-system.sh / -RUN bash /android-system.sh x86_64 +RUN /android-system.sh x86_64 # Using qemu allows older host cpus (without sse4) to execute the target binaries COPY qemu.sh / -RUN bash /qemu.sh x86_64 android +RUN /qemu.sh x86_64 android RUN cp /android-ndk/sysroot/usr/lib/libz.so /system/lib/ diff --git a/docker/Dockerfile.x86_64-pc-windows-gnu b/docker/Dockerfile.x86_64-pc-windows-gnu index ca9c3bfd5..e136f6299 100644 --- a/docker/Dockerfile.x86_64-pc-windows-gnu +++ b/docker/Dockerfile.x86_64-pc-windows-gnu @@ -1,24 +1,10 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN dpkg --add-architecture i386 && apt-get update && \ apt-get install -y --no-install-recommends \ diff --git a/docker/Dockerfile.x86_64-sun-solaris b/docker/Dockerfile.x86_64-sun-solaris index 4647885f8..7251c031d 100644 --- a/docker/Dockerfile.x86_64-sun-solaris +++ b/docker/Dockerfile.x86_64-sun-solaris @@ -1,27 +1,13 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY solaris.sh / -RUN bash /solaris.sh x86_64 +RUN /solaris.sh x86_64 ENV CARGO_TARGET_X86_64_SUN_SOLARIS_LINKER=x86_64-sun-solaris2.10-gcc \ CC_x86_64_sun_solaris=x86_64-sun-solaris2.10-gcc \ diff --git a/docker/Dockerfile.x86_64-unknown-dragonfly b/docker/Dockerfile.x86_64-unknown-dragonfly index 8a2e37a4e..0be058a75 100644 --- a/docker/Dockerfile.x86_64-unknown-dragonfly +++ b/docker/Dockerfile.x86_64-unknown-dragonfly @@ -1,27 +1,13 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY dragonfly.sh / -RUN bash /dragonfly.sh +RUN /dragonfly.sh ENV CARGO_TARGET_X86_64_UNKNOWN_DRAGONFLY_LINKER=x86_64-unknown-dragonfly-gcc \ CC_x86_64_unknown_dragonfly=x86_64-unknown-dragonfly-gcc \ diff --git a/docker/Dockerfile.x86_64-unknown-linux-gnu b/docker/Dockerfile.x86_64-unknown-linux-gnu index 75871aa5d..5c9a7174d 100644 --- a/docker/Dockerfile.x86_64-unknown-linux-gnu +++ b/docker/Dockerfile.x86_64-unknown-linux-gnu @@ -1,41 +1,27 @@ FROM ubuntu:14.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY cmake.sh / RUN apt-get purge --auto-remove -y cmake && \ - bash /cmake.sh + /cmake.sh RUN apt-get install -y --no-install-recommends \ g++ \ zlib1g-dev COPY qemu.sh / -RUN bash /qemu.sh x86_64 linux softmmu +RUN /qemu.sh x86_64 linux softmmu COPY dropbear.sh / -RUN bash /dropbear.sh +RUN /dropbear.sh COPY linux-image.sh / -RUN bash /linux-image.sh x86_64 +RUN /linux-image.sh x86_64 COPY linux-runner / diff --git a/docker/Dockerfile.x86_64-unknown-linux-musl b/docker/Dockerfile.x86_64-unknown-linux-musl index ce118285c..7bc8b1565 100644 --- a/docker/Dockerfile.x86_64-unknown-linux-musl +++ b/docker/Dockerfile.x86_64-unknown-linux-musl @@ -1,27 +1,13 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY musl.sh / -RUN bash /musl.sh TARGET=x86_64-linux-musl +RUN /musl.sh TARGET=x86_64-linux-musl ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=x86_64-linux-musl-gcc \ CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc \ diff --git a/docker/Dockerfile.x86_64-unknown-netbsd b/docker/Dockerfile.x86_64-unknown-netbsd index bb3126564..3c8964fa4 100644 --- a/docker/Dockerfile.x86_64-unknown-netbsd +++ b/docker/Dockerfile.x86_64-unknown-netbsd @@ -1,27 +1,13 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY netbsd.sh / -RUN bash /netbsd.sh +RUN /netbsd.sh ENV CARGO_TARGET_X86_64_UNKNOWN_NETBSD_LINKER=x86_64-unknown-netbsd-gcc \ CC_x86_64_unknown_netbsd=x86_64-unknown-netbsd-gcc \ diff --git a/docker/android-ndk.sh b/docker/android-ndk.sh old mode 100644 new mode 100755 index 9cc4e21a8..9fdb94bae --- a/docker/android-ndk.sh +++ b/docker/android-ndk.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex NDK_URL=https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip diff --git a/docker/android-system.sh b/docker/android-system.sh old mode 100644 new mode 100755 index a44464663..6325c035e --- a/docker/android-system.sh +++ b/docker/android-system.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -18,14 +20,14 @@ main() { # fake java and javac, it is not necessary for what we build, but the build # script ask for it cat << EOF > /usr/bin/java -#!/bin/bash +#!/usr/bin/env bash echo "java version \"1.7.0\"" echo "OpenJDK Runtime Environment (IcedTea 2.6.9)" echo "OpenJDK 64-Bit Server VM (build 24.131-b00, mixed mode)" EOF cat << EOF > /usr/bin/javac -#!/bin/bash +#!/usr/bin/env bash echo "javac 1.7.0" EOF diff --git a/docker/cmake.sh b/docker/cmake.sh old mode 100644 new mode 100755 index f037d70a5..bde1b3c2d --- a/docker/cmake.sh +++ b/docker/cmake.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -25,7 +27,7 @@ main() { curl https://cmake.org/files/v${version%.*}/cmake-$version.tar.gz | \ tar --strip-components 1 -xz ./bootstrap - nice make -j$(nproc) + make -j$(nproc) make install # clean up diff --git a/docker/common.sh b/docker/common.sh new file mode 100755 index 000000000..b7f7f4322 --- /dev/null +++ b/docker/common.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -ex + +apt-get update + +apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + binutils \ + ca-certificates \ + cmake \ + file \ + gcc \ + git \ + libc6-dev \ + libtool \ + m4 \ + make \ + pkg-config diff --git a/docker/disabled/Dockerfile.i686-pc-windows-gnu b/docker/disabled/Dockerfile.i686-pc-windows-gnu index 867f297c7..67dca2e02 100644 --- a/docker/disabled/Dockerfile.i686-pc-windows-gnu +++ b/docker/disabled/Dockerfile.i686-pc-windows-gnu @@ -1,24 +1,10 @@ FROM ubuntu:18.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh RUN dpkg --add-architecture i386 && apt-get update && \ apt-get install -y --no-install-recommends \ diff --git a/docker/disabled/Dockerfile.i686-unknown-freebsd b/docker/disabled/Dockerfile.i686-unknown-freebsd index 6fd124bd1..dcbf42e04 100644 --- a/docker/disabled/Dockerfile.i686-unknown-freebsd +++ b/docker/disabled/Dockerfile.i686-unknown-freebsd @@ -1,27 +1,13 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY freebsd.sh / -RUN bash /freebsd.sh i686 +RUN /freebsd.sh i686 ENV CARGO_TARGET_I686_UNKNOWN_FREEBSD_LINKER=i686-unknown-freebsd10-gcc \ CC_i686_unknown_freebsd=i686-unknown-freebsd10-gcc \ diff --git a/docker/disabled/Dockerfile.x86_64-unknown-freebsd b/docker/disabled/Dockerfile.x86_64-unknown-freebsd index a128e42fd..5ca9aa16d 100644 --- a/docker/disabled/Dockerfile.x86_64-unknown-freebsd +++ b/docker/disabled/Dockerfile.x86_64-unknown-freebsd @@ -1,27 +1,13 @@ FROM ubuntu:16.04 -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - ca-certificates \ - cmake \ - gcc \ - libc6-dev \ - make \ - pkg-config \ - git \ - automake \ - libtool \ - m4 \ - autoconf \ - make \ - file \ - binutils +COPY common.sh / +RUN /common.sh COPY xargo.sh / -RUN bash /xargo.sh +RUN /xargo.sh COPY freebsd.sh / -RUN bash /freebsd.sh x86_64 +RUN /freebsd.sh x86_64 ENV CARGO_TARGET_X86_64_UNKNOWN_FREEBSD_LINKER=x86_64-unknown-freebsd10-gcc \ CC_x86_64_unknown_freebsd=x86_64-unknown-freebsd10-gcc \ diff --git a/docker/dragonfly.sh b/docker/dragonfly.sh old mode 100644 new mode 100755 index 1ca5ff2b4..a5ba894c0 --- a/docker/dragonfly.sh +++ b/docker/dragonfly.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -93,7 +95,7 @@ EOF cd binutils-build ../binutils/configure \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. @@ -130,7 +132,7 @@ EOF --disable-nls \ --enable-languages=c,c++ \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. diff --git a/docker/dropbear.sh b/docker/dropbear.sh old mode 100644 new mode 100755 index 3e0480b3f..a0499a971 --- a/docker/dropbear.sh +++ b/docker/dropbear.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -42,7 +44,7 @@ main() { --disable-pututline \ --disable-pututxline - nice make -j$(nproc) PROGRAMS=dbclient + make -j$(nproc) PROGRAMS=dbclient cp dbclient /usr/local/bin/ # Clean up diff --git a/docker/emscripten-entry.sh b/docker/emscripten-entry.sh index c4274e1ea..9e1f3ca07 100755 --- a/docker/emscripten-entry.sh +++ b/docker/emscripten-entry.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e diff --git a/docker/emscripten.sh b/docker/emscripten.sh old mode 100644 new mode 100755 index c1b8a0827..cf406178b --- a/docker/emscripten.sh +++ b/docker/emscripten.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -41,7 +43,7 @@ main() { # Make emsdk usable by any user chmod a+rw -R /emsdk-portable/ - chmod a+x `find /emsdk-portable/ -executable -print` || true + find /emsdk-portable/ -executable -print0 | xargs -0 chmod a+x # Clean up apt-get purge --auto-remove -y ${purge_list[@]} diff --git a/docker/freebsd.sh b/docker/freebsd.sh old mode 100644 new mode 100755 index 4d99d2a98..909765374 --- a/docker/freebsd.sh +++ b/docker/freebsd.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -59,7 +61,7 @@ main() { cd binutils-build ../binutils/configure \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. @@ -97,7 +99,7 @@ main() { --disable-nls \ --enable-languages=c,c++ \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. diff --git a/docker/linux-image.sh b/docker/linux-image.sh index bc2f56ace..de5bd17e4 100755 --- a/docker/linux-image.sh +++ b/docker/linux-image.sh @@ -1,15 +1,16 @@ +#!/usr/bin/env bash + set -ex main() { # arch in the rust target local arch=$1 \ - kversion=4.9.0-8 + kversion=4.9.0-11 local debsource="deb http://http.debian.net/debian/ stretch main" debsource="$debsource\ndeb http://security.debian.org/ stretch/updates main" local dropbear="dropbear-bin" - local libssl="libssl1.0.2" # select debian arch and kernel version case $arch in @@ -44,7 +45,6 @@ main() { echo "Acquire::Check-Valid-Until false;" | tee -a /etc/apt/apt.conf.d/10-nocheckvalid dropbear="dropbear" - libssl="libssl1.0.0" ;; powerpc64) # there is no stable port @@ -55,7 +55,6 @@ main() { debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports unstable main" # sid version of dropbear requires these dependencies deps="libtommath1:ppc64 libtomcrypt1:ppc64 libgmp10:ppc64" - libssl="libssl1.1" ;; powerpc64le) arch=ppc64el @@ -73,7 +72,6 @@ main() { debsource="$debsource\ndeb http://ftp.ports.debian.org/debian-ports unstable main" # sid version of dropbear requires these dependencies deps="libtommath1:sparc64 libtomcrypt1:sparc64 libgmp10:sparc64" - libssl="libssl1.1" ;; x86_64) arch=amd64 @@ -127,7 +125,6 @@ main() { $dropbear:$arch \ libc6:$arch \ libgcc1:$arch \ - $libssl:$arch \ libstdc++6:$arch \ linux-image-$kernel:$arch \ ncurses-base \ diff --git a/docker/mingw.sh b/docker/mingw.sh index 2d3a4d96d..777d80734 100644 --- a/docker/mingw.sh +++ b/docker/mingw.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -x main() { diff --git a/docker/musl.sh b/docker/musl.sh old mode 100644 new mode 100755 index 5a067d2b9..68f23ad39 --- a/docker/musl.sh +++ b/docker/musl.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex hide_output() { @@ -38,7 +40,7 @@ main() { curl -L https://github.com/richfelker/musl-cross-make/archive/v0.9.8.tar.gz | \ tar --strip-components=1 -xz - hide_output nice make install -j$(nproc) \ + hide_output make install -j$(nproc) \ GCC_VER=6.4.0 \ MUSL_VER=1.1.22 \ DL_CMD="curl -C - -L -o" \ diff --git a/docker/netbsd.sh b/docker/netbsd.sh old mode 100644 new mode 100755 index 2fd2d413a..061647e6a --- a/docker/netbsd.sh +++ b/docker/netbsd.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -61,7 +63,7 @@ main() { cd binutils-build ../binutils/configure \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. @@ -101,7 +103,7 @@ main() { --disable-nls \ --enable-languages=c,c++ \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. diff --git a/docker/qemu.sh b/docker/qemu.sh old mode 100644 new mode 100755 index 32f68ab7a..332875ebd --- a/docker/qemu.sh +++ b/docker/qemu.sh @@ -81,7 +81,7 @@ main() { --static \ $virtfs \ --target-list=$targets - nice make -j$(nproc) + make -j$(nproc) make install # HACK the binfmt_misc interpreter we'll use expects the QEMU binary to be diff --git a/docker/solaris.sh b/docker/solaris.sh old mode 100644 new mode 100755 index 96bd8fa35..73f6456e6 --- a/docker/solaris.sh +++ b/docker/solaris.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() { @@ -123,7 +125,7 @@ EOF --with-gnu-as \ --with-gnu-ld \ --target=$target - nice make -j$(nproc) + make -j$(nproc) make install cd .. diff --git a/docker/windows-entry.sh b/docker/windows-entry.sh index 70da06f5d..4dec54b7a 100755 --- a/docker/windows-entry.sh +++ b/docker/windows-entry.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e diff --git a/docker/xargo.sh b/docker/xargo.sh old mode 100644 new mode 100755 index 83c32e75b..56a3ec7de --- a/docker/xargo.sh +++ b/docker/xargo.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -ex main() {