Files
scylladb/tools/toolchain/Dockerfile
Takuya ASADA 90ab2a24df toolchain: restore multiarch build
When we introduced optimized clang at 6e487a4, we dropped multiarch build on frozen toolchain, because building clang on QEMU emulation is too heavy.

Actually, even after the patch merged, there are two mode which does not build clang, --clang-build-mode INSTALL_FROM and --clang-build-mode SKIP.
So we should restore multiarch build only these mode, and keep skipping on INSTALL mode since it builds clang.

Since we apply multiarch on INSTALL_FROM mode, --clang-archive replaced
to --clang-archive-x86_64 and --clang-archive-aarch64.

Note that this breaks compatibility of existing clang archive, since it
changes clang root directory name from llvm-project to llvm-project-$ARCH.

Closes #20442

Closes scylladb/scylladb#20444
2024-09-12 10:44:45 +03:00

19 lines
602 B
Docker

FROM docker.io/fedora:40
ARG CLANG_BUILD="SKIP"
ARG CLANG_ARCHIVES
WORKDIR /mnt
RUN dnf -y update \
&& dnf -y install 'dnf-command(copr)' \
&& dnf -y install ccache \
&& dnf -y install devscripts debhelper fakeroot file rpm-build \
&& ./install-dependencies.sh && dnf clean all \
&& echo 'ALL ALL=(ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers \
&& cp ./tools/toolchain/system-auth /etc/pam.d \
&& echo 'Defaults !requiretty' >> /etc/sudoers
RUN mkdir -p /root/.m2/repository
ENV JAVA8_HOME=/usr/lib/jvm/java-1.8.0-openjdk
RUN ./tools/toolchain/optimized_clang.sh
CMD /bin/bash