Including a copy in void-packages turned out better solution.
Grep in image don't have required perl regexps, and getting
one that have make linting slower by order of magnitude.
Even if it was already there, simply using image is
unnecessarily slower.
This reverts commit 163a923529
.
37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
# 1) use alpine to generate a void environment
|
|
FROM alpine:3.9 as stage0
|
|
ARG REPOSITORY=https://alpha.de.repo.voidlinux.org
|
|
ARG ARCH=x86_64
|
|
COPY keys/* /target/var/db/xbps/keys/
|
|
RUN apk add ca-certificates curl && \
|
|
curl ${REPOSITORY}/static/xbps-static-latest.$(uname -m)-musl.tar.xz | \
|
|
tar Jx && \
|
|
XBPS_ARCH=${ARCH} xbps-install.static -yMU \
|
|
--repository=${REPOSITORY}/current \
|
|
--repository=${REPOSITORY}/current/musl \
|
|
-r /target \
|
|
base-minimal
|
|
|
|
# 2) using void to generate the final build
|
|
FROM scratch as stage1
|
|
ARG REPOSITORY=https://alpha.de.repo.voidlinux.org
|
|
ARG ARCH=x86_64
|
|
ARG BASEPKG=base-minimal
|
|
COPY --from=stage0 /target /
|
|
COPY keys/* /target/var/db/xbps/keys/
|
|
RUN xbps-reconfigure -a && \
|
|
mkdir -p /target/var/cache && ln -s /var/cache/xbps /target/var/cache/xbps && \
|
|
XBPS_ARCH=${ARCH} xbps-install -yMU \
|
|
--repository=${REPOSITORY}/current \
|
|
--repository=${REPOSITORY}/current/musl \
|
|
-r /target \
|
|
${BASEPKG}
|
|
|
|
# 3) configure and clean up the final image
|
|
FROM scratch
|
|
COPY --from=stage1 /target /
|
|
RUN xbps-reconfigure -a && \
|
|
rm -r /var/cache/xbps
|
|
|
|
CMD ["/bin/sh"]
|