Calamares & Arch (Derivatives)
Calamares is an independent Linux installer – the thing that gets a distro from an ISO image onto a computer’s hard disk. Calamares is packaged by some distro’s that don’t use it themselves, for use by remixes – for instance, Fedora and openSUSE. It is used by dozens of distro’s, from all the major distro families. Some are Arch derivatives, which are a unique bunch because they often use the Calamares development branch (called calamares) directly. Arch derivatives are also dependent on upstream packaging choices for things like KDE Frameworks and Boost. This makes Arch derivatives a perilous bunch to support.
Update: (2023-10-24) Well that’s me putting my foot in it, right? There are Arch derivatives that don’t annoy me through the issues below, and who do participate and contribute. I’d like to point out EndeavourOS in particular as a good citizen.
- Arch regularly releases Boost (the C++ library) updates which are ABI-incompatible, but downstream Calamares doesn’t get recompiled. This leads to problems “it doesn’t work” which all have the same solution “rebuild Calamares”, and has for years – I don’t notice this from other distro families, and I’ve never had so much as a hint of a merge request or code contribution to improve the situation.
- Arch recently renamed a ton of packages for KDE Frameworks. This breaks the get-the-dependencies script that Calamares used. There has been no bug report or upstream issue filed – which suggests that the script isn’t being used at all and should be taken down. Calamares doesn’t run continuous integration builds (CI) with any Arch derivative either. There has not been any merge request to implement this.
- Lots of Arch derivatives optimistically build Calamares from the development branch (calamares). There is a long and tedious release process going on to get a cleaned-up 3.3.0 out the door, so the development branch is a good deal less stable than it has been. Building things in-between alpha releases is fraught, to say the least. I can’t say any useful bug reports or merge requests have shown up to help that process, though.
There are distro’s that contribute and communicate: KaOS, KDE neon, Gecko Linux, Ashahi Linux, Debian, Fedora, Lubuntu. Each of those have contributed patches, or at least good bug reports, in the past year. Calamares CI has expanded with a Fedora build for one simple reason: the Fedora folks communicate about things, and setting up a Docker image with KDE Frameworks 6 was dead simple.
So unless something changes downstream, I’ll enthusiastically support the useful distro’s and consider the Arch family as “whatevs”.
Note that Boost::Python is being replaced by pybind11 (default on, but Boost::Python remains an option) and that Calamares is Qt6 and KF6 ready, so lots of big changes are there for the next release – distro’s that actually read the Calamares release notes are ready for this.