Ben Cotton, který je programovým manažerem Fedora v společnosti Red Hat, oznámil záměr přestěhovat Fedora Linux na výchozí správce balíčků DNF5. V Fedora Linux 39 se plánuje změnit balíčky dnf, libdnf a dnf-cutomatic na nástroje DNF5 a novou knihovnu libdnf5. Tento návrh zatím nebyl projednán výborem FESCo (Fedora Engineering Steering Committee), který zodpovídá za technickou část vývoje distribuce Fedora.
DNF byl ve své době náhradou za Yum, který byl kompletně napsán v jazyce Python. V DNF byly náročné nízkoúrovňové funkce přepracovány a přesunuty do samostatných C knihoven hawkey, librepo, libsolv a libcomps, ale kostra a vysoceúrovňové komponenty zůstaly v Pythonu. Projekt DNF5 si klade za cíl unifikovat existující nízkoúrovňové knihovny, přepsat zbytek komponent správy balíčků napsaných v Pythonu do C++ a přesunout základní funkčnost do samostatné knihovny libdnf5 s vytvořením obalů kolem této knihovny pro zachování Python API.
Použití jazyka C++ místo Pythonu umožní zbavit se mnoha závislostí, zkrátit velikost nástrojů a zvýšit výkon. Vyšší výkon je dosažen nejen díky použití kompilace do strojového kódu, ale také díky vylepšené implementaci transakční tabulky, optimalizaci načítání z repozitářů a restrukturalizaci databáze (odděleny jsou databáze se stavem systému a historií operací). Nástroje DNF5 se zbaví vazby na PackageKit, namísto něj je zapojen nový background process DNF Daemon, který nahrazuje funkčnost PackageKit a poskytuje rozhraní pro správu balíčků a aktualizací v grafických prostředích.
Přepracování také umožní realizaci některých vylepšení, která zvyšují komfort práce se správcem balíčků. Například v novém DNF byla implementována přehlednější indikace postupu provádění operací; byla přidána podpora pro použití místních RPM balíčků pro transakce; byla přidána možnost zobrazení informací vydávaných skripty (scriplets) zabudovanými v balíčcích v reportech o provedených transakcích; byla navržena pokročilejší systém autocompletování pro bash.
Zdroj: opennet.ru
