criu/scripts/build/Dockerfile.tmpl
Adrian Reber d165b94bb5 criu: use libuuid for criu_run_id generation
criu_run_id will be used in upcoming changes to create and remove
network rules for network locking. Instead of trying to come up with
a way to create unique IDs, just use an existing library.

libuuid should be installed on most systems as it is indirectly required
by systemd (via libmount).

Signed-off-by: Adrian Reber <areber@redhat.com>
2025-01-28 10:38:30 -08:00

52 lines
1.2 KiB
Cheetah

ARG CC=gcc
COPY scripts/ci/apt-install /bin/apt-install
# 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 apt-install \
libnet-dev \
libnl-route-3-dev \
$CC \
bsdmainutils \
build-essential \
git-core \
iptables \
libaio-dev \
libbsd-dev \
libcap-dev \
libgnutls28-dev \
libgnutls30 \
libnftables-dev \
libnl-3-dev \
libprotobuf-c-dev \
libprotobuf-dev \
libselinux-dev \
iproute2 \
kmod \
pkg-config \
protobuf-c-compiler \
protobuf-compiler \
python3-minimal \
python3-protobuf \
uuid-dev \
python3-yaml
COPY . /criu
WORKDIR /criu
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