criu/scripts/build/Dockerfile.tmpl
Shashank Balaji 4c250c1b74 ci: use package-manager dependency install scripts
Currently, adding a package which is required either for development or testing
requires it to be added in multiple places due to many duplicated Dockerfiles
and installation scripts. This makes it difficult to ensure that all scripts
are updated appropriately and can lead to some places being missed.

This patch consolidates the list of dependencies and adds installation
scripts for each package-manager used in our CI (apk, apt, dnf, pacman).

This change also replaces the `debian/dev-packages.lst` as this subfolder
conflicts with the Ubuntu/Debian packing scripts used for CRIU:
https://github.com/rst0git/criu-deb-packages

This patch also removes the CentOS 8 build scripts as it is EOL
and the container registry is no longer available.

Signed-off-by: Shashank Balaji <shashank.mahadasyam@sony.com>
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2025-09-26 11:17:59 +01:00

24 lines
806 B
Cheetah

ARG CC=gcc
COPY . /criu
WORKDIR /criu
# On Ubuntu, kernel modules such as ip_tables and xt_mark may not be loaded by default
# We need to install kmod to enable iptables to load these modules for us.
RUN contrib/apt-install "$CC" && contrib/dependencies/apt-packages.sh
RUN git clean -dfx && date && \
# Check single object build
make -j $(nproc) CC="$CC" criu/parasite-syscall.o && \
# Compile criu
make -j $(nproc) CC="$CC" && \
date && \
# Check that "make mrproper" works
make mrproper && ! git clean -ndx --exclude=scripts/build \
--exclude=.config --exclude=test | grep .
# Re-compile criu and compile tests for 'make docker-test'
RUN make -j $(nproc) CC="$CC" && \
date && make -j $(nproc) CC="$CC" -C test/zdtm && date
#RUN make test/compel/handle_binary && ./test/compel/handle_binary