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