* feat: timestamp all files with epoch 0
We have been using this chunkah feature [1] to put non-rpm content like
the brew tarball in dedicated layers, we didn't actually save any
bandwith on downloads with this as the copying sets the file
modification and access time. Which makes it non-reproducible and every
single update would re-download everything not in RPMs.
This should make updates smaller especially noticeable on daily/multiple
daily image builds. I'm not sure how much of a positive effect this is
gonna have on the stable weekly images as the brew tarball is refreshed
weekly. Things like the wallpapers should at least no longer be
downloaded when they haven't changed. There are still some files we
could do but I think it's mostly not worth it.
xref: https://github.com/ublue-os/aurora/issues/2579
[1] https://github.com/coreos/chunkah#customizing-the-layers
* typo
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
---------
Co-authored-by: Adam Fidel <ledif@users.noreply.github.com>
* refactor: simplify checking for enabled 3rd party repos
We are generally no longer doing the dnf enable/disable dance (except
for the nvidia install script) because we are vendoring the .repo files
which simplifies things a bit.
Also I think that the move to checking what is allowed instead of
checking what is not allowed makes more sense anyway.
resolves: https://github.com/ublue-os/aurora/issues/2854
[1] 1e4d10b9ac/build_files/nvidia/nvidia-install.sh
* get openh264 from negativo
Our base image [1] can't legally include this from fedora-cisco-openh264
repo. Comparing the spec files for Fedora [2] and Negativo [3], they
seem to be built with the same build flags, so they should not have any
differing functionality. The fedora-cisco-openh264 repo is currently
enabled (which is not the case for F44 images) because our repo
validation script broke due to the move to /usr [4].
We are already shipping various other codecs on the system, including
mesa, they get more irrelevant each day but we should have this.
I don't know why exactly but for some reason we now have a stray
/var/log/dnf5.log which makes bootc container lint fail.
[1] 54e811f17a/common.yaml (L144)
[2] cd15228484/f/openh264.spec
[3] dfac89f533/openh264.spec
[4] https://fedoraproject.org/wiki/Changes/RelocateRpmRepoConfigsToUsr
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
* refactor: repurpose build.sh as build preparation
It currently does too many things, let's split it up. This needs to be
done as we want to move away from a system that copies (also overrides)
files from fedora RPMs and then may remove said rpms, resulting in
removing our changes, which of course defeats the entire point.
A disadvantage this has is that we need to be more mindful and
disciplined of when things are needed during the build. Currently we
actually do not need any system_files we copy in the stage where we are
installing packages/have network access.
If we do at some point we will probably either inline files in
build-prep.sh or have a 2nd directory with files strictly needed for the
build.
This is why we can copy all the files to the system after that, just
before systemd units get activated, initramfs gets generated, general
things we can do offline after we have installed packages are done.
Resolves: https://github.com/ublue-os/aurora/issues/2687
* remove useless comment
* same treatment for DX
* remove unused DX specific version logic
We don't use this, we have branches now.
* move sysctl before docker install
* feat: delete /run leftovers from the image
This is to make bootc container lint happy.
We should probably make warnings fatal so we fix new offenders.
Related: https://github.com/bootc-dev/bootc/pull/2051
* chore: remove unused rm
No idea why this is here, probably some super old leftover.
* do dx specific things as well
* chore: simplify container pinning for common brew
This is just less complex and fully uses image-versions.yml
* make akmods_flavor a separate recipe
Helps in further splitting up the big monolith that is the build recipe.
* set right just group
* set full name for alpine image
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
fixup of https://github.com/ublue-os/aurora/pull/1846
/tmp wasn't supposed to be in the RUN statement, this only hid those
files from `bootc container lint`, they still make it into the final
image. We basically don't care about anything else in /var other than
cache.