Packaging Tools Team, který se ve Fedoře stará o sadu nástrojů pro správu instalovaného softwaru, vykračuje v F18 novým směrem: Yum byl forknut a nový nástroj, který bude po několik příštích vydání Fedory vyvíjen paralelně s Yumem, se jmenuje DNF. V F18 je dostupný z hlavních repozitářů Fedory jako preview.

Popis nového balíčku jako feature naleznete zde: https://fedoraproject.org/wiki/Features/DNF.

Důvodů pro fork bylo několik, ale hlavním z nich je problémová udržovatelnost Yumu, nedosažitelná unifikace resolverů závislostí mezi Yumem a RPM a citelná nemožnost použít pro psaní rozšíření balíčkovacího stacku jiný jazyk než Python.

DNF není zdaleka hotové: jedná se spíš o ukázku pro experimentátory, kterým nevadí, že více exotické příkazy známé z Yumu zatím chybí. Živý seznam nejzásadnějších nedostatků oproti Yumu otevřel James Antill v Red Hat bugzille. Seznam příkazů, které podporované jsou, je udržován v dokumentaci DNF, po instalaci balíčku je rovněž dostupný přes man dnf. Pokud se pro zkoušení odhodláte, což vřele doporučuji (a jako hlavní tvůrce DNF v to i doufám), a potážete se s uživatelskými nepříjemnostmi, neočekávaným chováním, nekompatibilitami nebo dokonce tracebacky, reportujte prosím svou zkušenost do bugzilly nebo se přijďte pobavit na IRC: irc.freenode.org, kanál #yum. Nová verze stacku DNF vychází nepravidelně zhruba každé dva týdny, oznámení se změnami vždy posílám na mailing list yum-devel.

Na rozdíl od Yumu je v DNF standardně povolen hodinový cronjob, který v případě potřeby synchronizuje prošlá metadata (dnf makecache). Měla by tak odpadnout většina čekání na stažení repozitářů, na které slýcháme v Packaging Tools Teamu tolik nářků.

Konečně, máte-li zájem proniknout do kódu a případně poslat patche, repozitář DNF je zde: https://github.com/akozumpl/dnf. Pro řešení závislostí mezi balíčky a rychlé prohledávání jejich metadat používá DNF novou knihovnu hawkey založenou na vynikajícím libsolvu od SUSE (v tomto případě se nejedná o fork ale o wrapper).