След пет години и половина от създаването на клон 3.2.x, е публикуван релизът на инструмента за изграждане на инсталатори Calamares 3.3.0, който не зависи от конкретни дистрибуции на Linux. На разработчиците на дистрибуции са предоставени десетки готови модули с реализация на различни възможности, търсени в инсталаторите. Кодът е написан на C++, графичният интерфейс е основан на библиотеката Qt (използва QML), за разработка на модулите могат да се използват езиците C++ и Python.
Calamares предлага такива възможности, като ръчен и автоматичен режим за разпределяне на дисковите дялове, гъвкава система за адаптиране на външния вид, модулна архитектура, голям избор от готови модули (от управление на буутлодери до управление на потребители). Например, има модули за използване на NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools и rsync. Инсталацията може да бъде организирана чрез замяна на дял — данните се копират на нов дял, който става активен вместо предишния използван дял, което е удобно за тестване на нови инсталации, оставяйки възможността за възстановяване на предишната версия.
За създаване на собствен инсталатор на база Calamares е достатъчно да изберете готови модули или да напишете собствени, да определите логиката на инсталацията на дистрибуцията и да настроите външния вид. За опростяване и ускоряване на разработката модулите и компонентите на Calamares могат да се създават на Python. Всички конфигурационни данни се съхраняват в YAML формат. Calamares вече се използва за организиране на инсталации на дистрибуции като Manjaro, Lubuntu, Asahi, EndeavourOS, wattOS, Rhino, Nitrux, Siduction, Peppermint OS, GeckoLinux, Chakra, NetRunner, KaOS, OpenMandriva и KDE neon. Проектът се развива с участието на общностите KDE, Fedora, Kubuntu и Maui.
В новото издание:
- Осигурена е пълна съвместимост на основната рамка и повечето модули с Qt 6 и библиотеките KDE Frameworks 6. За всички QML модули е предоставен набор от файлове QML, съвместими с Qt6. Запазена е възможността за компилиране с Qt5 и KDE Frameworks 5.
- В интерфейса за избор на пакети „packagechooser“ е добавена поддръжка на метаданни AppStream 1.0.
- В модула „keyboard“ е реализирана възможността за избор между настройките на X11 или DBus услугата FreeDesktop locale1. Осигурено е запазването на настройките на клавиатурната подредба за всички не-ASCII подредби.
- В модула „dracut“ има поддръжка за настройка на името на ядрото.
- Интерфейс на модулите «keyboardq» и «localeq» е преведен от ComboBox на виждет Drawer.
- В редактора на раздели (модул «partition») е добавена възможността за избор между форматите LUKS и LUKS2. Осигурена е възможност за пропускане на инсталацията на загрузчика. Активарана е функционалността на библиотеката KPMCore 21.12 (KDE Partition Manager).
- Добавен е модулът «zfshostid» за генериране на /etc/hostid за ZFS.
- В модула «bootloader» са разширени опциите за използване в командния ред на ядрото.
- В модула «displaymanager» е прекратена поддръжката на дисплейния мениджър kdm.
- В модула «fstab» е напълно преработена работата с конфигурацията на /etc/fstab. Много настройки са прехвърлени в модула «mount».
- Актуализирани са изискванията към стила на кодирането — форматирането на кода сега отговаря на clang-format 15 или 16.
- Преработени са пространствата от имена, използвани за код на C++ (всички извиквания са преместени в пространството от имена Calamares, премахнати са привързаностите към пространството от имена CalamaresUtils).
- Като маска за подмяна вместо @{var} е използван ${var}.
- Библиотеката Boost::Python е премахната от зависимостите — за разработка на езика Python сега се използва вграденият набор от привързвания pybind11. За да се възстанови компилацията с Boost::Python, може да се зададе променливата WITH_PYBIND11=OFF.
Източник: opennet.ru
