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
19 lines
602 B
Docker
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
|