From a12d90ea8439aa57e50134a16b1a6b4954312332 Mon Sep 17 00:00:00 2001 From: aptalca Date: Mon, 18 May 2020 17:05:13 -0400 Subject: [PATCH 1/2] code-server-golang: multi arch --- Dockerfile | 12 ++++++++---- root/etc/cont-init.d/98-golang | 9 +++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index aef9d09..f88202b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,12 +9,16 @@ RUN \ if [ -z ${GO_VERSION+x} ]; then \ GO_VERSION=$(curl -sX GET https://golang.org/dl/ | grep -o '.*linux-amd64.*' | grep -oP '(?<=go).*(?=.linux)'); \ fi && \ - mkdir -p /root-layer/usr/local && \ + mkdir -p /root-layer/golang && \ curl -o \ - /tmp/golang.tar.gz -L \ + /root-layer/golang/golang_x86_64.tar.gz -L \ https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz && \ - tar xzf /tmp/golang.tar.gz -C \ - /root-layer/usr/local + curl -o \ + /root-layer/golang/golang_armv7l.tar.gz -L \ + https://dl.google.com/go/go${GO_VERSION}.linux-armv6l.tar.gz && \ + curl -o \ + /root-layer/golang/golang_aarch64.tar.gz -L \ + https://dl.google.com/go/go${GO_VERSION}.linux-arm64.tar.gz COPY root/ /root-layer/ diff --git a/root/etc/cont-init.d/98-golang b/root/etc/cont-init.d/98-golang index d5e0751..41e1668 100644 --- a/root/etc/cont-init.d/98-golang +++ b/root/etc/cont-init.d/98-golang @@ -8,3 +8,12 @@ if grep -q '^PATH=' /etc/services.d/code-server/run; then else sed -i '/^#!\/usr\/bin/a \\n# Added by codeserver-golang\nexport PATH=$PATH:/usr/local/go/bin' /etc/services.d/code-server/run fi + +ARCH=$(uname -m) +if [ -f "/golang/golang_${ARCH}.tar.gz" ]; then + echo "Installing golang" + tar xzf "/golang/golang_${ARCH}.tar.gz" -C /usr/local + rm -rf /golang +else + echo "Golang already installed, skipping" +fi From e4aebe3b5708d0107baeacb126ff54e3e7644bba Mon Sep 17 00:00:00 2001 From: n-i-x <440158+n-i-x@users.noreply.github.com> Date: Tue, 19 May 2020 23:31:49 -0400 Subject: [PATCH 2/2] Update 98-golang --- root/etc/cont-init.d/98-golang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/root/etc/cont-init.d/98-golang b/root/etc/cont-init.d/98-golang index d5e0751..e060939 100644 --- a/root/etc/cont-init.d/98-golang +++ b/root/etc/cont-init.d/98-golang @@ -1,8 +1,8 @@ #!/usr/bin/with-contenv bash echo "ensuring golang is in PATH" -if grep -q '^PATH=' /etc/services.d/code-server/run; then - if ! grep -q '^PATH=.*/usr/local/go/bin.*' /etc/services.d/code-server/run; then +if grep -q -E '^(export )?PATH=' /etc/services.d/code-server/run; then + if ! grep -q -E '^(export )?PATH=.*/usr/local/go/bin.*' /etc/services.d/code-server/run; then sed -i '/PATH/ s/$/:\/usr\/local\/go\/bin/' /etc/services.d/code-server/run fi else