Представлен релиз проекта Calamares 2.0, в рамках которого развивается универсальный фреймворк для построения инсталляторов, не зависящего от конкретных дистрибутивов Linux. Фреймворк предоставляет несколько десятков готовых модулей c реализацией различных возможностей, востребованных в установщиках дистрибутивов. Код фреймворка написан на языке С++, графический интерфейс основан на библиотеке Qt 5 (используется QML), для разработки модулей могут применяться языки C++ и Python. Calamares уже используется для организации установки дистрибутивов Manjaro, Sabayon, Chakra, NetRunner, KaOS, BBQLinux и OpenMandriva, и развивается при участии проектов KDE, Fedora, Kubuntu и Maui.
Из особенностей Calamares можно отметить поддержку ручного и автоматического режимов разбиения дисковых разделов, реализацию функции установки путём замены раздела (данные копируются в новый раздел, которые делается активным вместо ранее используемого раздела, что удобно для тестирования новых установок, оставляя возможность откатиться на прошлую версию), гибкая система адаптации внешнего вида, модульная архитектура, большой выбор готовых модулей (от управления загрузчиками до управления пользователями). Например, имеются модули для использования NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools и rsync.
Для создания собственного установщика на базе Calamares достаточно выбрать готовые модули или написать собственные, определить логику установки дистрибутива и настроить внешний вид. Для упрощения и ускорения разработки модули и компоненты Calamares могут создаваться на языке Python (для интеграции с С++ используется Boost.Python). Все конфигурационные данные хранятся в формате YAML.
В новой версии:
- Полностью переписан код компонентов для управления дисковыми разделами, который переведён на использование библиотеки KPMcore, также применяемой в менеджере дисковых разделов KDE Partition Manager;
- Переработана система модулей с целью повышения гибкости настройки, организации оформления и выполнения работ;
- Реализован режим post-install, позволяющий запустить специальный конфигуратор при первой загрузке после завершения установки;
- Внесены улучшения в разнообразные модули, в том числе улучшены средства выбора локали, настройки загрузчика и дисплейного менеджера.