We need a relatively recent `apk` that can sign package indexes. You can
find more details in the referenced issue below. However, it has not
been released yet and is not available as a prebuilt download.
Therefore, until it becomes available, let's build a static version and
use that in the meantime.
Fixes: a94d4e15fdc1 ("add APK signing logic")
References: https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/11008
Signed-off-by: Petr Štetiar <ynezz@true.cz>
+FROM alpinelinux/build-base:latest-x86_64 AS apk-builder
+
+RUN abuild-apk add -u \
+ gcc \
+ git \
+ linux-headers \
+ lua5.3-dev \
+ lua5.3-lzlib \
+ make \
+ musl-dev \
+ openssl-dev \
+ openssl-libs-static \
+ zlib-dev \
+ zlib-static \
+ zstd-dev \
+ zstd-static
+
+ARG APK_TOOLS_COMMIT=74de0e9bd73d1af8720df40aa68d472943909804
+
+RUN git clone https://gitlab.alpinelinux.org/alpine/apk-tools.git /tmp/apk-tools
+WORKDIR /tmp/apk-tools
+RUN git checkout $APK_TOOLS_COMMIT
+RUN make -j$(nproc) static
+
+
FROM debian:11
MAINTAINER OpenWrt Maintainers
COPY phase1 /phase1
COPY phase2 /phase2
COPY scripts /scripts
+COPY --from=apk-builder /tmp/apk-tools/src/apk.static /usr/bin/apk
RUN \
groupadd buildbot && \
--- /dev/null
+Check that apk is available and usable in master container:
+
+ $ docker run --entrypoint apk local/master | grep usage
+ usage: apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...]