|
|
@@ -1,26 +1,17 @@
|
|
|
-# 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
|
|
|
+# We will grab the Go compiler from the latest Go image.
|
|
|
+FROM golang as go
|
|
|
|
|
|
-# Otherwise we base on the Go image, which is Debian based.
|
|
|
-FROM golang
|
|
|
+# Otherwise we base on the snapcraft container as that is by far the
|
|
|
+# most complex and tricky thing to get installed and working...
|
|
|
+FROM snapcore/snapcraft
|
|
|
|
|
|
-# 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"
|
|
|
+# Go
|
|
|
+COPY --from=go /usr/local/go /usr/local/go
|
|
|
+ENV PATH="/usr/local/go/bin:$PATH"
|
|
|
|
|
|
# FPM to build Debian packages
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
- locales rubygems ruby-dev \
|
|
|
+ locales rubygems ruby-dev build-essential git \
|
|
|
&& apt-get clean \
|
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
|
- && gem install --no-ri --no-rdoc fpm \
|
|
|
- && locale-gen en_US.UTF-8
|
|
|
+ && gem install --no-ri --no-rdoc fpm
|