Calamares 3.2.2 released

The Calamares team is happy to announce the availability of Calamares 3.2.2, the second update in the features-and-functionality series of Calamares 3.2.x. Changes in this release require distributions to carefully review the configuration files and settings for Calamares.

Calamares is a distribution-independent system installer, with an advanced partitioning feature for both manual and automated partitioning operations. Calamares is designed to be customizable by distribution maintainers without need for cumbersome patching, thanks to third party branding and external modules support.

This release contains contributions from (alphabetically by first name):

  • Andrius Štikonas
  • artoo@cromnix.org
  • Caio Carvalho
  • Harald Sitter
  • Philip Müller
  • Simon Quigley
  • Walter Lapchynski

Core

  • Example configurations are no longer installed by default. The default setting for INSTALL_CONFIG has changed. Distributions are strongly encouraged to write their own configuration files and not rely on the example configuration files. Example configurations may change unpredictably.
  • It is now possible to express module dependencies through the requiredModules key in module.desc. All of the required modules for a given module must occur in the sequence before the module requiring them. None of the core modules use this facility.
  • The search paths for QML files, branding descriptors and module descriptors have been revamped and now self-document in the log.
  • A new ci/RELEASE.sh script has been added to streamline releases; it is not guaranteed to work anywhere in particular though.

Modules

  • When multiple modules are mutually exclusive, or don’t make sense to enable concurrectly, a new USE_<foo> framework has been added to CMake to simplify the selection of modules. This is in addition to the existing SKIP_MODULES mechanism.
  • Various off-by-one-sector errors in the automatic partitioning mode have been corrected. In addition, swap space is calculated a little more conservatively.
  • A new module has been added to the core which can configure openrc services. To make services configuration consistent:
    • The services module has been renamed services-systemd,
    • The openrc module is named services-openrc,
    • At CMake time, it is possible to select all of the services modules, or one specific one, by setting the USE_services CMake variable. By default, all of the modules are built and installed.
  • The systemd-services module can now disable targets and mask both targets and services (which will allow you to break the system with a bad configuration). The configuration is a little more flexible because a service (or target) name can be used on its own with sensible defaults.
  • The displaymanager module has been entirely revamped. A long-standing bug which ignored the settings for default desktop has been fixed (thanks to Walter Lapchynski). Translations have been added to the error messages. Each DM now has an implementation class for doing all the configuration steps it needs. This groups the code needed for a specific DM (and presumably, per-distro) in one place. Distro’s are strongly advised to re-test their DM configuration and installation with the revamped code.

If you experience an issue with Calamares, please tell us all about it on the Calamares issue tracker. For a full change list, or the full list of issues closed with this release, please see the Calamares code repository. Work towards the next release continues.

Written on September 4, 2018