fc40e50ff9
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 163a923529da258d838ac6cf355aa98f3ed7b6d6.
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"]
|