Została wydana wersja projektu Aura 4.0.0, rozwijającego menedżer pakietów dla dystrybucji Arch Linux, który rozszerza możliwości standardowego menedżera pakietów Pacman. Projekt został utworzony w 2012 roku i początkowo miał na celu dostarczenie narzędzi do tworzenia pakietów dla repozytorium AUR (Arch User Repository), wykorzystywanego do dystrybucji pakietów przez zewnętrznych deweloperów, które nie znajdują się w głównych repozytoriach dystrybucji Arch Linux. Kod projektu jest udostępniany na licencji GPLv3.
Oprócz funkcji specyficznych dla AUR, Aura oferuje również inne możliwości, które rozszerzają funkcjonalność Pacman (w obecnym czasie tylko 1/3 rozszerzonych możliwości Aura związana jest z AUR). Na przykład, dostępne są narzędzia do wizualnej analizy zależności, pracy ze snapshotami zestawów pakietów (do zapisania i przywracania stanu), zarządzania pozostałymi zależnościami oraz cofania pojedynczych pakietów lub całego systemu do poprzednich wersji.
Menadżer pakietów Aura jest w pełni kompatybilny wstecz z Pacmanem i obsługuje wszystkie jego polecenia i opcje (Aura może być używana jako zamiennik Pacmana z rozszerzonymi funkcjami). Powiązane z AUR dodatkowe możliwości są wywoływane poprzez podanie opcji wiersza poleceń „-A”, a narzędzia do pracy ze snapshotami i wersjami przez opcje „-B” i „-C”, które nie kolidują z opcjami Pacmana. Oferowane są również dodatkowe polecenia, takie jak „check”, „conf”, „free”, „stats” i „deps” do sprawdzania integralności systemu, zarządzania konfiguracją, analizy licencji, przeglądania statystyk i rozkładu zależności.
Funkcjonalność Pacman jest odtwarzana dzięki wykorzystaniu biblioteki libalpm, która oferuje podstawowe możliwości zarządzania pakietami, stosowane w menedżerze pakietów Pacman. Projekt wspiera również własny serwer z metadanymi pakietów, co pozwala znacznie przyspieszyć wyszukiwanie pakietów i rozwiązywanie zależności.
Nowa wersja charakteryzuje się całkowitym przepisaniem bazy kodu, która została przetłumaczona z użycia języka Haskell na język Rust. Zmiana języka pozwoliła znacznie poprawić wydajność, ułatwić instalację, wykorzystać gotowe bindy Rust do libalpm, uczynić projekt bardziej atrakcyjnym dla nowych programistów, poprawić interfejs wiersza poleceń oraz czterokrotnie zmniejszyć rozmiar pliku wykonywalnego.
Dodano polecenie „aura deps”, umożliwiające generowanie obrazów z przejrzystą prezentacją zależności. Na przykład, aby zobaczyć pakiety zależne od gcc, można wykonać „aura deps gcc —reverse —optional —open”, a aby zobaczyć pakiety, od których zależy gcc — „aura deps gcc —limit=3 —open”:


Źródło: opennet.ru
