criu/scripts/build/Dockerfile.alpine
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

51 lines
730 B
Text

FROM alpine
ARG CC=gcc
RUN apk update && apk add \
$CC \
bash \
build-base \
coreutils \
procps \
git \
gnutls-dev \
libaio-dev \
libcap-dev \
libnet-dev \
libnl3-dev \
nftables \
nftables-dev \
pkgconfig \
protobuf-c-dev \
protobuf-dev \
py3-pip \
py3-protobuf \
python3 \
sudo \
libcap-utils \
util-linux
COPY . /criu
WORKDIR /criu
RUN make mrproper && date && make -j $(nproc) CC="$CC" && date
RUN apk add \
ip6tables \
iptables \
nftables \
iproute2 \
tar \
bash \
go \
e2fsprogs \
py-yaml \
py3-flake8 \
py3-importlib-metadata \
asciidoctor
# The rpc test cases are running as user #1000, let's add the user
RUN adduser -u 1000 -D test
RUN pip3 install junit_xml
RUN make -C test/zdtm