Wydanie frameworka do tworzenia instalatorów Calamares 3.3.0 z obsługą Qt6

Ponad pięć i pół roku po utworzeniu gałęzi 3.2.x opublikowano wydanie narzędzia do budowy instalatorów Calamares 3.3.0, które nie zależy od konkretnych dystrybucji Linux. Programiści dystrybucji mają do dyspozycji kilka dziesiątków gotowych modułów z realizacją różnych funkcji, które są poszukiwane w instalatorach. Kod napisano w języku C++, interfejs graficzny oparty jest na bibliotece Qt (używa QML), a do tworzenia modułów można stosować języki C++ i Python.

Calamares oferuje takie możliwości jak ręczne i automatyczne tryby partycjonowania dysków, elastyczny system dostosowywania wyglądu, architekturę modułową oraz dużą ilość gotowych modułów (od zarządzania bootloaderami po zarządzanie użytkownikami). Na przykład, istnieją moduły do korzystania z NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools i rsync. Instalacja może być zorganizowana poprzez zastąpienie partycji — dane są kopiowane do nowej partycji, która staje się aktywna zamiast wcześniej używanej, co jest wygodne do testowania nowych instalacji, pozostawiając możliwość powrotu do poprzedniej wersji.

Aby stworzyć własny instalator na bazie Calamares, wystarczy wybrać gotowe moduły lub napisać własne, określić logikę instalacji dystrybucji i dostosować wygląd. Aby uprościć i przyspieszyć rozwój, moduły i komponenty Calamares mogą być tworzone w języku Python. Wszystkie dane konfiguracyjne są przechowywane w formacie YAML. Calamares jest już wykorzystywany do organizacji instalacji dystrybucji Manjaro, Lubuntu, Asahi, EndeavourOS, wattOS, Rhino, Nitrux, Siduction, Peppermint OS, GeckoLinux, Chakra, NetRunner, KaOS, OpenMandriva i KDE neon. Projekt rozwija się przy współpracy społeczności KDE, Fedora, Kubuntu i Maui.

W nowym wydaniu:

  • Zapewniono pełną zgodność podstawowego frameworka i większości modułów z Qt 6 oraz bibliotekami KDE Frameworks 6. Dla wszystkich modułów QML udostępniono zestaw plików QML zgodnych z Qt6. Zachowano możliwość kompilacji z Qt5 i KDE Frameworks 5.
  • W interfejsie wyboru pakietów „packagechooser” dodano wsparcie dla metadanych AppStream 1.0.
  • W module „keyboard” zrealizowano możliwość wyboru użycia ustawień X11 lub usługi DBus FreeDesktop locale1. Zapewniono zapisanie ustawień układu klawiatury dla wszystkich układów nie-ASCII.
  • Moduł „dracut” zyskał możliwość konfiguracji nazwy jądra.
  • Interfejsy modułów „keyboardq” i „localeq” zostały przetłumaczone z ComboBox na widżet Drawer.
  • W edytorze partycji (moduł „partition”) dodano możliwość wyboru między formatami LUKS i LUKS2. Umożliwiono również pominięcie instalacji bootloadera. Wykorzystano funkcjonalność biblioteki KPMCore 21.12 (KDE Partition Manager).
  • Dodano moduł „zfshostid” do generowania /etc/hostid dla ZFS.
  • W module „bootloader” rozszerzono opcje do użycia w wierszu poleceń jądra.
  • W module „displaymanager” zakończono wsparcie dla menedżera wyświetlania kdm.
  • W module „fstab” całkowicie prz rewritten działania z konfiguracją /etc/fstab. Wiele ustawień przeniesiono do modułu „mount”.
  • Zaktualizowano wymagania dotyczące stylu kodowania — formatowanie kodu teraz odpowiada clang-format 15 lub 16.
  • Przeprojektowano przestrzenie nazw używane w kodzie C++ (wszystkie wywołania przeniesiono do przestrzeni nazw Calamares, usunięto powiązania z przestrzenią nazw CalamaresUtils).
  • Zamiast maski dla podstawienia @{var} użyto ${var}.
  • Biblioteka Boost::Python została usunięta z zależności — do programowania w języku Python teraz używa się wbudowanego zestawu powiązań pybind11. Aby przywrócić kompilację z Boost::Python, można ustawić zmienną WITH_PYBIND11=OFF.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster