Skip to content

Commit 5d16fe1

Browse files
committed
Allow docker containers to use rustup
1 parent cb105d1 commit 5d16fe1

File tree

28 files changed

+41
-56
lines changed

28 files changed

+41
-56
lines changed

ci/docker/aarch64-linux-android/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ RUN mv /root/.android /tmp
2727
RUN chmod 777 -R /tmp/.android
2828
RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
2929

30-
ENV PATH=$PATH:/rust/bin \
31-
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
30+
ENV CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
3231
CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=/tmp/runtest \
3332
HOME=/tmp
3433

ci/docker/aarch64-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
33
gcc libc6-dev ca-certificates \
44
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user
55
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
6-
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \
7-
PATH=$PATH:/rust/bin
6+
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu"

ci/docker/aarch64-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ RUN curl --retry 5 -L https://github.com/sabotage-linux/kernel-headers/archive/v
2020
rm -rf kernel-headers-3.12.6-6
2121

2222
# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
23-
ENV PATH=$PATH:/musl-aarch64/bin:/rust/bin \
23+
ENV PATH=$PATH:/musl-aarch64/bin \
2424
CC_aarch64_unknown_linux_musl=musl-gcc \
2525
RUSTFLAGS='-Clink-args=-lgcc' \
2626
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=musl-gcc \

ci/docker/arm-linux-androideabi/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ RUN mv /root/.android /tmp
2727
RUN chmod 777 -R /tmp/.android
2828
RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
2929

30-
ENV PATH=$PATH:/rust/bin \
31-
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
30+
ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
3231
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_RUNNER=/tmp/runtest \
3332
HOME=/tmp
3433

ci/docker/arm-unknown-linux-gnueabihf/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
33
gcc libc6-dev ca-certificates \
44
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
55
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
6-
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \
7-
PATH=$PATH:/rust/bin
6+
CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf"

ci/docker/arm-unknown-linux-musleabihf/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RUN curl --retry 5 -L https://github.com/sabotage-linux/kernel-headers/archive/v
1919
cd .. && \
2020
rm -rf kernel-headers-3.12.6-6
2121

22-
ENV PATH=$PATH:/musl-arm/bin:/rust/bin \
22+
ENV PATH=$PATH:/musl-arm/bin \
2323
CC_arm_unknown_linux_musleabihf=musl-gcc \
2424
CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER=musl-gcc \
2525
CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_RUNNER="qemu-arm -L /musl-arm"

ci/docker/asmjs-unknown-emscripten/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ RUN apt-get update && \
1313
COPY emscripten.sh /
1414
RUN bash /emscripten.sh
1515

16-
ENV PATH=$PATH:/rust/bin \
17-
CARGO_TARGET_ASMJS_UNKNOWN_EMSCRIPTEN_RUNNER=node
16+
ENV CARGO_TARGET_ASMJS_UNKNOWN_EMSCRIPTEN_RUNNER=node
1817

1918
COPY emscripten-entry.sh /
2019
ENTRYPOINT ["/emscripten-entry.sh"]

ci/docker/i686-linux-android/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ RUN mv /root/.android /tmp
2727
RUN chmod 777 -R /tmp/.android
2828
RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
2929

30-
ENV PATH=$PATH:/rust/bin \
31-
CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
30+
ENV CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
3231
CARGO_TARGET_I686_LINUX_ANDROID_RUNNER=/tmp/runtest \
3332
HOME=/tmp
3433

ci/docker/i686-unknown-linux-gnu/Dockerfile

-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@ FROM ubuntu:18.04
22
RUN apt-get update
33
RUN apt-get install -y --no-install-recommends \
44
gcc-multilib libc6-dev ca-certificates
5-
ENV PATH=$PATH:/rust/bin

ci/docker/i686-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ RUN curl --retry 5 -L https://github.com/sabotage-linux/kernel-headers/archive/v
2727
cd .. && \
2828
rm -rf kernel-headers-3.12.6-6
2929

30-
ENV PATH=$PATH:/musl-i686/bin:/rust/bin \
30+
ENV PATH=$PATH:/musl-i686/bin \
3131
CC_i686_unknown_linux_musl=musl-gcc

ci/docker/mips-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
qemu-system-mips
77

88
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \
9-
CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="qemu-mips -L /usr/mips-linux-gnu" \
10-
PATH=$PATH:/rust/bin
9+
CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="qemu-mips -L /usr/mips-linux-gnu"

ci/docker/mips-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN mkdir /toolchain
1111
RUN curl --retry 5 -L https://s3-us-west-1.amazonaws.com/rust-lang-ci2/libc/OpenWrt-SDK-ar71xx-generic_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \
1212
tar xjf - -C /toolchain --strip-components=1
1313

14-
ENV PATH=$PATH:/rust/bin:/toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15/bin \
14+
ENV PATH=$PATH:/toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15/bin \
1515
CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
1616
CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-openwrt-linux-gcc \
1717
CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mips -L /toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15"

ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77

88
ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc \
99
CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_RUNNER="qemu-mips64 -L /usr/mips64-linux-gnuabi64" \
10-
CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc \
11-
PATH=$PATH:/rust/bin
10+
CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc

ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77

88
ENV CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER=mips64el-linux-gnuabi64-gcc \
99
CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_RUNNER="qemu-mips64el -L /usr/mips64el-linux-gnuabi64" \
10-
CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc \
11-
PATH=$PATH:/rust/bin
10+
CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc

ci/docker/mipsel-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ RUN mkdir /toolchain
1111
RUN curl --retry 5 -L https://s3-us-west-1.amazonaws.com/rust-lang-ci2/libc/OpenWrt-Toolchain-malta-le_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \
1212
tar xjf - -C /toolchain --strip-components=2
1313

14-
ENV PATH=$PATH:/rust/bin:/toolchain/bin \
14+
ENV PATH=$PATH:/toolchain/bin \
1515
CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
1616
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc \
1717
CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mipsel -L /toolchain"

ci/docker/powerpc-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
66
qemu-system-ppc
77

88
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc \
9-
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -L /usr/powerpc-linux-gnu" \
10-
PATH=$PATH:/rust/bin
9+
CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -L /usr/powerpc-linux-gnu"

ci/docker/powerpc64-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77

88
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc \
99
CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -L /usr/powerpc64-linux-gnu" \
10-
CC=powerpc64-linux-gnu-gcc \
11-
PATH=$PATH:/rust/bin
10+
CC=powerpc64-linux-gnu-gcc

ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
77

88
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc \
99
CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -L /usr/powerpc64le-linux-gnu" \
10-
CC=powerpc64le-linux-gnu-gcc \
11-
PATH=$PATH:/rust/bin
10+
CC=powerpc64le-linux-gnu-gcc

ci/docker/s390x-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,4 @@ COPY test-runner-linux /
1414

1515
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc \
1616
CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_RUNNER="/test-runner-linux s390x" \
17-
CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \
18-
PATH=$PATH:/rust/bin
17+
CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc

ci/docker/sparc64-unknown-linux-gnu/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,4 @@ COPY test-runner-linux /
1717

1818
ENV CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_LINKER=sparc64-linux-gnu-gcc \
1919
CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="/test-runner-linux sparc64" \
20-
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \
21-
PATH=$PATH:/rust/bin
20+
CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc

ci/docker/wasm32-unknown-emscripten/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ RUN apt-get update && \
1313
COPY emscripten.sh /
1414
RUN bash /emscripten.sh
1515

16-
ENV PATH=$PATH:/rust/bin \
17-
CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUNNER=node-wrapper.sh
16+
ENV CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUNNER=node-wrapper.sh
1817

1918
COPY emscripten-entry.sh /
2019
COPY docker/wasm32-unknown-emscripten/node-wrapper.sh /usr/local/bin/node-wrapper.sh

ci/docker/x86_64-linux-android/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
1919
COPY android-sysimage.sh /android/
2020
RUN bash /android/android-sysimage.sh x86_64 x86_64-24_r07.zip
2121

22-
ENV PATH=$PATH:/rust/bin:/android/ndk-$ANDROID_ARCH/bin \
22+
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin \
2323
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android-gcc \
2424
CC_x86_64_linux_android=x86_64-linux-android-gcc \
2525
CXX_x86_64_linux_android=x86_64-linux-android-g++ \

ci/docker/x86_64-rumprun-netbsd/Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ USER root
33
RUN apt-get update
44
RUN apt-get install -y --no-install-recommends \
55
qemu
6-
ENV PATH=$PATH:/rust/bin \
7-
CARGO_TARGET_X86_64_RUMPRUN_NETBSD_RUNNER=/tmp/runtest
6+
ENV CARGO_TARGET_X86_64_RUMPRUN_NETBSD_RUNNER=/tmp/runtest
87

98
ADD docker/x86_64-rumprun-netbsd/runtest.rs /tmp/
109
ENTRYPOINT ["sh", "-c", "rustc /tmp/runtest.rs -o /tmp/runtest && exec \"$@\"", "--"]
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
FROM ubuntu:18.04
22
RUN apt-get update
33
RUN apt-get install -y --no-install-recommends \
4-
gcc libc6-dev ca-certificates
5-
ENV PATH=$PATH:/rust/bin
4+
gcc libc6-dev ca-certificates
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
FROM ubuntu:18.04
22
RUN apt-get update
33
RUN apt-get install -y --no-install-recommends \
4-
gcc-multilib libc6-dev ca-certificates
5-
ENV PATH=$PATH:/rust/bin
4+
gcc-multilib libc6-dev ca-certificates

ci/docker/x86_64-unknown-linux-musl/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ RUN curl --retry 5 -L https://github.com/sabotage-linux/kernel-headers/archive/v
1717
make ARCH=x86_64 prefix=/musl-x86_64 install -j4 && \
1818
cd .. && \
1919
rm -rf kernel-headers-3.12.6-6
20-
ENV PATH=$PATH:/musl-x86_64/bin:/rust/bin
20+
ENV PATH=$PATH:/musl-x86_64/bin

ci/run-docker.sh

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,14 @@ run() {
2424
--volume "${HOME}/.cargo":/cargo \
2525
$kvm \
2626
--env CARGO_HOME=/cargo \
27-
--volume "${HOME}"/.rustup:/rust:ro \
27+
--volume "$(rustc --print sysroot)":/rust:ro \
28+
--volume "${HOME}"/.rustup:/.rustup:ro \
29+
--env RUSTUP_HOME=/.rustup \
2830
--volume "$(pwd)":/checkout:ro \
2931
--volume "$(pwd)"/target:/checkout/target \
3032
--env CARGO_TARGET_DIR=/checkout/target \
3133
--workdir /checkout \
34+
-c 'export PATH=$PATH:/cargo/bin; bash' \
3235
libc \
3336
ci/run.sh "${1}"
3437
}

src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs

+12-11
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,9 @@ s! {
138138
pub ex_mask: *mut ::sockaddr,
139139
pub ex_masklen: ::c_int,
140140
}
141-
}
142141

143-
// This type uses the union mount_info:
144-
#[cfg(libc_union)]
145-
s! {
142+
// This type uses the union mount_info:
143+
#[cfg(libc_union)]
146144
pub struct statfs {
147145
pub f_flags: ::uint32_t,
148146
pub f_bsize: ::uint32_t,
@@ -264,16 +262,19 @@ extern {
264262
pub fn strtonum(nptr: *const ::c_char, minval: ::c_longlong,
265263
maxval: ::c_longlong,
266264
errstr: *mut *const ::c_char) -> ::c_longlong;
267-
268-
// these functions use statfs which uses the union mount_info:
269-
#[cfg(libc_union)]
270-
pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
271-
#[cfg(libc_union)]
272-
pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int;
273-
274265
pub fn dup3(src: ::c_int, dst: ::c_int, flags: ::c_int) -> ::c_int;
275266
}
276267

268+
cfg_if! {
269+
if #[cfg(libc_union)] {
270+
extern {
271+
// these functions use statfs which uses the union mount_info:
272+
pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
273+
pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int;
274+
}
275+
}
276+
}
277+
277278
cfg_if! {
278279
if #[cfg(target_arch = "x86")] {
279280
mod x86;

0 commit comments

Comments
 (0)