Add weak_deps=False to main dnf install so we don't pull in the world,
some things that are gonna be noticeable I added here manually.
OpenCL in containers/flatpak is kinda bad to my understanding. So we
sadly have to include them on the host.
resovles: https://github.com/ublue-os/aurora/issues/2998
Co-authored-by: Jed <ivelisvale73@gmail.com>
This caused a little regression in the build times as it would relabel
absolutely everything, vast majority of content is of course RPM
packages which already have this timestamp set.
Before the normal image build was around 5-7min, now it has gone up by
2-3min.
Follow-up of: 3ef1256cd3.
Figured out by Bazzite in [1].
[1] a4ccbec9f6
* 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>
This makes way more sense, nobody who builds a local image wants to use
a potentially older fedora release, especially on the same branch, this
is also a mismatch between what is built in CI as that builds from a
stable branch instead of main.
This makes the initramfs reproducible, because currently the
kmod-v4l2loopback is the only thing that is not reproducible.
This is not the proper way to do this, it has to be fixed in
ublue-os/akmods and see what step introduces timestamps into the build.
xref: https://github.com/ublue-os/aurora/issues/2579
In the past we have moved away from doing big dnf transactions spanning
multiple rpm repositories [1] because of the associated risk of third
party repos injecting packages we expect to get from Fedora. With this
we explicitly set which packages are allowed to be installed from each
repo. This means we still get to do big transactions which are generally
faster.
The downside of this is that if subpackages or dependencies from a
3rd-party repo get introduced/change then our builds will break, I think
this is fine as the ones I'm changing here have been unchanging for a
while.
This should only touch repositories with a very specific purpose/single
projects.
This purposefully doesn't touch any ublue-os coprs or negativo (also
they are difficult to handle as we use them in the nvidia script [2]),
those are the only mono-repos so outright excluding the packages is not
an easy option as we would make custom image builds (and usr-overlays
for testing) more annoying.
[1] https://github.com/ublue-os/aurora/issues/1115
[2] 1e4d10b9ac/build_files/nvidia/nvidia-install.sh