Skip to content

Commit a9f6ace

Browse files
committed
Auto merge of #1536 - alexcrichton:vendored-openssl, r=alexcrichton
Use `openssl-src` from crates.io to link to OpenSSL This commit updates the CI builds for rustup to always build `openssl-src` from crates.io instead of having a baked-in build of OpenSSL. This matches what Cargo has switched to as well, and is intended to centralize OpenSSL updates to one crates.io crate. This also modernizes the docker containers and builds a bit to remove the need for some scripts here and there.
2 parents 75213a2 + a699b6d commit a9f6ace

File tree

22 files changed

+100
-255
lines changed

22 files changed

+100
-255
lines changed

.travis.yml

+7-23
Original file line numberDiff line numberDiff line change
@@ -10,44 +10,39 @@ matrix:
1010
# "super old glibc" to ensure that it runs on as many platforms as possible.
1111
- os: linux
1212
env: TARGET=i686-unknown-linux-gnu
13-
DOCKER=alexcrichton/rust-slave-dist:2015-10-20b
13+
DOCKER=i686-unknown-linux-gnu
1414
if: branch != master
1515
- os: linux
1616
env: TARGET=x86_64-unknown-linux-gnu
17-
DOCKER=alexcrichton/rust-slave-dist:2015-10-20b
17+
DOCKER=x86_64-unknown-linux-gnu
1818
NO_ADD=1
1919

2020
# Cross builds happen in the `rust-slave-linux-cross` image to ensure that
2121
# we use the right cross compilers for these targets. That image should
2222
# bundle all the gcc cross compilers to enable us to build OpenSSL
2323
- os: linux
2424
env: TARGET=arm-unknown-linux-gnueabi
25-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
25+
DOCKER=arm-unknown-linux-gnueabi
2626
SKIP_TESTS=1
2727
if: branch != master
2828
- os: linux
2929
env: TARGET=arm-unknown-linux-gnueabihf
30-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
30+
DOCKER=arm-unknown-linux-gnueabihf
3131
SKIP_TESTS=1
3232
if: branch != master
3333
- os: linux
3434
env: TARGET=armv7-unknown-linux-gnueabihf
35-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
35+
DOCKER=armv7-unknown-linux-gnueabihf
3636
SKIP_TESTS=1
3737
if: branch != master
3838
- os: linux
3939
env: TARGET=aarch64-unknown-linux-gnu
40-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
40+
DOCKER=aarch64-unknown-linux-gnu
4141
SKIP_TESTS=1
4242
if: branch != master
4343
- os: linux
4444
env: TARGET=x86_64-unknown-freebsd
45-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
46-
SKIP_TESTS=1
47-
if: branch != master
48-
- os: linux
49-
env: TARGET=x86_64-unknown-netbsd
50-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
45+
DOCKER=x86_64-unknown-freebsd
5146
SKIP_TESTS=1
5247
if: branch != master
5348
- os: linux
@@ -134,17 +129,6 @@ matrix:
134129
NO_ADD=1
135130
if: branch != master
136131
osx_image: xcode9.2
137-
allow_failures:
138-
- env: TARGET=x86_64-unknown-netbsd
139-
DOCKER=alexcrichton/rust-slave-linux-cross:2016-11-11
140-
SKIP_TESTS=1
141-
142-
cache:
143-
# We're going to download things we don't necessarily want to cache into the `target` directory, so
144-
# don't use travis's native `cargo` caching, which just grabs the whole folder.
145-
directories:
146-
- target/$TARGET/openssl/openssl-install
147-
- target/release/deps
148132

149133
install:
150134
- if [ -z "$NO_ADD" ]; then rustup target add $TARGET; fi

Cargo.lock

+23-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ default = ["curl-backend", "reqwest-backend"]
2323

2424
curl-backend = ["download/curl-backend"]
2525
reqwest-backend = ["download/reqwest-backend"]
26+
vendored-openssl = ['openssl/vendored']
2627

2728
# Include in the default set to disable self-update and uninstall.
2829
no-self-update = []
@@ -55,6 +56,7 @@ time = "0.1.34"
5556
toml = "0.4"
5657
url = "1.1.0"
5758
wait-timeout = "0.1.5"
59+
openssl = { version = '0.10.15', optional = true }
5860

5961
[target."cfg(windows)".dependencies]
6062
winapi = { version = "0.3", features = ["jobapi", "jobapi2", "processthreadsapi", "psapi", "synchapi", "winuser"] }

ci/build-run-docker.sh

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/bin/sh
1+
#!/bin/bash
22

33
set -ex
44

@@ -21,8 +21,14 @@ docker run \
2121
--workdir /src \
2222
--env TARGET=$TARGET \
2323
--env SKIP_TESTS=$SKIP_TESTS \
24+
--env CARGO_HOME=/src/target/cargo-home \
25+
--env CARGO_TARGET_DIR=/src/target \
26+
--env LIBZ_SYS_STATIC=1 \
27+
--entrypoint sh \
28+
--tty \
29+
--init \
2430
$DOCKER \
25-
ci/run-docker.sh
31+
-c 'PATH=$PATH:/travis-rust/bin exec bash ci/run.sh'
2632

2733
# check that rustup-init was built with ssl support
2834
# see https://github.com/rust-lang-nursery/rustup.rs/issues/1051
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM alexcrichton/rust-slave-linux-cross:2016-11-11
2+
3+
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc

ci/docker/android/Dockerfile

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && \
44
apt-get install -y --no-install-recommends \
@@ -39,4 +39,10 @@ ENV PATH=$PATH:/android-ndk/arm64/bin
3939
ENV PATH=$PATH:/android-ndk/x86/bin
4040
ENV PATH=$PATH:/android-ndk/x86_64/bin
4141

42+
ENV CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc
43+
ENV CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc
44+
ENV CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc
45+
ENV CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc
46+
ENV CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=x86_64-linux-android-gcc
47+
4248
WORKDIR /buildslave
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM alexcrichton/rust-slave-linux-cross:2016-11-11
2+
3+
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM alexcrichton/rust-slave-linux-cross:2016-11-11
2+
3+
ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM alexcrichton/rust-slave-linux-cross:2016-11-11
2+
3+
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM alexcrichton/rust-slave-dist:2015-10-20b
2+
USER root
3+
4+
WORKDIR /
5+
RUN curl https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz | tar xzf -
6+
WORKDIR /perl-5.28.0
7+
RUN ./configure.gnu
8+
RUN make -j$(nproc)
9+
RUN make install

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-mips-linux-gnu \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_mips_unknown_linux_gnu=mips-linux-gnu-gcc
12+
ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-mips64-linux-gnuabi64 \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc
12+
ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-mips64el-linux-gnuabi64 \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_mips64el_unknown_linux_gnuabi64=mips64el-linux-gnuabi64-gcc
12+
ENV CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_LINKER=mips64el-linux-gnuabi64-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-mipsel-linux-gnu \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_mipsel_unknown_linux_gnu=mipsel-linux-gnu-gcc
12+
ENV CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_GNU_LINKER=mipsel-linux-gnu-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-powerpc-linux-gnu \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_powerpc_unknown_linux_gnu=powerpc-linux-gnu-gcc
12+
ENV CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_LINKER=powerpc-linux-gnu-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-powerpc64-linux-gnu \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_powerpc64_unknown_linux_gnu=powerpc64-linux-gnu-gcc
12+
ENV CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_LINKER=powerpc64-linux-gnu-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-powerpc64le-linux-gnu \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-gcc
12+
ENV CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:16.04
1+
FROM ubuntu:18.04
22

33
RUN apt-get update && apt-get install -y \
44
gcc-s390x-linux-gnu \
@@ -9,3 +9,4 @@ RUN apt-get update && apt-get install -y \
99
gcc
1010

1111
ENV CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc
12+
ENV CARGO_TARGET_S390X_UNKNOWN_LINUX_GNU_LINKER=s390x-linux-gnu-gcc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM alexcrichton/rust-slave-linux-cross:2016-11-11
2+
3+
ENV CARGO_TARGET_X86_64_UNKNOWN_FREEBSD_LINKER=x86_64-unknown-freebsd10-gcc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM alexcrichton/rust-slave-dist:2015-10-20b
2+
USER root
3+
4+
WORKDIR /
5+
RUN curl https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz | tar xzf -
6+
WORKDIR /perl-5.28.0
7+
RUN ./configure.gnu
8+
RUN make -j$(nproc)
9+
RUN make install

0 commit comments

Comments
 (0)