This label was previously created by the hhd/legacy-rechunker instead of on the image build process. We are now using the build-chunked-oci and in the near future chunkah which do not mess with the labels. Our changelogs script expects this label to be present in order for the commits since last release to show up. fixes: https://github.com/ublue-os/aurora/issues/2338
148 lines
5.5 KiB
Text
148 lines
5.5 KiB
Text
ARG BASE_IMAGE_ORG
|
|
ARG BASE_IMAGE_NAME
|
|
ARG BASE_IMAGE="${BASE_IMAGE_ORG}/${BASE_IMAGE_NAME}"
|
|
ARG FEDORA_MAJOR_VERSION
|
|
ARG AKMODS_FLAVOR
|
|
ARG KERNEL
|
|
ARG COMMON_IMAGE
|
|
ARG COMMON_IMAGE_SHA
|
|
ARG BREW_IMAGE
|
|
ARG BREW_IMAGE_SHA
|
|
|
|
FROM ${COMMON_IMAGE}@${COMMON_IMAGE_SHA} AS common
|
|
FROM ${BREW_IMAGE}@${BREW_IMAGE_SHA} AS brew
|
|
|
|
FROM ghcr.io/ublue-os/akmods:${AKMODS_FLAVOR}-${FEDORA_MAJOR_VERSION}-${KERNEL} AS akmods
|
|
|
|
#if defined(NVIDIA)
|
|
FROM ghcr.io/ublue-os/akmods-nvidia-open:${AKMODS_FLAVOR}-${FEDORA_MAJOR_VERSION}-${KERNEL} AS akmods-nvidia-open
|
|
#endif
|
|
|
|
#if defined(ZFS)
|
|
FROM ghcr.io/ublue-os/akmods-zfs:${AKMODS_FLAVOR}-${FEDORA_MAJOR_VERSION}-${KERNEL} AS akmods-zfs
|
|
#endif
|
|
|
|
FROM scratch AS ctx
|
|
COPY /build_files /build_files
|
|
|
|
# /* https://github.com/get-aurora-dev/common */
|
|
COPY --from=common /logos /system_files/shared
|
|
COPY --from=common /system_files /system_files
|
|
COPY --from=common /wallpapers /system_files/shared
|
|
|
|
# /* https://github.com/ublue-os/brew */
|
|
COPY --from=brew /system_files /system_files/shared
|
|
|
|
# /* Overwrite files from common if necessary */
|
|
COPY /system_files /system_files
|
|
|
|
# /* aurora image section */
|
|
FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} AS base
|
|
|
|
ARG AKMODS_FLAVOR="main"
|
|
ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME}"
|
|
ARG FEDORA_MAJOR_VERSION=""
|
|
ARG IMAGE_NAME="aurora"
|
|
ARG IMAGE_VENDOR="ublue-os"
|
|
ARG KERNEL=""
|
|
ARG SHA_HEAD_SHORT=""
|
|
ARG UBLUE_IMAGE_TAG="latest"
|
|
ARG VERSION=""
|
|
ARG IMAGE_FLAVOR=""
|
|
|
|
# /* so ghcurl wrapper is available to all later RUNs */
|
|
ENV PATH="/tmp/scripts/helpers:${PATH}"
|
|
|
|
# /* Copy files from common/from system_files */
|
|
# /* Install Packages, miscellaneous things that need a network */
|
|
|
|
# /* aurora:latest no zfs or nvidia */
|
|
#if !defined(NVIDIA) && !defined(ZFS)
|
|
RUN --mount=type=tmpfs,dst=/boot \
|
|
--mount=type=tmpfs,dst=/var \
|
|
--mount=type=bind,from=ctx,source=/,target=/ctx \
|
|
--mount=type=cache,dst=/var/cache/libdnf5 \
|
|
--mount=type=bind,from=akmods,src=/kernel-rpms,dst=/tmp/kernel-rpms \
|
|
--mount=type=bind,from=akmods,src=/rpms/common,dst=/tmp/rpms/common \
|
|
--mount=type=bind,from=akmods,src=/rpms/kmods,dst=/tmp/rpms/kmods \
|
|
--mount=type=secret,id=GITHUB_TOKEN \
|
|
/ctx/build_files/shared/build.sh && \
|
|
/ctx/build_files/base/01-packages.sh && \
|
|
/ctx/build_files/base/02-install-common-kernel-akmods.sh && \
|
|
/ctx/build_files/base/03-fetch.sh
|
|
#endif
|
|
|
|
# /* aurora:stable with zfs no nvidia */
|
|
#if !defined(NVIDIA) && defined(ZFS)
|
|
RUN --mount=type=tmpfs,dst=/boot \
|
|
--mount=type=tmpfs,dst=/var \
|
|
--mount=type=bind,from=ctx,source=/,target=/ctx \
|
|
--mount=type=cache,dst=/var/cache/libdnf5 \
|
|
--mount=type=bind,from=akmods,src=/kernel-rpms,dst=/tmp/kernel-rpms \
|
|
--mount=type=bind,from=akmods,src=/rpms/common,dst=/tmp/rpms/common \
|
|
--mount=type=bind,from=akmods,src=/rpms/kmods,dst=/tmp/rpms/kmods \
|
|
--mount=type=bind,from=akmods-zfs,src=/rpms/kmods/zfs,dst=/tmp/rpms/kmods/zfs \
|
|
--mount=type=secret,id=GITHUB_TOKEN \
|
|
/ctx/build_files/shared/build.sh && \
|
|
/ctx/build_files/base/01-packages.sh && \
|
|
/ctx/build_files/base/02-install-common-kernel-akmods.sh && \
|
|
/ctx/build_files/base/zfs.sh && \
|
|
/ctx/build_files/base/03-fetch.sh
|
|
#endif
|
|
|
|
# /* aurora-nvidia-open:latest no zfs */
|
|
#if defined(NVIDIA) && !defined(ZFS)
|
|
RUN --mount=type=tmpfs,dst=/boot \
|
|
--mount=type=tmpfs,dst=/var \
|
|
--mount=type=bind,from=ctx,source=/,target=/ctx \
|
|
--mount=type=cache,dst=/var/cache/libdnf5 \
|
|
--mount=type=bind,from=akmods,src=/kernel-rpms,dst=/tmp/kernel-rpms \
|
|
--mount=type=bind,from=akmods,src=/rpms/common,dst=/tmp/rpms/common \
|
|
--mount=type=bind,from=akmods,src=/rpms/kmods,dst=/tmp/rpms/kmods \
|
|
--mount=type=bind,from=akmods-nvidia-open,src=/rpms,dst=/tmp/rpms/nvidia \
|
|
--mount=type=secret,id=GITHUB_TOKEN \
|
|
/ctx/build_files/shared/build.sh && \
|
|
/ctx/build_files/base/01-packages.sh && \
|
|
/ctx/build_files/base/02-install-common-kernel-akmods.sh && \
|
|
/ctx/build_files/base/03-fetch.sh && \
|
|
/ctx/build_files/base/04-nvidia.sh
|
|
#endif
|
|
|
|
# /* aurora-nvidia-open:stable with ZFS */
|
|
#if defined(NVIDIA) && defined(ZFS)
|
|
RUN --mount=type=tmpfs,dst=/boot \
|
|
--mount=type=tmpfs,dst=/var \
|
|
--mount=type=bind,from=ctx,source=/,target=/ctx \
|
|
--mount=type=cache,dst=/var/cache/libdnf5 \
|
|
--mount=type=bind,from=akmods,src=/kernel-rpms,dst=/tmp/kernel-rpms \
|
|
--mount=type=bind,from=akmods,src=/rpms/common,dst=/tmp/rpms/common \
|
|
--mount=type=bind,from=akmods,src=/rpms/kmods,dst=/tmp/rpms/kmods \
|
|
--mount=type=bind,from=akmods-nvidia-open,src=/rpms,dst=/tmp/rpms/nvidia \
|
|
--mount=type=bind,from=akmods-zfs,src=/rpms/kmods/zfs,dst=/tmp/rpms/kmods/zfs \
|
|
--mount=type=secret,id=GITHUB_TOKEN \
|
|
/ctx/build_files/shared/build.sh && \
|
|
/ctx/build_files/base/01-packages.sh && \
|
|
/ctx/build_files/base/02-install-common-kernel-akmods.sh && \
|
|
/ctx/build_files/base/03-fetch.sh && \
|
|
/ctx/build_files/base/04-nvidia.sh && \
|
|
/ctx/build_files/base/zfs.sh
|
|
#endif
|
|
|
|
# /* Everything that can be done offline after things are in place should be done here */
|
|
RUN --network=none \
|
|
--mount=type=tmpfs,dst=/boot \
|
|
--mount=type=tmpfs,dst=/run \
|
|
--mount=type=bind,from=ctx,source=/,target=/ctx \
|
|
/ctx/build_files/base/16-override-install.sh && \
|
|
/ctx/build_files/base/17-cleanup.sh && \
|
|
/ctx/build_files/base/18-image-info.sh && \
|
|
/ctx/build_files/base/19-initramfs.sh && \
|
|
/ctx/build_files/shared/validate-repos.sh && \
|
|
/ctx/build_files/shared/clean-stage.sh && \
|
|
/ctx/build_files/base/20-tests.sh
|
|
|
|
CMD ["/sbin/init"]
|
|
|
|
RUN --network=none \
|
|
--mount=type=tmpfs,dst=/run \
|
|
bootc container lint
|