Daniel Mach Red Hat'ist DNF 5 pakendihalduri arenduse algusest, kus Pythonis rakendatud DNF loogika kantakse üle C++-s kirjutatud libdnf teeki. DNF 5 testimine on plaanis alustada juunis Fedora 33 arendamise käigus, mille järel lisatakse see oktobris 2020 Rawhide'i hoidlasse ja asendab DNF 4 veebruaris 2021. DNF 4 haru hooldamist jätkatakse, kuna seda kasutatakse Red Hat Enterprise Linux 8-s.
Projekt on jõudnud seisundisse, kus koodi arendamine on peaaegu võimatu ilma API/ABI taseme ühilduvust rikkumata. Peamine põhjus on ja libdnf arendamise võimatus ilma 'libhif' API muutmata. Siiski, vaatamata kavatsusele API-d muuta, on peamiste prioriteetide seas tagada backwards-ühilduvus käsurea ja API tasemel.
Python API tugi DNF-is jääb alles, kuid Pythonis kirjutatud äriloogika kantakse üle libdnf (C++) teeki, mis tagab, et pakendihalduri töö on jaotises identne. Arendus keskendub C++ API-le, samas kui Python API genereeritakse automaatselt selle baasil.
Sarnasel viisil luuakse siduvad teegid Go, Perlile ja
Rubyle. Pärast C++ API stabiliseerimist valmistatakse selle põhjal ette ka C API, kuhu muudetakse rpm-ostree. Python API eemaldatakse ja asendatakse Python API-ga.
DNF'i põhifunktsioonid jäävad alles. Tänu suurele testkomplektile (umbes 1400 testi) on oodata, et API ümberehitamine ei mõjuta lõppkasutajate käsurealiidest. Argumentide tõlgendamine ja väljund võivad natuke muutuda, kuid need muudatused dokumenteeritakse hästi. Lühendatud versioonis , millel on rakendused konteinerites, on plaanis rakendada DNF-i võimekuse alamhulka, täieliku funktsionaalsuse saavutamine ei ole kaalutud.
Asenda uue uus DBus teenus, mis pakub liidest pakettide ja värskenduste haldamiseks graafilistes rakendustes. Selle teenuse arendamine plaanitakse alustada nullist, seega võib selle loomine võtta palju aega. PackageKit ei ole viimastel aegadel arenenud ja on alates 2014. aastast hooldusetapis, kuna see on kaotanud oma asjakohasuse. Snapside ja Flatpaki edendamisega kaotavad jaotused huvi PackageKiti vastu, näiteks ei tarnita seda enam kogumitesse. . Paketihalduse abstraktsioonitase on suuresti tagatud GNOME ja KDE kohandatud rakendusehalduse keskuste kaudu, mis võimaldavad installida flatpak-pakette eraldi kasutajate tasandil. Ühtne süsteemi API installitud paketide loendi hankimiseks ei muutu enam nii kasulikuks kui varem.
Allikas: opennet.ru
