Release des Frameworks zur Erstellung von Installationsprogrammen Calamares 3.3.0 mit Unterstützung für Qt6

Nach fünf Jahren und sechs Monaten seit der Erstellung des 3.2.x-Zweigs wurde die Release-Version des Installationswerkzeugs Calamares 3.3.0 veröffentlicht, das unabhängig von bestimmten Linux-Distributionen funktioniert. Entwicklern von Distributionen stehen mehrere Dutzend vorgefertigte Module zur Verfügung, die verschiedene Funktionen bieten, die in Installationsprogrammen benötigt werden. Der Code ist in C++ geschrieben, die grafische Benutzeroberfläche basiert auf der Qt-Bibliothek (verwendet QML), und zur Entwicklung von Modulen können die Programmiersprachen C++ und Python eingesetzt werden.

Calamares bietet Funktionen wie manuelle und automatische Partitionierung von Festplatten, ein flexibles System zur Anpassung des Aussehens, eine modulare Architekture und eine große Auswahl an vorgefertigten Modulen (von der Verwaltung von Bootloadern bis zur Benutzerverwaltung). Beispielsweise gibt es Module zur Verwendung von NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools und rsync. Die Installation kann durch den Austausch einer Partition organisiert werden – Daten werden auf eine neue Partition kopiert, die aktiv gemacht wird anstelle der zuvor verwendeten Partition, was für das Testen neuer Installationen praktisch ist und die Möglichkeit bietet, auf die vorherige Version zurückzukehren.

Um einen eigenen Installer auf Basis von Calamares zu erstellen, reicht es aus, vorhandene Module auszuwählen oder eigene zu schreiben, die Installationslogik des Distributionspakets festzulegen und das Design anzupassen. Zur Vereinfachung und Beschleunigung der Entwicklung können Module und Komponenten von Calamares in Python erstellt werden. Alle Konfigurationsdaten werden im YAML-Format gespeichert. Calamares wird bereits zur Installation von Distributionen wie Manjaro, Lubuntu, Asahi, EndeavourOS, wattOS, Rhino, Nitrux, Siduction, Peppermint OS, GeckoLinux, Chakra, NetRunner, KaOS, OpenMandriva und KDE neon verwendet. Das Projekt entwickelt sich mit Unterstützung der Gemeinschaften KDE, Fedora, Kubuntu und Maui.

In der neuen Version:

  • Die vollständige Kompatibilität des Basis-Frameworks und der meisten Module mit Qt 6 und der KDE Frameworks 6-Bibliotheken ist gewährleistet. Für alle QML-Module wird ein Satz von mit Qt6 kompatiblen QML-Dateien bereitgestellt. Die Möglichkeit, mit Qt5 und KDE Frameworks 5 zu bauen, bleibt erhalten.
  • Im Paketwahl-Interface „packagechooser“ wurde die Unterstützung für AppStream 1.0-Metadaten hinzugefügt.
  • Im Modul „keyboard“ wurde die Möglichkeit implementiert, die Verwendung der X11-Einstellungen oder des DBus-Dienstes FreeDesktop locale1 auszuwählen. Die Einstellungen für die Tastaturbelegung werden für alle nicht-ASCII-Tastaturlayouts gespeichert.
  • Im Modul „dracut“ wurde die Unterstützung zur Konfiguration des Kernelnamens hinzugefügt.
  • Das Interface der Module „keyboardq“ und „localeq“ wurde von ComboBox auf das Widget Drawer umgestellt.
  • Im Abschnittseditor (Modul „partition“) wurde die Möglichkeit hinzugefügt, zwischen den Formaten LUKS und LUKS2 zu wählen. Es ist nun möglich, die Installation des Bootloaders zu überspringen. Die Funktionalität der KPMCore-Bibliothek 21.12 (KDE Partition Manager) wurde aktiviert.
  • Das Modul „zfshostid“ wurde hinzugefügt, um /etc/hostid für ZFS zu generieren.
  • Im Modul „bootloader“ wurden die Optionen für die Verwendung in der Kernel-Befehlszeile erweitert.
  • Im Modul „displaymanager“ wurde die Unterstützung für den Display-Manager kdm eingestellt.
  • Im Modul „fstab“ wurde die Arbeit mit der Konfiguration /etc/fstab vollständig überarbeitet. Viele Einstellungen wurden ins Modul „mount“ übertragen.
  • Die Anforderungen an den Code-Stil wurden aktualisiert – die Code-Formatierung entspricht jetzt clang-format 15 oder 16.
  • Die verwendeten Namespaces für C++-Code wurden überarbeitet (alle Aufrufe wurden in den Namespace Calamares verschoben, Bindungen an den Namespace CalamaresUtils wurden entfernt).
  • Anstelle von @{var} wird nun ${var} als Platzhaltermuster verwendet.
  • Die Boost::Python-Bibliothek wurde aus den Abhängigkeiten entfernt – für die Entwicklung in Python wird nun das integrierte Bindungsset pybind11 verwendet. Um eine Version mit Boost::Python zurückzubekommen, kann die Variable WITH_PYBIND11=OFF gesetzt werden.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster