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
144 lines
5.4 KiB
Text
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
|