Patching Things Up: Ultramarine 40 Hotfixes

We have released Ultramarine Linux 40 1.01 and 1.02 due to numerous configuration issues with previous releases. We apologize to all Ultramarine users for any inconvenience caused.

Flathub

Ultramarine 40.1, released on 2024-05-25 11:16 (UTC), brought a hot-fix that includes ultramarine-repos-extras, a package responsible for including Flathub. This package was not previously included in 40.0 due to a misconfiguration with our Ultramarine comps.

Investigation details

This was caused by the weak deps flag being set to off. After fixing this, dnf included this package without any further configuration needed inside comps/release packages in previous releases, including 38 and 39. This can be verified by checking out previous branches in the packages repository and the images repository, and running ripgrep shows that older packages and build scripts did not include this package.

Plymouth Theme

Ultramarine 40.1 also brought our Plymouth theme to raw images Previously they just showed log outputs, you can still access these by pressing Esc during boot.

Man pages

An unintentional "feature" was discovered last year (2023-06-24) concerning missing manual pages in ISO and disk images out of the box. This has been fixed in UM 40.2. This is caused by a dnf "feature" that removes man pages from installations by default in CI environments.

Technical Details

In Ultramarine 39, we switched to our in-house image maker Katsu for building Ultramarine images, as opposed to Lorax. Katsu uses the system's dnf configurations (/etc/dnf/dnf.conf and /etc/yum.repos.d/) to generate the new install root. Since we build new images in GitHub Actions using Fedora Docker containers, dnf settings from the container, including the tsflags option, are thus inherited into the images. The tsflags option governs the inclusion of man pages, and Fedora configures the containers to strip those files in order to minimize the size of the containers.

It is still unknown why man pages were not included back when we were still using Lorax for Ultramarine 38, but this seems to be a bug with Anaconda/dnf.

Languages

Similarly and consequently, we have also fixed an issue where dnf automatically removes translation files from the system. This issue seems to be present since Ultramarine 39.

Technical Details

Just like with the man pages, Katsu images inherit configurations, this time around, RPM macros, from the Fedora containers. The RPM macro in question is %_install_langs, which is a list of language files dnf will install; i.e. languages not listed in this macro will be removed automatically by dnf. Again, Fedora containers only include en_US language files using this feature in order to strip down the container size.

Personally I think (and I'm sure Lea would think so too) this are the kind of "features" that are intentionally crafted in order to freak you out for at least a month — please, to all engineers out there, if you ever need to implement a feature, at least design it in a way properly and easily accessible. I have no idea who thought that removing files secretly and then printing out "0 files removed" would even be a good idea.

Fedora Bookmarks and dnf5

Due to unexpected dnf dependency resolution issues, numerous packages were not included in previous 40 and 40.1 releases, including ultramarine-phony-bookmarks and dnf5-default-package-manager. This has been fixed in 40.2 by setting them as mandatory packages in comps. Users can choose to update their system or install these 2 packages manually if desired. If you have opened Firefox on your system before installing ultramarine-phony-bookmarks, the Fedora bookmarks will appear in your browser automatically, and you will need to manually remove them.

Firmware Missing on GNOME Edition

While trying to debug an issue with the GNOME live ISOs, a team member erroneously pushed a flag that disabled the installation of weak dependencies, and forgot to remove the flag later. This caused dnf to not pull in the linux-firmware package since it was only listed as a weak dependency of kernel-core. This has been fixed in the latest ISOs by removing the flag.

Getting Patches

You can get most of these fixes by simply updating the system via the software center or the following command:

sudo dnf up

Upgrading a system using dnf

Fixing Man Pages and Translations

Unfortunately for users who would like to fix the man pages and translation issues, you will need to run the following command to reinstall all related packages that provide those files:

LANGUAGE=""
sudo dnf -y rei $(rpm -qads --qf "PACKAGE: %{NAME}\n" | sed -n -E '/PACKAGE: /{s/PACKAGE: // ; h ; b }; /^not installed/ { g; p }' | uniq)

Installing packages with missing files on the system.

Fixing Firmware Issues

If you are facing firmware issues on GNOME edition, then you'll also need to manually install linux-firmware:

sudo dnf -y in linux-firmware

Installing the missing firmware

New Installs

We have updated our website to include the new 40.2 builds. No extra actions are required.

Upcoming Ultramarine Releases

As you may know, we planned to release a (optional) preview of Readymade, our new in-house installer, and Chromebook support a week after 40. However, we have failed to yield to the deadline due to numerous reasons, including burnout, infrastructure issues and various technical burdens. We apologize that we cannot bring this release out to Ultramarine users quicker, and we are again sorry for any issues caused by previous releases due to a lack of quality assessment. In order to entail better scheduling and higher-quality releases, we have devised the following plan.

  1. We will implement openQA testing in the near future. openQA automatically tests images for papercuts and general functionality. Fedora and openSUSE already implement this and it is generally very reliable.
  2. We will release public beta builds for future releases (just like Fedora) and gather public feedback.
  3. We have instated new internal policies to better ensure that changes are vetted before hitting production.

Getting Support

If you are still having any other issues, please report here or in one of our chats. Otherwise, we hope you enjoy Ultramarine 40!