Nakon pet i pol godina od formiranja grane 3.2.x, objavljeno je izdanje alata za izradu instalatera Calamares 3.3.0, koji nije vezan uz specifične Linux distribucije. Razvijateljima distribucija pruženo je nekoliko desetaka gotovih modula s implementacijom različitih mogućnosti, traženih u instalaterima. Kod je napisan na C++ jeziku, grafičko sučelje temelji se na Qt biblioteci (koristi se QML), a za razvoj modula mogu se koristiti jezici C++ i Python.
Calamares nudi mogućnosti kao što su ručni i automatski načini particioniranja diskovnih jedinica, fleksibilan sustav prilagodbe izgleda, modularna arhitektura, veliki izbor gotovih modula (od upravljanja bootloaderima do upravljanja korisnicima). Na primjer, postoje moduli za korištenje NetworkManager-a, UPower-a, systemd-boot-a, GRUB-a, sgdisk-a, squashfs-tools i rsync. Instalacija se može organizirati putem zamjene particije — podaci se kopiraju na novu particiju, koja postaje aktivna umjesto ranije korištene, što je praktično za testiranje novih instalacija, ostavljajući mogućnost povratka na prošlu verziju.
Za izradu vlastitog instalatera na bazi Calamares-a dovoljno je odabrati gotove module ili napisati vlastite, odrediti logiku instalacije distribucije i postaviti izgled. Za pojednostavljenje i ubrzanje razvoja, moduli i komponente Calamares-a mogu se stvarati na Python jeziku. Svi konfiguracijski podaci pohranjuju se u YAML formatu. Calamares se već koristi za organizaciju instalacije distribucija Manjaro, Lubuntu, Asahi, EndeavourOS, wattOS, Rhino, Nitrux, Siduction, Peppermint OS, GeckoLinux, Chakra, NetRunner, KaOS, OpenMandriva i KDE neon. Projekt se razvija uz sudjelovanje zajednica KDE, Fedora, Kubuntu i Maui.
U novom izdanju:
- Osigurana je potpuna kompatibilnost osnovnog okvira i većine modula s Qt 6 i KDE Frameworks 6 bibliotekama. Za sve QML module dostavljen je skup kompatibilnih QML datoteka s Qt6. Održana je mogućnost izgradnje s Qt5 i KDE Frameworks 5.
- U sučelju za odabir paketa „packagechooser“ dodana je podrška za AppStream 1.0 metapodatke.
- U modulu „keyboard“ implementirana je mogućnost odabira korištenja postavki X11 ili DBus usluge FreeDesktop locale1. Osigurano je zadržavanje postavki rasporeda tipkovnice za sve ne-ASCII rasporede.
- U modulu „dracut“ dodana je podrška za postavku imena jezgre.
- Interfejs modula «keyboardq» i «localeq» prebačen je s ComboBox na widget Drawer.
- U editoru odjeljaka (modul «partition») dodana je mogućnost odabira između formatima LUKS i LUKS2. Omogućena je opcija preskakanja instalacije bootloadera. Aktivirana je funkcionalnost KPMCore biblioteke 21.12 (KDE Partition Manager).
- Dodan je modul «zfshostid» za generiranje /etc/hostid za ZFS.
- U modu «bootloader» proširene su opcije za korištenje u naredbenom retku jezgre.
- U modu «displaymanager» prekinuta je podrška za display manager kdm.
- U modu «fstab» potpuno je redizajniran rad s konfiguracijom /etc/fstab. Mnoge postavke prenesene su u modul «mount».
- Ažurirani su zahtjevi za stil kodiranja — formatiranje koda sada odgovara clang-formatu 15 ili 16.
- Preuredili su se prostori imena korišteni za C++ kod (svi pozivi prebačeni su u prostor imena Calamares, uklonjene su veze na prostor imena CalamaresUtils).
- Kao maska za zamjenu umjesto @{var} korišten je ${var}.
- Boost::Python biblioteka uklonjena je iz zavisnosti — za razvoj na jeziku Python sada se koristi ugrađeni skup veza pybind11. Za povratak u gradnju s Boost::Python, varijablu WITH_PYBIND11 postavite na OFF.
Izvor: opennet.ru
