Il rilascio del framework per la creazione di installer Calamares 3.3.0 con supporto a Qt6

Dopo cinque anni e mezzo dalla creazione della serie 3.2.x, è stato pubblicato il rilascio dello strumento per la creazione di installer Calamares 3.3.0, indipendente da specifiche distribuzioni Linux. Gli sviluppatori delle distribuzioni hanno a disposizione diverse decine di moduli già pronti, con implementazioni di varie funzionalità richieste negli installer. Il codice è scritto in C++, l'interfaccia grafica si basa sulla libreria Qt (utilizza QML), per lo sviluppo dei moduli possono essere usati i linguaggi C++ e Python.

Calamares offre funzionalità come modalità di partizionamento manuale e automatico, un sistema flessibile di adattamento dell'aspetto, architettura modulare e un'ampia selezione di moduli già pronti (dalla gestione dei bootloader alla gestione degli utenti). Ad esempio, ci sono moduli per l'uso di NetworkManager, UPower, systemd-boot, GRUB, sgdisk, squashfs-tools e rsync. L'installazione può essere organizzata sostituendo la partizione: i dati vengono copiati su una nuova partizione, che diventa attiva al posto della partizione precedentemente utilizzata, il che è comodo per testare nuove installazioni, lasciando la possibilità di tornare a una versione precedente.

Per creare un proprio installer basato su Calamares, è sufficiente selezionare i moduli già pronti o scrivere i propri, definire la logica di installazione della distribuzione e configurare l'aspetto. Per semplificare e velocizzare lo sviluppo, i moduli e i componenti di Calamares possono essere creati in Python. Tutti i dati di configurazione vengono memorizzati nel formato YAML. Calamares è già utilizzato per l'installazione delle distribuzioni Manjaro, Lubuntu, Asahi, EndeavourOS, wattOS, Rhino, Nitrux, Siduction, Peppermint OS, GeckoLinux, Chakra, NetRunner, KaOS, OpenMandriva e KDE neon. Il progetto è in continua evoluzione grazie alla partecipazione delle comunità KDE, Fedora, Kubuntu e Maui.

Nel nuovo rilascio:

  • È garantita la piena compatibilità del framework di base e della maggior parte dei moduli con Qt 6 e le librerie KDE Frameworks 6. Per tutti i moduli QML è fornito un insieme di file compatibili con Qt6. È mantenuta la possibilità di compilazione con Qt5 e KDE Frameworks 5.
  • Nell'interfaccia di scelta dei pacchetti "packagechooser" è stata aggiunta la compatibilità con i metadati AppStream 1.0.
  • Nel modulo "keyboard" è stata implementata la possibilità di scegliere tra le impostazioni X11 o il servizio DBus locale FreeDesktop locale1. È garantito il salvataggio delle impostazioni della disposizione della tastiera per tutte le disposizioni non-ASCII.
  • Nel modulo "dracut" è stata aggiunta la compatibilità per la configurazione del nome del kernel.
  • L'interfaccia dei moduli "keyboardq" e "localeq" è stata cambiata da ComboBox a un widget Drawer.
  • Nel partizionatore (modulo "partition") è stata aggiunta la possibilità di scegliere tra i formati LUKS e LUKS2. È stata fornita la possibilità di saltare l'installazione del bootloader. È stata utilizzata la funzionalità della libreria KPMCore 21.12 (KDE Partition Manager).
  • È stato aggiunto il modulo "zfshostid" per la generazione di /etc/hostid per ZFS.
  • Nel modulo "bootloader" sono state ampliate le opzioni per l'uso nella riga di comando del kernel.
  • Nel modulo "displaymanager" è stata interrotta la compatibilità con il gestore di display kdm.
  • Nel modulo "fstab" è stata completamente ristrutturata la gestione della configurazione di /etc/fstab. Molte impostazioni sono state trasferite nel modulo "mount".
  • Sono stati aggiornati i requisiti per lo stile di codifica: il formato del codice ora corrisponde a clang-format 15 o 16.
  • Sono stati riorganizzati gli spazi dei nomi utilizzati per il codice C++ (tutte le chiamate sono state trasferite nello spazio dei nomi Calamares, rimuovendo i legami con lo spazio dei nomi CalamaresUtils).
  • Come maschera per la sostituzione, invece di @{var} è stato utilizzato ${var}.
  • La libreria Boost::Python è stata rimossa dalle dipendenze: per lo sviluppo in Python ora viene utilizzato il set di binding integrato pybind11. Per ripristinare la compilazione con Boost::Python, è possibile impostare la variabile WITH_PYBIND11=OFF.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster