From 250d0b648ca658ebb5d5ec82efc419bee0d7d258 Mon Sep 17 00:00:00 2001 From: lucor Date: Sun, 19 Jan 2025 20:34:23 +0100 Subject: [PATCH] minisign: install using binaries to support arm64 The docker images is not available for arm64. This commit moves to the release package from GitHub that ships with the binaries for amd64 and arm64 --- base/Dockerfile | 29 ++++++++++++++++------------- darwin/Dockerfile | 10 ++++++---- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/base/Dockerfile b/base/Dockerfile index 7ebf5e5..a953026 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -1,6 +1,3 @@ -# minisign is needed to verify the zig download -FROM jedisct1/minisign AS minisign - FROM debian:bookworm-slim AS base ENV GO_VERSION=1.23.5 @@ -10,6 +7,7 @@ ENV ZIG_VERSION=0.13.0 ENV ZIG_MINISIGN_KEY="RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U" ENV FYNE_VERSION=v2.5.3 ENV FIXUID_VERSION=0.5.1 +ENV MINISIGN_VERSION=0.12 # Install common dependencies @@ -62,36 +60,41 @@ WORKDIR $GOPATH # https://github.com/docker-library/golang/issues/472 ENV GOTOOLCHAIN=local -# Install Zig - -# copy minisign -COPY --from=minisign /usr/local/bin/minisign /usr/local/bin/minisign +# Install minisign +RUN set -eux; \ + curl -sSL https://github.com/jedisct1/minisign/releases/download/${MINISIGN_VERSION}/minisign-${MINISIGN_VERSION}-linux.tar.gz -o minisign.tgz; \ + mkdir -p /usr/local/minisign; ls -l;\ + tar -C /usr/local/minisign --strip-components=1 -zxvf minisign.tgz; \ + rm minisign.tgz +# Install Zig RUN set -eux; \ arch="$(dpkg --print-architecture)"; \ url=; \ public_key=${ZIG_MINISIGN_KEY}; \ case "$arch" in \ 'amd64') \ + arch="x86_64";\ # dev release - # url="https://ziglang.org/builds/zig-linux-x86_64-${ZIG_VERSION}.tar.xz";\ + # url="https://ziglang.org/builds/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\ # stable release - url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz";\ + url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\ ;; \ 'arm64') \ + arch="aarch64";\ # dev release - #url="https://ziglang.org/builds/zig-linux-aarch64-${ZIG_VERSION}.tar.xz";\ + #url="https://ziglang.org/builds/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\ # stable release - url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-aarch64-${ZIG_VERSION}.tar.xz";\ + url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\ ;; \ *) echo >&2 "error: unsupported architecture '$arch'"; exit 1 ;; \ esac; \ curl -sSL ${url} -o zig.tar.xz; \ curl -sSL ${url}.minisig -o zig.tar.xz.minisig; \ - minisign -Vm zig.tar.xz -P ${public_key}; \ + /usr/local/minisign/${arch}/minisign -Vm zig.tar.xz -P ${public_key}; \ tar -C /usr/local -Jxvf zig.tar.xz; \ mv /usr/local/zig-* /usr/local/zig; \ - rm zig.tar.xz; \ + rm zig.tar*; \ zig version; ################################################################## diff --git a/darwin/Dockerfile b/darwin/Dockerfile index a8602ee..bf946da 100644 --- a/darwin/Dockerfile +++ b/darwin/Dockerfile @@ -16,18 +16,20 @@ RUN set -eux; \ public_key=${ZIG_MINISIGN_KEY}; \ case "$arch" in \ 'amd64') \ - url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-x86_64-${ZIG_VERSION}.tar.xz";\ + arch="x86_64";\ + url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\ ;; \ 'arm64') \ - url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-aarch64-${ZIG_VERSION}.tar.xz";\ + arch="aarch64";\ + url="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${arch}-${ZIG_VERSION}.tar.xz";\ ;; \ *) echo >&2 "error: unsupported architecture '$arch'"; exit 1 ;; \ esac; \ curl -sSL ${url} -o zig.tar.xz; \ curl -sSL ${url}.minisig -o zig.tar.xz.minisig; \ - minisign -Vm zig.tar.xz -P ${public_key}; \ + /usr/local/minisign/${arch}/minisign -Vm zig.tar.xz -P ${public_key}; \ tar -C /usr/local -Jxvf zig.tar.xz; \ mv /usr/local/zig-* /usr/local/zig; \ - rm zig.tar.xz; \ + rm zig.tar*; \ zig version;