From f9543b339dcc47b28e0eb1b39b6a59b70ca3867e Mon Sep 17 00:00:00 2001
From: Boris Pruessmann <boris@pruessmann.org>
Date: Mon, 20 Feb 2017 19:00:43 +0100
Subject: [PATCH] Added debian-jessie for aarch64

Adding debian-jessie as output for running make deb on aarch64. Also
update GO_VERSION to 1.8 to fix issues with incorrect pagesize.-

Signed-off-by: Boris Pruessmann <boris@pruessmann.org>
---
 .../deb/aarch64/debian-jessie/Dockerfile      | 25 +++++++++++++++++++
 contrib/builder/deb/aarch64/generate.sh       | 14 ++++++++---
 .../deb/aarch64/ubuntu-trusty/Dockerfile      |  2 +-
 .../deb/aarch64/ubuntu-xenial/Dockerfile      |  2 +-
 4 files changed, 38 insertions(+), 5 deletions(-)
 create mode 100644 contrib/builder/deb/aarch64/debian-jessie/Dockerfile

diff --git a/contrib/builder/deb/aarch64/debian-jessie/Dockerfile b/contrib/builder/deb/aarch64/debian-jessie/Dockerfile
new file mode 100644
index 0000000000..b86c9dffe1
--- /dev/null
+++ b/contrib/builder/deb/aarch64/debian-jessie/Dockerfile
@@ -0,0 +1,25 @@
+#
+# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/aarch64/generate.sh"!
+#
+
+FROM aarch64/debian:jessie
+
+RUN echo deb http://ftp.debian.org/debian jessie-backports main > /etc/apt/sources.list.d/backports.list
+RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common libsystemd-journal-dev golang-1.6-go --no-install-recommends && rm -rf /var/lib/apt/lists/*
+
+RUN update-alternatives --install /usr/bin/go go /usr/lib/go-1.6/bin/go 100
+
+# Install Go
+# aarch64 doesn't have official go binaries, so use the version of go installed from
+# the image to build go from source.
+ENV GO_VERSION 1.7.5
+RUN mkdir /usr/src/go && curl -fsSL https://golang.org/dl/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/src/go -xz --strip-components=1 \
+	&& cd /usr/src/go/src \
+	&& GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP="$(go env GOROOT)" ./make.bash
+
+ENV PATH /usr/src/go/bin:$PATH
+
+ENV AUTO_GOPATH 1
+
+ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux
+ENV RUNC_BUILDTAGS apparmor selinux
diff --git a/contrib/builder/deb/aarch64/generate.sh b/contrib/builder/deb/aarch64/generate.sh
index d27d48ca92..9188b74218 100755
--- a/contrib/builder/deb/aarch64/generate.sh
+++ b/contrib/builder/deb/aarch64/generate.sh
@@ -61,7 +61,7 @@ for version in "${versions[@]}"; do
 	)
 
 	case "$suite" in
-		trusty)
+		jessie|trusty)
 			packages+=( libsystemd-journal-dev )
 			# aarch64 doesn't have an official downloadable binary for go.
 			# And gccgo for trusty only includes Go 1.2 implementation which
@@ -83,12 +83,20 @@ for version in "${versions[@]}"; do
 			;;
 	esac
 
+    case "$suite" in
+        jessie)
+            echo 'RUN echo deb http://ftp.debian.org/debian jessie-backports main > /etc/apt/sources.list.d/backports.list' >> "$version/Dockerfile"
+            ;;
+        *)
+            ;;
+    esac
+
 	# update and install packages
 	echo "RUN apt-get update && apt-get install -y ${packages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
 	echo >> "$version/Dockerfile"
 
 	case "$suite" in
-		trusty)
+		jessie|trusty)
 			echo 'RUN update-alternatives --install /usr/bin/go go /usr/lib/go-1.6/bin/go 100' >> "$version/Dockerfile"
 			echo >> "$version/Dockerfile"
 			;;
@@ -106,7 +114,7 @@ for version in "${versions[@]}"; do
 	echo '	&& GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP="$(go env GOROOT)" ./make.bash' >> "$version/Dockerfile"
 	echo >> "$version/Dockerfile"
 
-	echo 'ENV PATH $PATH:/usr/src/go/bin' >> "$version/Dockerfile"
+	echo 'ENV PATH /usr/src/go/bin:$PATH' >> "$version/Dockerfile"
 	echo >> "$version/Dockerfile"
 
 	echo "ENV AUTO_GOPATH 1" >> "$version/Dockerfile"
diff --git a/contrib/builder/deb/aarch64/ubuntu-trusty/Dockerfile b/contrib/builder/deb/aarch64/ubuntu-trusty/Dockerfile
index 649d9f8b5b..7e7f6ddf5d 100644
--- a/contrib/builder/deb/aarch64/ubuntu-trusty/Dockerfile
+++ b/contrib/builder/deb/aarch64/ubuntu-trusty/Dockerfile
@@ -16,7 +16,7 @@ RUN mkdir /usr/src/go && curl -fsSL https://golang.org/dl/go${GO_VERSION}.src.ta
 	&& cd /usr/src/go/src \
 	&& GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP="$(go env GOROOT)" ./make.bash
 
-ENV PATH $PATH:/usr/src/go/bin
+ENV PATH /usr/src/go/bin:$PATH
 
 ENV AUTO_GOPATH 1
 
diff --git a/contrib/builder/deb/aarch64/ubuntu-xenial/Dockerfile b/contrib/builder/deb/aarch64/ubuntu-xenial/Dockerfile
index 1ef462abf8..8c3cb8e137 100644
--- a/contrib/builder/deb/aarch64/ubuntu-xenial/Dockerfile
+++ b/contrib/builder/deb/aarch64/ubuntu-xenial/Dockerfile
@@ -14,7 +14,7 @@ RUN mkdir /usr/src/go && curl -fsSL https://golang.org/dl/go${GO_VERSION}.src.ta
 	&& cd /usr/src/go/src \
 	&& GOOS=linux GOARCH=arm64 GOROOT_BOOTSTRAP="$(go env GOROOT)" ./make.bash
 
-ENV PATH $PATH:/usr/src/go/bin
+ENV PATH /usr/src/go/bin:$PATH
 
 ENV AUTO_GOPATH 1