github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/Dockerfile (about) 1 ARG VPP_VERSION=e416893a597959509c7f667c140c271c0bb78c14 2 ARG UBUNTU_VERSION=20.04 3 ARG GOVPP_VERSION=v0.3.5 4 5 FROM ubuntu:${UBUNTU_VERSION} as vppbuild 6 ARG VPP_VERSION 7 RUN apt-get update 8 RUN DEBIAN_FRONTEND=noninteractive TZ=US/Central apt-get install -y git make python3 sudo asciidoc 9 RUN git clone https://github.com/FDio/vpp.git 10 WORKDIR /vpp 11 RUN git checkout ${VPP_VERSION} 12 COPY patch/ patch/ 13 RUN test -x "patch/patch.sh" && ./patch/patch.sh || exit 1 14 RUN DEBIAN_FRONTEND=noninteractive TZ=US/Central UNATTENDED=y make install-dep 15 RUN make pkg-deb 16 RUN ./src/scripts/version > /vpp/VPP_VERSION 17 18 FROM vppbuild as version 19 CMD cat /vpp/VPP_VERSION 20 21 FROM ubuntu:${UBUNTU_VERSION} as vppinstall 22 COPY --from=vppbuild /var/lib/apt/lists/* /var/lib/apt/lists/ 23 COPY --from=vppbuild [ "/vpp/build-root/libvppinfra_*_amd64.deb", "/vpp/build-root/vpp_*_amd64.deb", "/vpp/build-root/vpp-plugin-core_*_amd64.deb", "/vpp/build-root/vpp-plugin-dpdk_*_amd64.deb", "/pkg/"] 24 RUN VPP_INSTALL_SKIP_SYSCTL=false apt install -f -y --no-install-recommends /pkg/*.deb ca-certificates iputils-ping iproute2 tcpdump iptables; \ 25 rm -rf /var/lib/apt/lists/*; \ 26 rm -rf /pkg 27 28 FROM ubuntu:${UBUNTU_VERSION} as vpp 29 COPY --from=vppinstall / / 30 31 FROM vpp as vpp-dbg 32 WORKDIR /pkg/ 33 COPY --from=vppbuild ["/vpp/build-root/libvppinfra-dev_*_amd64.deb", "/vpp/build-root/vpp-dbg_*_amd64.deb", "/vpp/build-root/vpp-dev_*_amd64.deb", "./" ] 34 RUN VPP_INSTALL_SKIP_SYSCTL=false apt install -f -y --no-install-recommends ./*.deb 35 36 37 FROM golang:1.15.3-alpine3.12 as binapi-generator 38 ENV GO111MODULE=on 39 ENV CGO_ENABLED=0 40 ENV GOBIN=/bin 41 ARG GOVPP_VERSION 42 RUN go get git.fd.io/govpp.git/cmd/binapi-generator@${GOVPP_VERSION} 43 44 FROM alpine:3.12 as gen 45 COPY --from=vpp /usr/share/vpp/api/ /usr/share/vpp/api/ 46 COPY --from=binapi-generator /bin/binapi-generator /bin/binapi-generator 47 COPY --from=vppbuild /vpp/VPP_VERSION /VPP_VERSION 48 WORKDIR /gen 49 CMD VPP_VERSION=$(cat /VPP_VERSION) binapi-generator ${PKGPREFIX+-import-prefix ${PKGPREFIX}}