criu/scripts/build/Dockerfile.archlinux
Radostin Stoyanov 7f0f07599a crit: fix compatibility with Python 3.12
Python 3.12 includes a few breaking changes, such as the removal of the
distutils module [1] and the deprecation of `setup.py install` in
favour of pip install [2]. This patch updates the installation script
for crit to reflect these changes by replacing the use of
`setup.py install` with `pip install` and `distutils` with
`setuptools`. In addition, a minimal pyproject.toml file has
been added as it is required by the new version of pip [3].

It is worth noting that with this change we are switching from the egg
packaging format to wheel [4] and add pip as a build dependency.

[1] https://www.python.org/downloads/release/python-3120a2/
[2] https://github.com/pypa/setuptools/pull/2824
[3] https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/
[4] https://packaging.python.org/en/latest/discussions/wheel-vs-egg/

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2023-04-15 21:17:21 -07:00

47 lines
694 B
Text

FROM docker.io/library/archlinux:latest
ARG CC=gcc
# Initialize machine ID
RUN systemd-machine-id-setup
RUN pacman -Syu --noconfirm \
$CC \
bash \
make \
coreutils \
git \
gnutls \
libaio \
libcap \
libnet \
libnl \
nftables \
pkgconfig \
protobuf-c \
protobuf \
python-pip \
python-protobuf \
which \
sudo \
iptables \
nftables \
iproute2 \
tar \
bash \
go \
python-yaml \
flake8 \
asciidoctor \
python-junit-xml \
python-importlib-metadata \
diffutils
COPY . /criu
WORKDIR /criu
RUN make mrproper && date && make -j $(nproc) CC="$CC" && date
# The rpc test cases are running as user #1000, let's add the user
RUN useradd -u 1000 test
RUN make -C test/zdtm