From 6d8520d63871e0cbebb4a51dbcdd4d16b0534674 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 12 Jul 2017 20:29:59 -0600 Subject: [PATCH 1/5] Add Redox Dockerfile --- src/ci/docker/dist-x86_64-redox/Dockerfile | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/ci/docker/dist-x86_64-redox/Dockerfile diff --git a/src/ci/docker/dist-x86_64-redox/Dockerfile b/src/ci/docker/dist-x86_64-redox/Dockerfile new file mode 100644 index 0000000000000..0d97f30a73620 --- /dev/null +++ b/src/ci/docker/dist-x86_64-redox/Dockerfile @@ -0,0 +1,42 @@ +FROM ubuntu:16.04 + +RUN apt-get update && apt-get install -y --no-install-recommends \ + g++ \ + make \ + file \ + curl \ + ca-certificates \ + python2.7 \ + git \ + cmake \ + sudo \ + bzip2 \ + xz-utils \ + wget \ + libssl-dev \ + pkg-config \ + software-properties-common \ + apt-transport-https + +# Install the cross compiler +RUN apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F && \ + add-apt-repository -y 'deb https://static.redox-os.org/toolchain/apt /' && \ + apt-get update && \ + apt-get install -y x86-64-elf-redox-gcc + +RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \ + dpkg -i dumb-init_*.deb && \ + rm dumb-init_*.deb +ENTRYPOINT ["/usr/bin/dumb-init", "--"] + +RUN curl -o /usr/local/bin/sccache \ + https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-unknown-linux-musl && \ + chmod +x /usr/local/bin/sccache + +ENV \ + AR_x86_64_unknown_redox=x86_64-elf-redox-ar \ + CC_x86_64_unknown_redox=x86_64-elf-redox-gcc \ + CXX_x86_64_unknown_redox=x86_64-elf-redox-g++ + +ENV RUST_CONFIGURE_ARGS --target=x86_64-unknown-redox --enable-extended +ENV SCRIPT python2.7 ../x.py dist --target x86_64-unknown-redox From 9a76934ceaf3065951794bbb0fd0e9ae02a4916c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 9 Aug 2017 20:44:02 -0600 Subject: [PATCH 2/5] Add redox build to cross --- src/ci/docker/cross/Dockerfile | 11 +++++++++-- src/ci/docker/cross/install-x86_64-redox.sh | 16 ++++++++++++++++ src/ci/docker/dist-x86_64-redox/Dockerfile | 8 ++++---- 3 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 src/ci/docker/cross/install-x86_64-redox.sh diff --git a/src/ci/docker/cross/Dockerfile b/src/ci/docker/cross/Dockerfile index 70dfbb53da24e..cb0bd6ded9b8a 100644 --- a/src/ci/docker/cross/Dockerfile +++ b/src/ci/docker/cross/Dockerfile @@ -19,7 +19,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ bzip2 \ patch \ libssl-dev \ - pkg-config + pkg-config \ + software-properties-common \ + apt-transport-https COPY scripts/dumb-init.sh /scripts/ RUN sh /scripts/dumb-init.sh @@ -38,6 +40,9 @@ RUN ./install-mips-musl.sh COPY cross/install-mipsel-musl.sh /tmp/ RUN ./install-mipsel-musl.sh +COPY cross/install-x86_64-redox.sh /tmp/ +RUN ./install-x86_64-redox.sh + ENV TARGETS=asmjs-unknown-emscripten ENV TARGETS=$TARGETS,wasm32-unknown-emscripten ENV TARGETS=$TARGETS,x86_64-rumprun-netbsd @@ -47,10 +52,12 @@ ENV TARGETS=$TARGETS,arm-unknown-linux-musleabi ENV TARGETS=$TARGETS,arm-unknown-linux-musleabihf ENV TARGETS=$TARGETS,armv7-unknown-linux-musleabihf ENV TARGETS=$TARGETS,sparc64-unknown-linux-gnu +ENV TARGETS=$TARGETS,x86_64-unknown-redox ENV CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \ - CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc + CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \ + CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc # Suppress some warnings in the openwrt toolchains we downloaded ENV STAGING_DIR=/tmp diff --git a/src/ci/docker/cross/install-x86_64-redox.sh b/src/ci/docker/cross/install-x86_64-redox.sh new file mode 100644 index 0000000000000..823c23e3ecc61 --- /dev/null +++ b/src/ci/docker/cross/install-x86_64-redox.sh @@ -0,0 +1,16 @@ +# Copyright 2017 The Rust Project Developers. See the COPYRIGHT +# file at the top-level directory of this distribution and at +# http://rust-lang.org/COPYRIGHT. +# +# Licensed under the Apache License, Version 2.0 or the MIT license +# , at your +# option. This file may not be copied, modified, or distributed +# except according to those terms. + +set -ex + +apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F +add-apt-repository -y 'deb https://static.redox-os.org/toolchain/apt /' +apt-get update +apt-get install -y x86-64-unknown-redox-gcc diff --git a/src/ci/docker/dist-x86_64-redox/Dockerfile b/src/ci/docker/dist-x86_64-redox/Dockerfile index 0d97f30a73620..6c592991bbde8 100644 --- a/src/ci/docker/dist-x86_64-redox/Dockerfile +++ b/src/ci/docker/dist-x86_64-redox/Dockerfile @@ -22,7 +22,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F && \ add-apt-repository -y 'deb https://static.redox-os.org/toolchain/apt /' && \ apt-get update && \ - apt-get install -y x86-64-elf-redox-gcc + apt-get install -y x86-64-unknown-redox-gcc RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \ dpkg -i dumb-init_*.deb && \ @@ -34,9 +34,9 @@ RUN curl -o /usr/local/bin/sccache \ chmod +x /usr/local/bin/sccache ENV \ - AR_x86_64_unknown_redox=x86_64-elf-redox-ar \ - CC_x86_64_unknown_redox=x86_64-elf-redox-gcc \ - CXX_x86_64_unknown_redox=x86_64-elf-redox-g++ + AR_x86_64_unknown_redox=x86_64-unknown-redox-ar \ + CC_x86_64_unknown_redox=x86_64-unknown-redox-gcc \ + CXX_x86_64_unknown_redox=x86_64-unknown-redox-g++ ENV RUST_CONFIGURE_ARGS --target=x86_64-unknown-redox --enable-extended ENV SCRIPT python2.7 ../x.py dist --target x86_64-unknown-redox From a3d9c367201d478905e775f6fec5848e6df95e61 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 10 Aug 2017 11:15:24 -0600 Subject: [PATCH 3/5] Use scripts to reduce code size --- src/ci/docker/cross/Dockerfile | 4 +- src/ci/docker/cross/install-x86_64-redox.sh | 7 ++++ src/ci/docker/dist-x86_64-redox/Dockerfile | 45 +++++++-------------- 3 files changed, 23 insertions(+), 33 deletions(-) diff --git a/src/ci/docker/cross/Dockerfile b/src/ci/docker/cross/Dockerfile index cb0bd6ded9b8a..0579d2397c852 100644 --- a/src/ci/docker/cross/Dockerfile +++ b/src/ci/docker/cross/Dockerfile @@ -19,9 +19,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ bzip2 \ patch \ libssl-dev \ - pkg-config \ - software-properties-common \ - apt-transport-https + pkg-config COPY scripts/dumb-init.sh /scripts/ RUN sh /scripts/dumb-init.sh diff --git a/src/ci/docker/cross/install-x86_64-redox.sh b/src/ci/docker/cross/install-x86_64-redox.sh index 823c23e3ecc61..8e052c4acd28a 100644 --- a/src/ci/docker/cross/install-x86_64-redox.sh +++ b/src/ci/docker/cross/install-x86_64-redox.sh @@ -1,3 +1,4 @@ +#!/bin/bash # Copyright 2017 The Rust Project Developers. See the COPYRIGHT # file at the top-level directory of this distribution and at # http://rust-lang.org/COPYRIGHT. @@ -8,9 +9,15 @@ # option. This file may not be copied, modified, or distributed # except according to those terms. +# ignore-tidy-linelength + set -ex +apt-get update +apt-get install -y --no-install-recommends software-properties-common apt-transport-https + apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F add-apt-repository -y 'deb https://static.redox-os.org/toolchain/apt /' + apt-get update apt-get install -y x86-64-unknown-redox-gcc diff --git a/src/ci/docker/dist-x86_64-redox/Dockerfile b/src/ci/docker/dist-x86_64-redox/Dockerfile index 6c592991bbde8..852ae05837309 100644 --- a/src/ci/docker/dist-x86_64-redox/Dockerfile +++ b/src/ci/docker/dist-x86_64-redox/Dockerfile @@ -1,37 +1,22 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y --no-install-recommends \ - g++ \ - make \ - file \ - curl \ - ca-certificates \ - python2.7 \ - git \ - cmake \ - sudo \ - bzip2 \ - xz-utils \ - wget \ - libssl-dev \ - pkg-config \ - software-properties-common \ - apt-transport-https - -# Install the cross compiler -RUN apt-key adv --batch --yes --keyserver keyserver.ubuntu.com --recv-keys AA12E97F0881517F && \ - add-apt-repository -y 'deb https://static.redox-os.org/toolchain/apt /' && \ - apt-get update && \ - apt-get install -y x86-64-unknown-redox-gcc - -RUN curl -OL https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64.deb && \ - dpkg -i dumb-init_*.deb && \ - rm dumb-init_*.deb +COPY scripts/cross-apt-packages.sh /scripts/ +RUN sh /scripts/cross-apt-packages.sh + +COPY scripts/dumb-init.sh /scripts/ +RUN sh /scripts/dumb-init.sh + ENTRYPOINT ["/usr/bin/dumb-init", "--"] -RUN curl -o /usr/local/bin/sccache \ - https://s3.amazonaws.com/rust-lang-ci/rust-ci-mirror/2017-05-12-sccache-x86_64-unknown-linux-musl && \ - chmod +x /usr/local/bin/sccache +COPY scripts/crosstool-ng.sh /scripts/ +RUN sh /scripts/crosstool-ng.sh + +WORKDIR /tmp +COPY cross/install-x86_64-redox.sh /tmp/ +RUN ./install-x86_64-redox.sh + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh ENV \ AR_x86_64_unknown_redox=x86_64-unknown-redox-ar \ From 1cc33c07fa8572d1575692ec123da9319a35ebcc Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 14 Aug 2017 15:46:43 -0600 Subject: [PATCH 4/5] Move Redox Dockerfile to disabled directory :( --- src/ci/docker/{ => disabled}/dist-x86_64-redox/Dockerfile | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/ci/docker/{ => disabled}/dist-x86_64-redox/Dockerfile (100%) diff --git a/src/ci/docker/dist-x86_64-redox/Dockerfile b/src/ci/docker/disabled/dist-x86_64-redox/Dockerfile similarity index 100% rename from src/ci/docker/dist-x86_64-redox/Dockerfile rename to src/ci/docker/disabled/dist-x86_64-redox/Dockerfile From 727b473e5c5d26b3f35259723101ba384e1a5502 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 15 Aug 2017 06:46:06 -0600 Subject: [PATCH 5/5] Mark install-x86_64-redox.sh as executable --- src/ci/docker/cross/install-x86_64-redox.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 src/ci/docker/cross/install-x86_64-redox.sh diff --git a/src/ci/docker/cross/install-x86_64-redox.sh b/src/ci/docker/cross/install-x86_64-redox.sh old mode 100644 new mode 100755