@@ -16,9 +16,10 @@ COPY builder /builder
1616ARG GLIBC_VERSION=2.41
1717RUN env PREFIX_DIR=/usr/glibc-compat /builder
1818
19+
1920# Stage 2: use docker-alpine-abuild package apk and keys
2021FROM alpine:3.20 AS packager
21- RUN apk --no-cache add alpine-sdk coreutils cmake sudo bash \
22+ RUN apk --no-cache add alpine-sdk coreutils cmake sudo \
2223 && adduser -G abuild -g "Alpine Package Builder" -s /bin/ash -D builder \
2324 && echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
2425 && mkdir /packages \
@@ -43,7 +44,8 @@ RUN case "$TARGETARCH" in \
4344 sed -i "s/^arch=.*$/arch=\" ${TARGET_ARCH}\" /" APKBUILD && \
4445 abuild checksum && \
4546 env REPODEST=/packages abuilder -r && \
46- cp /packages/builder/${TARGET_ARCH}/*.apk /tmp/
47+ mv /packages/builder/${TARGET_ARCH}/*.apk /tmp/
48+
4749
4850# Stage 3: apk add apk, build alpine-glibc
4951FROM alpine:3.21
@@ -56,6 +58,10 @@ RUN --mount=from=packager,src=/tmp/,dst=/tmp/ \
5658 arm64) export LD_LINUX_PATH="/lib/ld-linux-aarch64.so.1" ;; \
5759 *) echo "Unsupported architecture: $TARGETARCH" && exit 1 ;; \
5860 esac && \
59- apk add --no-cache gcompat && rm ${LD_LINUX_PATH} && \
60- apk add --no-cache --force-overwrite /tmp/glibc-${GLIBC_VERSION}-*.apk && \
61- apk add --no-cache /tmp/glibc-bin-${GLIBC_VERSION}-*.apk
61+ apk add --no-cache \
62+ /tmp/glibc-${GLIBC_VERSION}-*.apk \
63+ /tmp/glibc-bin-${GLIBC_VERSION}-*.apk \
64+ /tmp/glibc-i18n-${GLIBC_VERSION}-*.apk && \
65+ /usr/glibc-compat/bin/localedef --force --inputfile POSIX --charmap UTF-8 C.UTF-8 || true && \
66+ echo "export LANG=C.UTF-8" > /etc/profile.d/locale.sh && \
67+ apk del glibc-i18n
0 commit comments