mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-23 18:25:14 +00:00
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>
47 lines
694 B
Text
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
|