Skip to content

Commit

Permalink
buildmaster: add static apk utility
Browse files Browse the repository at this point in the history
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: a94d4e1 ("add APK signing logic")
References: https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/11008
Signed-off-by: Petr Štetiar <ynezz@true.cz>
  • Loading branch information
ynezz committed Sep 25, 2024
1 parent f1a1a62 commit 47b8824
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
26 changes: 26 additions & 0 deletions docker/buildmaster/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
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

Expand Down Expand Up @@ -55,6 +80,7 @@ COPY docker/buildmaster/files/start.sh /start.sh
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 && \
Expand Down
4 changes: 4 additions & 0 deletions tests/cram/master/02-apk.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Check that apk is available and usable in master container:

$ docker run --entrypoint apk local/master | grep usage
usage: apk [<OPTIONS>...] COMMAND [<ARGUMENTS>...]

0 comments on commit 47b8824

Please sign in to comment.