Udgaven af projektet Aura 4.0.0 er blevet præsenteret, som udvikler en pakkestyrer til distributionssystemet Arch Linux, der udvider mulighederne for den indbyggede pakkestyrer Pacman. Projektet blev oprettet i 2012 og havde oprindeligt til formål at levere værktøjer til opbygning af pakker til AUR (Arch User Repository), der bruges til distribution af tredjepartsudvikleres pakker, som ikke er inkluderet i de officielle Arch Linux-repositories. Koden til projektet distribueres under GPLv3-licensen.
Udover de specifikke AUR-funktioner tilbyder Aura også andre muligheder, der udvider funktionaliteten af Pacman (i øjeblikket relaterer kun 1/3 af de udvidede Aura-funktioner sig til AUR). For eksempel er der værktøjer til visuel analyse af afhængigheder, håndtering af snapshots af pakkegrupper (til at gemme og gendanne tilstand), samt administration af resterende afhængigheder og tilbageførsel af enkelte pakker eller hele systemet til tidligere versioner.
Pakkestyreren Aura er fuldt bagudkompatibel med Pacman og understøtter alle dens kommandoer og muligheder (Aura kan bruges som en erstatning for Pacman med udvidede funktioner). Funktioner relateret til AUR aktiveres ved at angive kommandolinjeindstillingen "-A", mens værktøjer til at arbejde med snapshots og versioner aktiveres gennem indstillingerne "-B" og "-C", som ikke overlapper med Pacmans muligheder. Der tilbydes også sådanne ekstra kommandoer som "check", "conf", "free", "stats" og "deps" til at kontrollere systemintegriteten, arbejde med konfigurationen, analysere licenser, se statistikker og håndtere afhængigheder.
Funktionaliteten i Pacman genskabes ved brug af bibliotektet libalpm, som tilbyder grundlæggende pakkeadministrationsmuligheder, der anvendes i pakkestyreren Pacman. Projektet understøtter også en egen server med pakke metadata, der gør det muligt at fremskynde søgningen af pakker og opløsningen af afhængigheder betydeligt.
Den nye version er bemærkelsesværdig ved den fulde omskrivning af kodebasen, som er oversat fra Haskell til Rust. Skiftet til Rust har betydeligt forbedret ydeevnen, forenklet installationen, gjort brug af færdige Rust-bindings til libalpm, gjort projektet mere attraktivt for nye udviklere, forbedret kommandolinjegrænsefladen og reduceret størrelsen af den eksekverbare fil med fire gange.
Der tilføjede kommando "aura deps" giver mulighed for at generere billeder med en visuel præsentation af afhængigheder. For eksempel, for at se de pakker, der afhænger af gcc, kan man udføre "aura deps gcc —reverse —optional —open", mens man for at se de pakker, som gcc afhænger af — "aura deps gcc —limit=3 —open":


Kilde: opennet.ru
