Files
scylladb/tools/toolchain/Dockerfile
Avi Kivity 2d2a2ef277 tools: toolchain: dbuild: support nested containers
Pass through the local containers directory (it cannot
be bind-mounted to /var/lib/containers since podman checks
the path hasn't changed) with overrides to the paths. This
allows containers to be created inside the dbuild container,
so we can enlist pre-packaged software (such as opensearch)
in test.py. If the container images are already downloaded
in the host, they won't be downloaded again.

It turns out that the container ecosystem doesn't support
nested network namespaces well, so we configure the outer
container to use host networking for the inner containers.
It's useful anyway.

The frozen toolchain now installs podman and buildah so
there's something to actually drive those nested containers.
We disable weak dnf dependencies to avoid installing qemu.

The frozen toolchain is regenerated with optimized clang from

  https://devpkg.scylladb.com/clang/clang-19.1.7-Fedora-41-aarch64.tar.gz
  https://devpkg.scylladb.com/clang/clang-19.1.7-Fedora-41-x86_64.tar.gz

Closes scylladb/scylladb#24020
2025-05-08 13:00:16 +03:00

21 lines
698 B
Docker

FROM docker.io/fedora:41
ARG CLANG_BUILD="SKIP"
ARG CLANG_ARCHIVES
WORKDIR /mnt
RUN echo install_weak_deps=False >> /etc/dnf/dnf.conf
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 \
&& rm -rf /root/.cache /root/.cargo \
&& 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