Sfoglia il codice sorgente

build: Simplify build image for snaps

Jakob Borg 5 anni fa
parent
commit
7b8622c2e9
1 ha cambiato i file con 10 aggiunte e 19 eliminazioni
  1. 10 19
      Dockerfile.builder

+ 10 - 19
Dockerfile.builder

@@ -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