packages/

xorriso

Details
Source
FROM scratch AS base
ENV VERSION=1.5.6
ENV SRC_HASH=786f9f5df9865cc5b0c1fecee3d2c0f5e04cab8c9a859bd1c9c7ccd4964fdae1
ENV SRC_FILE=xorriso-${VERSION}.pl02.tar.gz
ENV SRC_SITE=https://www.gnu.org/software/xorriso/${SRC_FILE}

FROM base AS fetch
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE}

FROM fetch AS build
COPY --from=stagex/busybox . /
COPY --from=stagex/gcc . /
COPY --from=stagex/binutils . /
COPY --from=stagex/make . /
COPY --from=stagex/musl . /
COPY --from=stagex/linux-headers . /
RUN tar -xf ${SRC_FILE}
WORKDIR /xorriso-${VERSION}
RUN --network=none <<-EOF
	set -eux
	./configure \
		--prefix=/usr
	make -j "$(nproc)"
EOF

FROM build AS install
RUN --network=none make DESTDIR=/rootfs install

FROM base AS test
COPY --from=install /rootfs/. /
COPY --from=stagex/musl . /
COPY --from=stagex/busybox . /
RUN /bin/sh <<-EOF
	set -eux
	XORRISO_VERSION=$(xorriso --version | grep 'xorriso version' | sed -E 's/^.*: +([^ ]+).*$/\1/')
	if [ "${VERSION}.pl02" != "\$XORRISO_VERSION" ]; then
		echo "Expected xorriso version is \$VERSION.pl02, but got \$XORRISO_VERSION"
		exit 1
	fi
EOF

FROM stagex/filesystem AS package
COPY --from=install /rootfs/. /