Dockerfile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # syntax=docker/dockerfile:1
  2. ARG GO_IMAGE
  3. ARG DISTRO=ubuntu
  4. ARG SUITE=noble
  5. ARG VERSION_ID=24.04
  6. ARG BUILD_IMAGE=${DISTRO}:${SUITE}
  7. FROM ${GO_IMAGE} AS golang
  8. FROM ${BUILD_IMAGE}
  9. # Remove diverted man binary to prevent man-pages being replaced with "minimized" message. See docker/for-linux#639
  10. RUN if [ "$(dpkg-divert --truename /usr/bin/man)" = "/usr/bin/man.REAL" ]; then \
  11. rm -f /usr/bin/man; \
  12. dpkg-divert --quiet --remove --rename /usr/bin/man; \
  13. fi
  14. ARG DEBIAN_FRONTEND=noninteractive
  15. RUN apt-get update && apt-get install -y curl devscripts equivs git
  16. ENV GOPROXY=https://proxy.golang.org|direct
  17. ENV GO111MODULE=off
  18. ENV GOPATH /go
  19. ENV GOTOOLCHAIN=local
  20. ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin
  21. ARG COMMON_FILES
  22. COPY --link ${COMMON_FILES} /root/build-deb/debian
  23. RUN apt-get update \
  24. && mk-build-deps -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" -i /root/build-deb/debian/control
  25. COPY --link sources/ /sources
  26. ARG DISTRO
  27. ARG SUITE
  28. ARG VERSION_ID
  29. ENV DISTRO=${DISTRO}
  30. ENV SUITE=${SUITE}
  31. ENV VERSION_ID=${VERSION_ID}
  32. COPY --link --from=golang /usr/local/go /usr/local/go
  33. WORKDIR /root/build-deb
  34. COPY build-deb /root/build-deb/build-deb
  35. ENTRYPOINT ["/root/build-deb/build-deb"]