It’s been over a month since I last wrote anything; I acted as a caregiver for my mom for a while, then she moved house which led to frantic painting, unboxing, furniture assembling and all the other time-and-energy sinks associated with moving. Since the end of october I’ve been mostly back at work doing Calamares and KDE and FreeBSD- related things. Let’s catch up on Calamares, first.
- Calamares 3.2.45 was released at the end of october. This was a first release of Calamares to have some small support for ZFS, thanks to new contributor Evan James. I’m really happy to have new people participating in development – Calamares is there for everyone and should have the things that every (and any) distro needs, either in core or in extensions.
- Speaking of new contributors, Hacktoberfest was a disappointment in that it yielded nothing-at-all. Not even a nibble. I wrote up some more issues in my Hacktoberfest introductory fashion. That at least is not a total loss, because it involves a bunch of up-front thinking about how an issue could be solved, so later it can be done (e.g. by me or another regular contributor) a little more quickly.
- Calamares 3.2.46 was released two weeks later. That is the release cadence I try to achieve: push out new things regularly, with whatever is done or new. With a bunch of Arch-derivatives testing the code, and KDE neon unstable doing so too, this shakes things out relatively quickly. This release did some major under-the-hood reworking so that it’s much easier to manage external processes in Calamares; medium term this will shake up a number of the Python modules, too.
- And right on schedule two weeks later Calamares 3.2.47 was released, now with better privacy controls, and more complete ZFS support.
The ZFS bits are something I’m quite excited about, but they do ask that the distro do some work – the ZFS kernel modules and tools need to be on the ISO, for instance. That doesn’t happen magically, and distro-makers still need to do their thing – and make their own choices; there’s nothing forcing ZFS onto distributions, but Calamares (through Evan) now makes it possible.
Calamares is available in about 75 languages. 17 of those are at 100% translation, which is a really good statistic. Recent notable work has been to push Sinhala and Farsi (Persian) to 100% translation.
Calamares still isn’t great in RTL-mode, but I’ve also never had any reports asking for it (or better yet, pull-requests doing something about it). Those few RTL-writing-people whom I have spoken with about it have told me that crappy layout is so ubiquitous that they would be surprised and concerned if things swapped around in Calamares when switching from RTL to LTR languages.
RTL is “Right to Left”, like Arabic script, which is used for Arabic and Farsi. LTR is “Left to Right”, like Cyrillic script, which is used for Russian and Azerbaijani. To be honest I don’t know which direction to read Sinhala, but I think it’s beautiful.
Since Calamares is used by several dozen Linux distributions, it’s convenient to be able to build-and-test on a live ISO. I sat down and wrote out a KDE neon testing and Arch testing guide. That helped me not a few days later when I had full instructions at hand for testing a strange install issue. By writing down the instructions for myself, I didn’t have to think about it much when I needed them.
Similar notes could probably be written for openSUSE, Fedora, and others.
The central bit of software is the
deploycala.py script which does
the heavy lifting; PRs to keep it up-to-date with distro’s are always welcome.
Broader Community and the Future
There are several places where Calamares is developed: the core repository, an extensions repository for more specialized modules and bits, a KDE repository for KDE-specific parts. Some distributions have their own collections of modules. Penguins Eggs is an interesting idea for duplicating Linux installations that also leverages Calamares and has some custom bits.
Distro’s are welcome to add modules to core or extensions. Specialized modules are slowly growing in number, and that’s fine – I’d rather have a good shared central repo of modules with good customizability and configurability than tons of forks.
For the near future, my plans are:
- get the KDE modules off the ground.
- reach some level of API stability and branch off a 3.3 LTS version of Calamares.
- move the development and short-cycle stream of Calamares releases to a 3.4 version. That will give some distro’s a stable thing to work with – useful if they have their own C++-based modules where API / ABI stability has long been an issue in Calamares – and allow us to ditch a whole bunch of backwards-compatbility cruft (e.g. I will no longer be supporting Qt 5.12).
So the future is sunny; kind of like this screenshot from Garuda: