From 3e0241ea31af1c0f298a532c9ea60016ead60995 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Fri, 14 Feb 2020 10:44:31 +0100 Subject: [PATCH] build: Dockerfile for the builder image --- Dockerfile.builder | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Dockerfile.builder diff --git a/Dockerfile.builder b/Dockerfile.builder new file mode 100644 index 000000000..20806cfea --- /dev/null +++ b/Dockerfile.builder @@ -0,0 +1,26 @@ +# It's difficult to install snapcraft (the packaging tool) on a non-snap +# distribution such as Debian without running snapd (which doesn't work under +# Docker). We cheat by taking their Docker image and snarfing the resulting +# binaries. +FROM snapcore/snapcraft AS snapcraft + +# Otherwise we base on the Go image, which is Debian based. +FROM golang + +# The snap stuff, as mentioned, with variables set to let the snapcraft snap play ball +COPY --from=snapcraft /snap /snap +ENV LANG="en_US.UTF-8" +ENV LANGUAGE="en_US:en" +ENV LC_ALL="en_US.UTF-8" +ENV SNAP="/snap/snapcraft/current" +ENV SNAP_NAME="snapcraft" +ENV SNAP_ARCH="amd64" +ENV PATH="$PATH:/snap/bin" + +# FPM to build Debian packages +RUN apt-get update && apt-get install -y --no-install-recommends \ + locales rubygems ruby-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && gem install --no-ri --no-rdoc fpm \ + && locale-gen en_US.UTF-8