diff options
| author | Pietro Albini <pietro@pietroalbini.org> | 2020-06-23 11:50:48 +0200 |
|---|---|---|
| committer | Pietro Albini <pietro@pietroalbini.org> | 2020-07-03 09:34:27 +0200 |
| commit | 5c876f336a8682d2d78827e169045e9a592803f7 (patch) | |
| tree | 0318da8eab2cdbd1da7f28f77091208e6a6cb3ec /src/ci/docker/dist-i686-linux | |
| parent | cd1a46d644791c79433db934ad4e6131c577efcc (diff) | |
| download | rust-5c876f336a8682d2d78827e169045e9a592803f7.tar.gz rust-5c876f336a8682d2d78827e169045e9a592803f7.zip | |
ci: move all x86_64 runners to the host-x86_64 directory
We need to add runners designed for an aarch64 host system, and it'd be nice to return an error message if someone tries to run an image designed for an host architecture in another one. To start the work on this, this commit moves all the existing builders in the host-x86_64 directory, and changes the run.sh script to look up the image in the correct directory based on the host architecture.
Diffstat (limited to 'src/ci/docker/dist-i686-linux')
| -rw-r--r-- | src/ci/docker/dist-i686-linux/Dockerfile | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/src/ci/docker/dist-i686-linux/Dockerfile b/src/ci/docker/dist-i686-linux/Dockerfile deleted file mode 100644 index ad675830b77..00000000000 --- a/src/ci/docker/dist-i686-linux/Dockerfile +++ /dev/null @@ -1,120 +0,0 @@ -FROM centos:5 - -WORKDIR /build - -# Centos 5 is EOL and is no longer available from the usual mirrors, so switch -# to http://vault.centos.org/ -RUN sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf -RUN sed -i 's/mirrorlist/#mirrorlist/' /etc/yum.repos.d/*.repo -RUN sed -i 's|#\(baseurl.*\)mirror.centos.org/centos/$releasever|\1vault.centos.org/5.11|' /etc/yum.repos.d/*.repo - -RUN yum upgrade -y && yum install -y \ - curl \ - bzip2 \ - gcc \ - gcc-c++ \ - make \ - glibc-devel \ - perl \ - zlib-devel \ - file \ - xz \ - which \ - pkgconfig \ - wget \ - autoconf \ - gettext - -ENV PATH=/rustroot/bin:$PATH -ENV LD_LIBRARY_PATH=/rustroot/lib64:/rustroot/lib -ENV PKG_CONFIG_PATH=/rustroot/lib/pkgconfig -WORKDIR /tmp -COPY dist-x86_64-linux/shared.sh /tmp/ - -# We need a build of openssl which supports SNI to download artifacts from -# static.rust-lang.org. This'll be used to link into libcurl below (and used -# later as well), so build a copy of OpenSSL with dynamic libraries into our -# generic root. -COPY dist-x86_64-linux/build-openssl.sh /tmp/ -RUN ./build-openssl.sh - -# The `curl` binary on CentOS doesn't support SNI which is needed for fetching -# some https urls we have, so install a new version of libcurl + curl which is -# using the openssl we just built previously. -# -# Note that we also disable a bunch of optional features of curl that we don't -# really need. -COPY dist-x86_64-linux/build-curl.sh /tmp/ -RUN ./build-curl.sh - -# binutils < 2.22 has a bug where the 32-bit executables it generates -# immediately segfault in Rust, so we need to install our own binutils. -# -# See https://github.com/rust-lang/rust/issues/20440 for more info -COPY dist-x86_64-linux/build-binutils.sh /tmp/ -RUN ./build-binutils.sh - -# libssh2 (a dependency of Cargo) requires cmake 2.8.11 or higher but CentOS -# only has 2.6.4, so build our own -COPY dist-x86_64-linux/build-cmake.sh /tmp/ -RUN ./build-cmake.sh - -# Need a newer version of gcc than centos has to compile LLVM nowadays -COPY dist-x86_64-linux/build-gcc.sh /tmp/ -RUN ./build-gcc.sh - -# CentOS 5.5 has Python 2.4 by default, but LLVM needs 2.7+ -COPY dist-x86_64-linux/build-python.sh /tmp/ -RUN ./build-python.sh - -# Now build LLVM+Clang 7, afterwards configuring further compilations to use the -# clang/clang++ compilers. -COPY dist-x86_64-linux/build-clang.sh dist-x86_64-linux/llvm-project-centos.patch /tmp/ -RUN ./build-clang.sh -ENV CC=clang CXX=clang++ - -# Apparently CentOS 5.5 desn't have `git` in yum, but we're gonna need it for -# cloning, so download and build it here. -COPY dist-x86_64-linux/build-git.sh /tmp/ -RUN ./build-git.sh - -# for sanitizers, we need kernel headers files newer than the ones CentOS ships -# with so we install newer ones here -COPY dist-x86_64-linux/build-headers.sh /tmp/ -RUN ./build-headers.sh - -# OpenSSL requires a more recent version of perl -# with so we install newer ones here -COPY dist-x86_64-linux/build-perl.sh /tmp/ -RUN ./build-perl.sh - -COPY scripts/sccache.sh /scripts/ -RUN sh /scripts/sccache.sh - -ENV HOSTS=i686-unknown-linux-gnu - -ENV RUST_CONFIGURE_ARGS \ - --enable-full-tools \ - --enable-sanitizers \ - --enable-profiler \ - --set target.i686-unknown-linux-gnu.linker=clang \ - --build=i686-unknown-linux-gnu \ - --set rust.jemalloc -ENV SCRIPT python2.7 ../x.py dist --build $HOSTS --host $HOSTS --target $HOSTS -ENV CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_LINKER=clang - -# This was added when we switched from gcc to clang. It's not clear why this is -# needed unfortunately, but without this the stage1 bootstrap segfaults -# somewhere inside of a build script. The build ends up just hanging instead of -# actually killing the process that segfaulted, but if the process is run -# manually in a debugger the segfault is immediately seen as well as the -# misaligned stack access. -# -# Added in #50200 there's some more logs there -ENV CFLAGS -mstackrealign - -# When we build cargo in this container, we don't want it to use the system -# libcurl, instead it should compile its own. -ENV LIBCURL_NO_PKG_CONFIG 1 - -ENV DIST_REQUIRE_ALL_TOOLS 1 |
