Daniel Mach z firmy Red Hat o zahájení vývoje správce balíčků DNF 5, ve kterém bude převedena logika DNF implementovaná v jazyce Python do knihovny libdnf napsané v C++. Testování DNF 5 je plánováno na červen v rámci vývoje Fedora 33, po kterém bude v říjnu 2020 přidáno do repozitáře Rawhide a v únoru 2021 nahradí DNF 4. Údržba větve DNF 4 bude pokračovat, protože se používá v Red Hat Enterprise Linux 8.
Upozorňuje se, že projekt dosáhl stavu, kdy je téměř nemožné pokračovat ve vývoji kódu bez porušení kompatibility na úrovni API/ABI. Hlavně to souvisí s aktuality PackageKit a nemožností rozvoje libdnf bez změny API 'libhif'. Přestože je úmysl změnit API, jako hlavní priority jsou zmiňovány zachování zpětné kompatibility na úrovni rozhraní příkazového řádku a API.
Podpora Python API v DNF zůstane, ale podniková logika napsaná v Pythonu bude převedena do knihovny libdnf (C++), což zajistí shodnost fungování správce balíčků v distribuci. Vývoj se soustředí kolem C++ API, přičemž Python API bude automaticky generováno ve formě obalového modulu na jeho základě.
Podobným způsobem budou vytvořeny vazby pro Go, Perl a
Ruby. Po stabilizaci C++ API bude na jeho základě připraveno i C API, na které bude převeden rpm-ostree. Python API bude odstraněno a nahrazeno Python API.
Hlavní funkčnost DNF zůstane zachována. Díky velké testovací sadě (přibližně 1400 testů) se očekává, že přepracování API neovlivní rozhraní příkazového řádku pro koncové uživatele. Může se mírně změnit analýza argumentů a výstup, ale tyto změny budou dobře zdokumentovány. V odlehčené verzi , používané v kontejnerech, se plánuje implementace podmnožiny funkcí DNF, dosažení plného paritního stavu ve funkcionalitě není zvažováno.
Namísto bude vytvořena nová služba DBus, která poskytne rozhraní pro správu balíčků a aktualizací pro grafické aplikace. Tato služba se plánuje vyvinout od nuly, a proto může její vytvoření vyžadovat hodně času. PackageKit v poslední době neprochází vývojem a od roku 2014 je v režimu údržby kvůli ztrátě relevance. S rozšířením systémů Snaps a Flatpak ztrácejí distribuce zájem o PackageKit, například již není dodáván v balících. . Úroveň abstrakce pro správu balíčků je do značné míry zajištěna vestavěnými centry pro správu aplikací GNOME a KDE, která umožňují instalaci flatpak balíčků na úrovni jednotlivých uživatelů. Unifikované systémové API pro získání seznamu nainstalovaných balíčků se stává méně užitečným než dříve.
Zdroj: opennet.ru
