È stata rilasciata la versione 4.0.0 del progetto Aura, che sviluppa un gestore di pacchetti per la distribuzione Arch Linux, ampliando le funzionalità del gestore di pacchetti predefinito Pacman. Il progetto è stato creato nel 2012 e inizialmente mirava a fornire strumenti per la creazione di pacchetti per il repository AUR (Arch User Repository), utilizzato per la distribuzione di pacchetti da sviluppatori terzi non presenti nei repository principali della distribuzione Arch Linux. Il codice del progetto è distribuito con licenza GPLv3.
Oltre alle funzioni specifiche per AUR, Aura offre anche altre possibilità che ampliano la funzionalità di Pacman (attualmente solo 1/3 delle funzionalità avanzate di Aura sono correlate a AUR). Ad esempio, sono disponibili strumenti per l'analisi visiva delle dipendenze, la gestione degli snapshot dei set di pacchetti (per salvare e ripristinare stati), la gestione delle dipendenze residue e il rollback di singoli pacchetti o dell'intero sistema a versioni precedenti.
Il gestore di pacchetti Aura è completamente compatibile con Pacman e supporta tutti i suoi comandi e opzioni (Aura può essere utilizzato come sostituto di Pacman con funzionalità avanzate). Le funzionalità aggiuntive legate a AUR vengono attivate specificando l'opzione della riga di comando "-A", mentre gli strumenti per la gestione degli snapshot e delle versioni utilizzano le opzioni "-B" e "-C", che non si sovrappongono a quelle di Pacman. Sono inoltre disponibili comandi aggiuntivi come "check", "conf", "free", "stats" e "deps" per verificare l'integrità del sistema, gestire la configurazione, analizzare le licenze, visualizzare le statistiche e analizzare le dipendenze.
La funzionalità di Pacman viene ricreata grazie all'uso della libreria libalpm, che offre le basi per la gestione dei pacchetti utilizzate nel gestore di pacchetti Pacman. Il progetto supporta anche un proprio un server sistema di metadati dei pacchetti, che consente di velocizzare notevolmente la ricerca dei pacchetti e la risoluzione delle dipendenze.
La nuova versione si distingue per la completa riscrittura della base di codice, che è stata tradotta dall'uso del linguaggio Haskell al linguaggio Rust. Il cambio di linguaggio ha permesso di aumentare significativamente le prestazioni, semplificare l'installazione, utilizzare i binding Rust già pronti per libalpm, rendere il progetto più attraente per i nuovi sviluppatori, migliorare l'interfaccia della riga di comando e ridurre di quattro volte la dimensione del file eseguibile.
È stato aggiunto il comando "aura deps", che consente di generare immagini con una rappresentazione visiva delle dipendenze. Ad esempio, per visualizzare i pacchetti che dipendono da gcc, puoi eseguire "aura deps gcc --reverse --optional --open", mentre per visualizzare i pacchetti da cui gcc dipende, usa "aura deps gcc --limit=3 --open":


Fonte: opennet.ru
