| # Build fully static erofs-utils binaries |
| |
| FROM alpine:3.24.1 AS builder |
| |
| RUN apk add --no-cache \ |
| build-base \ |
| autoconf \ |
| automake \ |
| libtool \ |
| pkgconfig \ |
| git \ |
| util-linux-dev util-linux-static \ |
| fuse3-dev fuse3-static \ |
| zlib-dev zlib-static \ |
| lz4-dev lz4-static \ |
| openssl-dev openssl-libs-static \ |
| xz-dev xz-static \ |
| zlib-dev zlib-static \ |
| zstd-dev zstd-static \ |
| libxml2-dev libxml2-static \ |
| json-c-dev liburing-dev \ |
| libnl3-dev libnl3-static \ |
| curl-static curl-dev brotli-static libidn2-static libpsl-static libunistring-static nghttp2-static \ |
| linux-headers |
| |
| WORKDIR /build |
| COPY . . |
| |
| RUN ./autogen.sh && \ |
| PKG_CONFIG="pkg-config --static" LDFLAGS="-static -no-pie" ./configure --enable-static --disable-shared \ |
| --prefix=$(pwd)/output \ |
| --enable-multithreading \ |
| --enable-fanotify \ |
| --enable-fuse \ |
| --enable-lz4 \ |
| --enable-lzma \ |
| --enable-s3 \ |
| --enable-oci \ |
| --enable-ublk \ |
| --with-json-c \ |
| --with-libcurl \ |
| --with-libnl3 \ |
| --with-libzstd \ |
| --with-libxml2 \ |
| --with-openssl \ |
| --with-uuid && \ |
| make -j"$(nproc)" V=1 LDFLAGS="-all-static" && make install |
| |
| FROM scratch |
| COPY --from=builder /build/output . |