diff options
author | Ed Warnicke <hagbard@gmail.com> | 2022-04-26 18:57:24 -0500 |
---|---|---|
committer | Ondrej Fabry <ofabry@cisco.com> | 2022-05-19 08:53:29 +0000 |
commit | 020d8b00b60f80cccc902da6827c8b8687247b9a (patch) | |
tree | b26306141bafa5f6372bbdad6c333ba9511dca7e /Dockerfile | |
parent | 16a47ef937b3a5ce6acf45885386062b323c8d25 (diff) |
Add Dockerfile to ease generation of binapi/
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Change-Id: I2ca5fce1717c798348bb128d5252050cf78b0df2
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d83f491 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +ARG VPP_VERSION=v21.06 +ARG UBUNTU_VERSION=20.04 + +FROM ubuntu:${UBUNTU_VERSION} as vppbuild +ARG VPP_VERSION +RUN apt-get update +RUN DEBIAN_FRONTEND=noninteractive TZ=US/Central apt-get install -y git make python3 sudo asciidoc +RUN git clone https://github.com/FDio/vpp.git +WORKDIR /vpp +RUN git checkout ${VPP_VERSION} +#COPY patch/ patch/ +#RUN test -x "patch/patch.sh" && ./patch/patch.sh || exit 1 +RUN DEBIAN_FRONTEND=noninteractive TZ=US/Central UNATTENDED=y make install-dep +RUN make pkg-deb +RUN ./src/scripts/version > /vpp/VPP_VERSION + +FROM vppbuild as vppinstall +#COPY --from=vppbuild /var/lib/apt/lists/* /var/lib/apt/lists/ +#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/"] +#RUN VPP_INSTALL_SKIP_SYSCTL=false apt install -f -y --no-install-recommends /pkg/*.deb ca-certificates iputils-ping iproute2 tcpdump; \ +# rm -rf /var/lib/apt/lists/*; \ +# rm -rf /pkg +RUN VPP_INSTALL_SKIP_SYSCTL=false apt install -f -y --no-install-recommends /vpp/build-root/*.deb ca-certificates iputils-ping iproute2 tcpdump; \ + rm -rf /var/lib/apt/lists/*; \ + rm -rf /pkg + +FROM golang:1.17.9-alpine3.15 as binapi-generator +ENV GO111MODULE=on +ENV CGO_ENABLED=0 +ENV GOBIN=/bin +ARG GOVPP_VERSION +COPY . /govpp +WORKDIR /govpp +RUN go build -o /bin/binapi-generator ./cmd/binapi-generator + +FROM binapi-generator as gen +COPY --from=vppinstall /usr/share/vpp/api/ /usr/share/vpp/api/ +COPY --from=vppinstall /vpp/VPP_VERSION /VPP_VERSION +WORKDIR /gen/binapi +CMD VPP_VERSION=$(cat /VPP_VERSION) go generate . |