52 lines
1.2 KiB
Docker
52 lines
1.2 KiB
Docker
ARG TAG=dev
|
|
ARG DOCKER_IMAGE_ROOT=monok8s
|
|
|
|
FROM alpine:3.22 AS build
|
|
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
build-base \
|
|
linux-headers \
|
|
meson \
|
|
ninja \
|
|
pkgconf \
|
|
python3 \
|
|
py3-elftools \
|
|
coreutils \
|
|
file \
|
|
git \
|
|
bsd-compat-headers
|
|
|
|
RUN mkdir /src
|
|
|
|
WORKDIR /src
|
|
|
|
ARG DPDK_TAR
|
|
ARG DPDK_VERSION
|
|
|
|
COPY ${DPDK_TAR} /tmp/
|
|
|
|
RUN set -eux; \
|
|
mkdir -p /src/dpdk; \
|
|
tar -xf "/tmp/$(basename "${DPDK_TAR}")" -C /src/dpdk --strip-components=1
|
|
|
|
RUN set -eux; \
|
|
meson setup /src/dpdk/build /src/dpdk \
|
|
--buildtype=release \
|
|
-Dplatform=dpaa \
|
|
-Dtests=false \
|
|
-Ddisable_drivers=crypto/*,compress/*,baseband/*,dma/*,event/*,regex/*,ml/*,gpu/*,raw/*,net/pcap,net/tap,net/vhost,net/virtio,net/ixgbe,net/i40e,net/txgbe,net/ring,net/af_packet; \
|
|
meson configure /src/dpdk/build | tee /tmp/meson-config.txt; \
|
|
grep -Ei 'dpaa|platform|disable_drivers' /tmp/meson-config.txt || true; \
|
|
ninja -C /src/dpdk/build; \
|
|
DESTDIR=/out ninja -C /src/dpdk/build install
|
|
|
|
RUN set -eux; \
|
|
mkdir -p /artifact/bin; \
|
|
test -x /src/dpdk/build/app/dpdk-testpmd; \
|
|
cp /src/dpdk/build/app/dpdk-testpmd /artifact/bin/
|
|
|
|
FROM scratch AS export
|
|
COPY --from=build /out/ /
|
|
COPY --from=build /artifact/ /
|