Integrating the installer
The Calamares developers insist the installer’s design makes it easy to adapt as per the requirements of a distro. Kevin agrees: “I found the Calamares installer to be portable and easy to adapt. I made the port to Fedora (and Fedora Remixes such as Kannolo) at a time very early in Calamares development, where only a handful of distros were supported. As a result, I had to make some small adaptations that also benefitted other distributions later on. But it was all fairly straightforward.”
He credits the ease of use to the project’s documentation: “I found the documentation available at the time already sufficient, keeping in mind that I’m not afraid of looking at source code or just trying something out and then debugging the error message. But the documentation has since been expanded significantly.” Kevin himself has contributed to Calamares’ documentation, writing most of the LUKS deployment guide in the wiki. Alexis is also all praise for the installer’s documentation: “Their documentation provides developers with nice support to change the features of the installer, and the people involved were friendly whenever I asked for help in their IRC channel.”
But what does it take to hook Calamares onto a distro? Kevin replies, based on his experience of using Calamares in Kannolo: “It was a matter of adding the calamares package instead of the anaconda package in the spin kickstart. The needed dependencies are pulled in by the RPM-level dependencies of the calamares RPM package. Those are all packages already available in Fedora. Other than the user interface stack (Qt 5 and a few KDE Frameworks 5 libraries) and the partitioning backend (kpmcore), these are mostly the same packages used by Anaconda.”