Skip to content

Commit f7ff907

Browse files
committed
Add i386 and arm32v7 building.
Also update to Alpine 3.23. Move ALPINE_VERSION to workflow. Allow workflow_dispatch. Use a docker pull for the image before steps. Add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 & ninja to mysql57. Disable broken mysql builds. Signed-off-by: Satadru Pramanik <satadru@gmail.com>
1 parent 4984542 commit f7ff907

27 files changed

Lines changed: 162 additions & 115 deletions

File tree

.github/workflows/release.yml

Lines changed: 54 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,52 +3,73 @@ name: release
33
on:
44
push:
55
tags: ["v*"]
6-
6+
workflow_dispatch:
7+
env:
8+
ALPINE_VERSION: 3.23
79
jobs:
810
build-binaries:
9-
runs-on: ${{ matrix.runner.label }}
1011
strategy:
12+
fail-fast: false
1113
matrix:
14+
arch: ["i386","amd64","arm32v7","arm64"]
1215
runner:
13-
- { arch: amd64, label: ubuntu-24.04 }
14-
- { arch: arm64, label: ubuntu-24.04-arm }
16+
- ubuntu-24.04
17+
- ubuntu-24.04-arm
18+
exclude:
19+
- arch: amd64
20+
runner: ubuntu-24.04-arm
21+
- arch: i386
22+
runner: ubuntu-24.04-arm
23+
- arch: arm64
24+
runner: ubuntu-24.04
25+
- arch: arm32v7
26+
runner: ubuntu-24.04
27+
runs-on: ${{ matrix.runner }}
1528
steps:
16-
- uses: actions/checkout@v4
17-
18-
- run: docker build -o=dist community/fio
19-
- run: docker build -o=dist community/libqrencode
20-
- run: docker build -o=dist community/redis
21-
- run: docker build -o=dist main/7zip
22-
- run: docker build -o=dist main/curl
23-
- run: docker build -o=dist main/htop
24-
- run: docker build -o=dist main/iperf3
25-
- run: docker build -o=dist main/iproute2
26-
- run: docker build -o=dist main/lsof
27-
- run: docker build -o=dist main/mariadb
28-
- run: docker build -o=dist main/nano
29-
- run: docker build -o=dist main/netcat-openbsd
30-
- run: docker build -o=dist main/nmap
31-
- run: docker build -o=dist main/pigz
32-
- run: docker build -o=dist main/postgresql17
33-
- run: docker build -o=dist main/procps-ng
34-
- run: docker build -o=dist main/rsync
35-
- run: docker build -o=dist main/socat
36-
- run: docker build -o=dist main/strace
37-
- run: docker build -o=dist main/tcpdump
38-
- run: docker build -o=dist main/vim
39-
- run: docker build -o=dist main/wget
40-
- run: docker build -o=dist custom/mysql57
41-
- run: docker build -o=dist custom/mysql80
42-
- run: docker build -o=dist custom/mysql84
29+
- uses: actions/checkout@v6
30+
- name: Set build variables
31+
id: set-build-variables
32+
run: |
33+
BUILDARCH="$(echo ${{ matrix.arch }} | sed 's,arm64,arm64v8,')"
34+
export BUILDARCH
35+
echo "BUILDARCH=${BUILDARCH}" >> "$GITHUB_ENV"
36+
DOCKER_DEFAULT_PLATFORM="linux/$(echo ${{ matrix.arch }} | sed 's,arm32v7,arm/v7,')"
37+
export DOCKER_DEFAULT_PLATFORM
38+
echo "DOCKER_DEFAULT_PLATFORM=${DOCKER_DEFAULT_PLATFORM}" >> "$GITHUB_ENV"
39+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist community/fio
40+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist community/libqrencode
41+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist community/redis
42+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/7zip
43+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/curl
44+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/htop
45+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/iperf3
46+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/iproute2
47+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/lsof
48+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/mariadb
49+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/nano
50+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/netcat-openbsd
51+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/nmap
52+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/pigz
53+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/postgresql17
54+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/procps-ng
55+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/rsync
56+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/socat
57+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/strace
58+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/tcpdump
59+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/vim
60+
- run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist main/wget
61+
# - run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist custom/mysql57
62+
# - run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist custom/mysql80
63+
# - run: docker build --build-arg BUILDARCH="${BUILDARCH}" --build-arg ALPINE_VERSION="${ALPINE_VERSION}" -o=dist custom/mysql84
4364

4465
- run: |
4566
for file in dist/*; do
46-
mv "$file" "${file}_${GITHUB_REF_NAME}_linux_${{ matrix.runner.arch }}"
67+
mv "$file" "${file}_${GITHUB_REF_NAME}_linux_${{ matrix.arch }}"
4768
done
4869
4970
- uses: actions/upload-artifact@v4
5071
with:
51-
name: static-binaries-artifact-${{ matrix.runner.arch }}
72+
name: static-binaries-artifact-${{ matrix.arch }}
5273
path: dist/*
5374
retention-days: 1
5475
if-no-files-found: error

community/fio/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=community/fio
67
ARG PACKAGE_NAME=fio
78
ARG PACKAGE_VERSION=3.39
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -46,7 +47,7 @@ EOT
4647
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
4748
cd "${PACKAGE_PATH}" && apk del ${EXTRA_DEPS} && abuild -F undeps && \
4849
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/fio" --help && \
49-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/fio" | grep -q 'statically linked' && \
50+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/fio" | grep -q 'static-pie linked\|statically linked' && \
5051
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/fio" -o /usr/local/bin/fio
5152

5253
# STEP-4: export executable

community/libqrencode/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=community/libqrencode
67
ARG PACKAGE_NAME=libqrencode
78
ARG PACKAGE_VERSION=4.1.1
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -50,7 +51,7 @@ EOT
5051
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
5152
cd "${PACKAGE_PATH}" && apk del ${EXTRA_DEPS} && abuild -F undeps && \
5253
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/qrencode" --help && \
53-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/qrencode" | grep -q 'statically linked' && \
54+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/qrencode" | grep -q 'static-pie linked\|statically linked' && \
5455
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/qrencode" -o /usr/local/bin/qrencode
5556

5657
# STEP-4: export executable

community/redis/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=community/redis
67
ARG PACKAGE_NAME=redis
78
ARG PACKAGE_VERSION=8.0.4
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -55,7 +56,7 @@ EOT
5556
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
5657
cd "${PACKAGE_PATH}" && apk del ${EXTRA_DEPS} && abuild -F undeps && \
5758
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/redis-cli" --help && \
58-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/redis-cli" | grep -q 'statically linked' && \
59+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/redis-cli" | grep -q 'static-pie linked\|statically linked' && \
5960
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/redis-cli" -o /usr/local/bin/redis-cli
6061

6162
# STEP-4: export executable

custom/mysql57/Dockerfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=custom/mysql57
67
ARG PACKAGE_NAME=mysql57
78
ARG PACKAGE_VERSION=5.7.44
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -38,10 +39,10 @@ EOT
3839
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
3940
cd "${PACKAGE_PATH}" && abuild -F undeps && \
4041
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" --help && \
41-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" | grep -q 'statically linked' && \
42+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" | grep -q 'static-pie linked\|statically linked' && \
4243
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" -o /usr/local/bin/mysql57 && \
4344
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" --help && \
44-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" | grep -q 'statically linked' && \
45+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" | grep -q 'static-pie linked\|statically linked' && \
4546
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" -o /usr/local/bin/mysqldump57
4647

4748
# STEP-4: export executable

custom/mysql57/aports/APKBUILD

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pkggroups="mysql"
1111
arch="x86_64 aarch64"
1212
license="GPL"
1313
_boost_ver=1.59.0
14-
makedepends="bison cmake linux-headers libaio-dev ncurses-dev openssl-dev zlib-dev ncurses-static openssl-libs-static zlib-static"
14+
makedepends="bison cmake linux-headers libaio-dev ninja ncurses-dev openssl-dev zlib-dev ncurses-static openssl-libs-static zlib-static"
1515
source="https://dev.mysql.com/get/Downloads/MySQL-5.7/$_pkgname-$pkgver.tar.gz
1616
https://archives.boost.io/release/$_boost_ver/source/boost_${_boost_ver//./_}.tar.gz
1717
strerror.patch
@@ -29,6 +29,7 @@ build() {
2929
-DBUILD_CONFIG=mysql_release \
3030
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
3131
-DCMAKE_INSTALL_PREFIX=/usr \
32+
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
3233
-DCOMPILATION_COMMENT="Alpine Linux" \
3334
-DSYSCONFDIR=/etc/mysql \
3435
-DMYSQL_DATADIR=/var/lib/mysql \

custom/mysql80/Dockerfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=custom/mysql80
67
ARG PACKAGE_NAME=mysql80
78
ARG PACKAGE_VERSION=8.0.42
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -38,10 +39,10 @@ EOT
3839
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
3940
cd "${PACKAGE_PATH}" && abuild -F undeps && \
4041
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" --help && \
41-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" | grep -q 'statically linked' && \
42+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" | grep -q 'static-pie linked\|statically linked' && \
4243
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" -o /usr/local/bin/mysql80 && \
4344
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" --help && \
44-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" | grep -q 'statically linked' && \
45+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" | grep -q 'static-pie linked\|statically linked' && \
4546
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" -o /usr/local/bin/mysqldump80
4647

4748
# STEP-4: export executable

custom/mysql84/Dockerfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=custom/mysql84
67
ARG PACKAGE_NAME=mysql84
78
ARG PACKAGE_VERSION=8.4.5
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -38,10 +39,10 @@ EOT
3839
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
3940
cd "${PACKAGE_PATH}" && abuild -F undeps && \
4041
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" --help && \
41-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" | grep -q 'statically linked' && \
42+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" | grep -q 'static-pie linked\|statically linked' && \
4243
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysql" -o /usr/local/bin/mysql84 && \
4344
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" --help && \
44-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" | grep -q 'statically linked' && \
45+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" | grep -q 'static-pie linked\|statically linked' && \
4546
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/mysqldump" -o /usr/local/bin/mysqldump84
4647

4748
# STEP-4: export executable

main/7zip/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=main/7zip
67
ARG PACKAGE_NAME=7zip
78
ARG PACKAGE_VERSION=24.09
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -45,7 +46,7 @@ EOT
4546
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
4647
cd "${PACKAGE_PATH}" && apk del ${EXTRA_DEPS} && abuild -F undeps && \
4748
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/7zz" --help && \
48-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/7zz" | grep -q 'statically linked' && \
49+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/7zz" | grep -q 'static-pie linked\|statically linked' && \
4950
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/7zz" -o /usr/local/bin/7z
5051

5152
# STEP-4: export executable

main/curl/Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# syntax=docker.io/docker/dockerfile:1.16
22
# https://docs.docker.com/build/dockerfile/frontend/
33

4-
ARG ALPINE_VERSION=3.22
4+
ARG BUILDARCH=amd64
5+
ARG ALPINE_VERSION=3.23
56
ARG PACKAGE_PATH=main/curl
67
ARG PACKAGE_NAME=curl
78
ARG PACKAGE_VERSION=8.14.1
89

9-
FROM docker.io/library/alpine:${ALPINE_VERSION} AS build
10+
FROM ${BUILDARCH}/alpine:${ALPINE_VERSION} AS build
1011

1112
# redeclare in build stage to inherit arguments from global scope
1213
# https://docs.docker.com/build/building/variables/#scoping
@@ -62,7 +63,7 @@ EOT
6263
RUN --mount=type=cache,target=/var/cache/apk,id=apk-$BUILDARCH,sharing=locked \
6364
cd "${PACKAGE_PATH}" && apk del ${EXTRA_DEPS} && abuild -F undeps && \
6465
"/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/curl" --help && \
65-
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/curl" | grep -q 'statically linked' && \
66+
file "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/curl" | grep -q 'static-pie linked\|statically linked' && \
6667
strip "/src/${PACKAGE_PATH}/pkg/${PACKAGE_NAME}/usr/bin/curl" -o /usr/local/bin/curl
6768

6869
# STEP-4: export executable

0 commit comments

Comments
 (0)