Праз пяць з паловай гадоў з моманту фармавання галінкі 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-модуляў прадстаўлены набор сумяшчальных з Qt6 файлаў QML. Захавана магчымасць зборкі з 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/XNUMX (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
