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 -r /src/dpdk/build/app/dpdk-testpmd /artifact/bin/ FROM scratch AS export COPY --from=build /out/ / COPY --from=build /artifact/ /