Commit graph

41 commits

Author SHA1 Message Date
renner
3ef1256cd3
feat: timestamp all files with epoch 0 (#3028)
* 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>
2026-10-16 07:11:44 +00:00
renner
1476a9093d
fix(build-prep): put shebang in first line (#3033)
shellcheck complains about this
2026-10-15 15:18:36 +02:00
renner
7d7c481881
refactor: get uupd and nerdfonts-symbols from terra (#3025)
reasons stated in URL below

resolves: https://github.com/ublue-os/aurora/issues/3024
2026-10-14 16:19:20 +00:00
renner
25f575e922
chore: use new syntax for disabling/enabling repos (#3015)
See [1]

[1] https://fosstodon.org/@carlwgeorge/116489160183936662
2026-10-12 05:12:23 +00:00
renner
771c87e8cd
feat: remove v4l2loopback from initramfs (#3002)
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
2026-10-11 15:28:06 +00:00
renner
728717d75e
refactor: use dnf do for some 3rd-party repositories (#2983)
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
2026-10-10 17:30:41 +02:00
renner
969ea00ce2
chore: get docker packages from docker-ce again (#2999)
partial revert of: 70d98ffa

resolves: https://github.com/ublue-os/aurora/issues/2919
2026-10-10 05:44:32 +00:00
inffy
99b6e2d63f
feat: enable native-messaging-proxy (#2984) 2026-10-05 14:53:19 +00:00
renner
458f8aef22
refactor(initramfs): almost make it reproducible (#2569)
If we are using the exact same ublue-os/akmods image and the same inputs
for the initramfs, then it should be stable between builds, make updates
smaller and allow soft-rebooting between deployments (as long as all the
requirements for soft-reboot are met of course).

Thanks secureblue!

xref: https://github.com/ublue-os/aurora/issues/2568
2026-09-29 04:58:49 +00:00
renner
b2d6f3cfb3
refactor: simplify checking for enabled 3rd party repos (#2931)
* 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
2026-09-27 05:34:43 +00:00
renner
a76fa2e80c
refactor: faster kernel installation with a shim (#2926)
This is taken from [1]. We were for no good reason regenerating the initramfs
here. We can also install the kmods with the kernel in one step so I
don't see why we shouldn't just do that. It reduces the amount of time
needed to run this script (on my machine) from 49s to 28s.

I'm not sure if this is an oversight in rpm-ostree, we could technically
use the initramfs that is built during this stage, however, we lose
quite a bit of control, which we definitively want to have.

Also it should generally be noticable when the v4l2 and xone kmods fail
to install. There also haven't been problem regarding that in quite a
while.

[1] 5441c76f1f
2026-09-27 05:34:12 +00:00
renner
499ae9c512
chore: remove ZFS (#2918) 2026-09-25 15:05:12 +00:00
renner
b90e6feb25
chore: remove intel-vpl-gpu-rt from overrides (#2930)
We are currently getting this from Fedora anyway, also the negativo package is
unmaintained, Fedora ships a newer version.

It's packaged the same and doesn't actually include any more features
Fedora can't legally ship from the looks of it.
2026-09-25 12:50:21 +00:00
renner
3e3ff35790
chore: don't remove default-fonts-cjk-sans (#2917)
This is a metapackage, which currently doesn't really change anything as
we don't remove anything part of it. So there is no reason to remove
this.
2026-09-24 04:29:28 +00:00
inffy
38701f7fed
Revert "fix(libheif): remove libheif-ffmpeg from Fedora (#2904)" (#2906)
This reverts commit 631c2a43d2.

Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>
2026-09-23 04:35:34 +00:00
renner
a318e83a5e
chore: remove cjk font symlink (#2909)
Apparently steam hardcoded some things and this was needed because of
that [1].

follow-up of d54397cba6.

[1] https://github.com/ublue-os/bazzite/issues/153#issuecomment-1697731796

Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
2026-09-23 04:21:22 +00:00
inffy
631c2a43d2
fix(libheif): remove libheif-ffmpeg from Fedora (#2904) 2026-09-20 06:13:49 +00:00
renner
1a4be9911d
chore: cleanup systemd services, move to presets (#2892)
* chore: cleanup systemd services, move to presets

Preset files are cooler [1] and we should be able to get rid of a little
bit of complexity on the ISOs as we simply delete the preset file to
undo things we don't want to have on the ISO (uupd, tailscale ...)
instead of playing catch-up with the image [2].

Also we don't need to enable the *service* of rpm-ostree-countme, we
want to have the *timer* enabled, which is already done by default in
Fedora. The rpm-ostreed-automatic.timer is a leftover from ublue-os/main
days as we enable that for those images but disable it here as we use
uupd.

The Bazaar service got deleted and the need for that got completely
eliminated upstream recently.

[1] https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html
[2] https://github.com/get-aurora-dev/iso/issues/100

* chore: also do DX

* sunshine

we should make this a seperate thing as we want to still have this
disabled on the live iso

* deal with homebrew nonsense

* prefix with 89

so they can be overriden by others via preset files but still have more
priority over Fedora ones

* split fedora flatpak related services

so we can more easily keep this configuration active
2026-09-19 19:44:08 +00:00
inffy
1d666b7e4f
chore: unpin amd-gpu-firmware (#2889)
New package was pushed with the reverted commit that caused the issues
2026-09-18 06:11:40 +00:00
renner
70d98ffa53
feat: bump testing to Fedora 45 (#2887)
* feat: bump testing to Fedora 45

We are using docker from their repo because it usually ships newer
versions faster than Fedora. In the meantime we can just ship Fedora's
docker version which is good enough.

xref: https://github.com/ublue-os/aurora/issues/2758

* renovate

* fix: cleanup hidden files in /tmp

Something specific to the DX build creates a bunch of socket files
(/tmp/.{ICE,X11,XIM,font}-unix) now. I have no idea what it is, it is
not the new docker package.
2026-09-18 03:41:26 +00:00
inffy
5d7e456c65
chore: pin amd-gpu-firmware because of regression (#2874) 2026-09-15 13:55:37 +00:00
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
renner
808662db70
feat: add setroubleshoot-plugins (#2850)
This provides utilities to debug SELinux related things like with
sealert.

SELinux is already plenty fun on its own, let's make it easier to debug.
This has already been included in dx images due to being a dependency of
cockpit-selinux.

Seen in https://github.com/ublue-os/main/issues/2845.
2026-09-10 06:22:09 +00:00
Eric Curtin
772bf564dc
feat: drop Docker Model Runner in favor of llmman (#2847)
Remove docker-model-plugin from the DX Docker package set.

llmman (https://github.com/llmmanorg/llmman) covers the same local
model runner use case and is available via Homebrew from the shared
ai-tools Brewfile (`ujust bbrew` -> ai), so the Docker plugin is no
longer needed in the image.
2026-09-09 13:29:56 +00:00
renner
4507691db6
feat: make compatible with unsealed composefs (#2829)
* feat: make compatible with unsealed composefs

The bootc package ships a dracut configuration that adds the bootc
module (which is needed for the installation of the composefs backend)
to the initramfs which we currently don't have and ostree is also set
there.

I want this because bootc install is significantly faster when used with
the composefs backend, because it does some magic zeor-copy reflink
things. It is wired up with `just disk-image --backend composefs`.

For a long time systemd-boot was the only supported bootloader on
composefs backend, but grub works now. So we don't have to unnecessarily
add systemd-boot to the image.

* use grub for composefs
2026-09-08 08:00:21 +00:00
renner
2b7378c4c5
feat: add oxygen theme (#2834)
People wanted to have this.

This PR [1] would be nice to have in the future.
Tracked upstream [2].

[1] https://src.fedoraproject.org/rpms/plasma-oxygen/pull-request/2
[2] https://forge.fedoraproject.org/kde/tracker/issues/713
2026-09-06 11:45:47 +00:00
inffy
e3fbf218d4
chore: remove patched ostree pkg (#2814)
the fixed version is now in fedora repos
2026-09-01 05:43:23 +00:00
renner
c55ab3d054
fix: plasma-welcome wrapper (#2795)
fixup of e93c41edd7.

The previous iteration has worked but only when calling via the desktop
file, something else during first boot calls /usr/bin/plasma-welcome
directly.

xref: https://github.com/ublue-os/aurora/issues/2624
2026-08-29 15:38:31 +00:00
renner
287ed4b18a
fix: konsole shortcut (#2785)
fixup of c215aa1a2e.
2026-08-28 04:02:14 +00:00
renner
6a34520e84
chore: remove useless removals (#2787)
These are not present in kinoite.
2026-08-28 04:01:52 +00:00
renner
e93c41edd7
fix: introduce yet another hack for plasma-welcome (#2780)
Seems like [1] doesn't succesfully avoid the crash [2] anymore.

[1] 28529d0da0
[2] https://github.com/ublue-os/aurora/issues/2624
2026-08-27 04:04:18 +00:00
renner
c215aa1a2e
feat: set Meta+Enter to open konsole (#2774)
This is a very common shortcut and I've been using this for years. To my
knowledge we can't make a standalone config for this so this will sadly
have to be done this way.
2026-08-26 03:58:18 +00:00
renner
05806c8845
chore: symlink instead of copy for docs desktop (#2775)
This is enough, these symlinks are also used on spectacle and dolphin.
2026-08-26 03:58:05 +00:00
renner
caaf781326
chore: remove check for already installed packages before removing (#2763)
* chore: remove check for already installed packages before removing

There is very little point to doing this, if the package isn't installed
that we are trying to remove, then it should simply fail.

* chore: also remove removal check for dx

We don't currently (and probably also won't in the future) remove things
from the base. DX should be an addition.
2026-08-23 17:30:26 +00:00
renner
2c1a15e216
chore: remove packages already present in kinoite (#2761) 2026-08-23 14:31:35 +00:00
renner
78f7919238
feat: add plasma-union (#2757)
Union is still in development but I think we should preinstall it so
people can try it if they want to. This will be pre-installed in Fedora
at some point and be made an upstream default anyway.

I actually wanted to preinstall this when 6.7 initially came out but I
forgot add this.

More info here https://kde.org/announcements/plasma/6/6.6.91/
2026-08-23 13:33:14 +00:00
renner
f1a1190c69
fix: install patched ostree to fix flatpak delta updates (#2738)
This version from our copr has the fix for this issue applied.

https://github.com/ostreedev/ostree/issues/3635
2026-08-19 05:18:36 +00:00
renner
4dd2753005
fix: move negativo package in correct array (#2715)
We get libavcodec from negativo, it doesn't belong in the group where
only fedora packages should be listed.
2026-08-12 17:57:04 +00:00
renner
f74104ec94
feat: set default applications via xdg-mime (#2703)
We need to do it this way because editing with sed/echo is nasty because
we may end up with multiple keys of the same category/filetype.

No idea when this broke or this ever worked, but it should now.

fixes: https://github.com/ublue-os/aurora/issues/2658
2026-08-12 03:52:24 +00:00
renner
14900734d0
refactor: repurpose build.sh as build preparation (#2701)
* 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
2026-08-09 19:11:44 +00:00
renner
6365a13e88
feat: rename build_files to build_scripts (#2691)
This is more accurately describing what it actually is.

Assisted-by: GNU sed 4.9
2026-08-09 05:58:24 +00:00