aurora/Containerfile.in
renner 20574d5e9c
feat: vendor package repo configurations (#2851)
We can get rid of the copr-helper wrapper script as we are no longer
enabling and then disabling the repo, which is explained in [1] as we
are configuring them to be off by default and then very purposefully
enabling it for that one dnf transaction where we actually need it
enabled.

The files in yum.repos.d were copied from my local /usr/etc directory.

[1] https://github.com/ublue-os/aurora/issues/1115
2026-09-12 16:02:11 +00:00

144 lines
5.4 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
ARG BREW
FROM ${COMMON} AS common
FROM ${BREW} 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_scripts /build_scripts
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
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}"
# /* 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_scripts/shared/build-prep.sh && \
/ctx/build_scripts/base/01-packages.sh && \
/ctx/build_scripts/base/02-install-common-kernel-akmods.sh && \
/ctx/build_scripts/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_scripts/shared/build-prep.sh && \
/ctx/build_scripts/base/01-packages.sh && \
/ctx/build_scripts/base/02-install-common-kernel-akmods.sh && \
/ctx/build_scripts/base/zfs.sh && \
/ctx/build_scripts/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_scripts/shared/build-prep.sh && \
/ctx/build_scripts/base/01-packages.sh && \
/ctx/build_scripts/base/02-install-common-kernel-akmods.sh && \
/ctx/build_scripts/base/03-fetch.sh && \
/ctx/build_scripts/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_scripts/shared/build-prep.sh && \
/ctx/build_scripts/base/01-packages.sh && \
/ctx/build_scripts/base/02-install-common-kernel-akmods.sh && \
/ctx/build_scripts/base/03-fetch.sh && \
/ctx/build_scripts/base/04-nvidia.sh && \
/ctx/build_scripts/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=bind,from=ctx,source=/,target=/ctx \
/ctx/build_scripts/base/16-override-install.sh && \
/ctx/build_scripts/base/17-cleanup.sh && \
/ctx/build_scripts/base/18-image-info.sh && \
/ctx/build_scripts/base/19-initramfs.sh && \
/ctx/build_scripts/shared/validate-repos.sh && \
/ctx/build_scripts/shared/clean-stage.sh && \
/ctx/build_scripts/shared/chunkah-xattr.sh && \
/ctx/build_scripts/base/20-tests.sh
CMD ["/sbin/init"]
RUN --network=none \
bootc container lint --fatal-warnings --no-truncate