FROM scratch AS base ARG ARCH=x86_64 ENV VERSION=3.16.2 ENV SRC_HASH=f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87 ENV SRC_FILE=fuse-${VERSION}.tar.gz ENV SRC_SITE=https://github.com/libfuse/libfuse/releases/download/fuse-${VERSION}/${SRC_FILE} FROM base AS fetch ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} FROM fetch AS build COPY --from=stagex/python . / COPY --from=stagex/zlib . / COPY --from=stagex/bzip2 . / COPY --from=stagex/pkgconf . / COPY --from=stagex/linux-headers . / COPY --from=stagex/ncurses . / COPY --from=stagex/meson . / COPY --from=stagex/busybox . / COPY --from=stagex/musl . / COPY --from=stagex/gcc . / COPY --from=stagex/binutils . / COPY --from=stagex/make . / COPY --from=stagex/cmake . / COPY --from=stagex/pcre2 . / COPY --from=stagex/python . / COPY --from=stagex/bison . / COPY --from=stagex/flex . / COPY --from=stagex/py-packaging . / COPY --from=stagex/libxslt . / COPY --from=stagex/libffi . / COPY --from=stagex/xz . / COPY --from=stagex/expat . / COPY --from=stagex/rhash . / COPY --from=stagex/libxml2 . / COPY --from=stagex/util-linux . / COPY --from=stagex/libxslt . / COPY --from=stagex/gettext . / COPY --from=stagex/ninja . / RUN tar -xf ${SRC_FILE} WORKDIR /fuse-${VERSION} COPY *.patch . RUN --network=none <<-EOF set -eux meson setup \ --default-library=shared \ --prefix=/usr \ -Dinitscriptdir="" \ . output meson compile -C output EOF FROM build AS install RUN DESTDIR=/rootfs meson install --no-rebuild -C output RUN find /rootfs -exec touch -hcd "@0" "{}" + FROM stagex/filesystem AS package COPY --from=install /rootfs/. /