Byl zahájen vývoj správce balíčků DNF 5 a nahrazení PackageKit

Daniel Mach z Red Hatu сообщил o začátku vývoje správce balíčků DNF 5, ve kterém se logika DNF implementovaná v Pythonu přenese do knihovny libdnf napsané v C++. DNF 5 se plánuje zahájit testování v červnu během vývoje Fedory 33, poté bude přidáno do úložiště Rawhide v říjnu 2020 a nahradí DNF 2021 v únoru 4. Údržba větve DNF 4 bude pokračovat tak, jak je používané v Red Hat Enterprise Linux 8.

Je třeba poznamenat, že projekt dosáhl stavu, ve kterém je téměř nemožné pokračovat ve vývoji kódu bez porušení kompatibility na úrovni API/ABI. To je způsobeno především ztráta relevance PackageKit a nemožnost vyvinout libdnf bez změny API „libhif“. Přitom i přes záměr změnit API je prý hlavní prioritou zachování zpětné kompatibility na úrovni rozhraní příkazového řádku a API.

Podpora Python API v DNF zůstane zachována, ale obchodní logika napsaná v Pythonu bude přenesena do knihovny libdnf (C++), která zajistí identické fungování správce balíčků v distribuci. Vývoj se bude soustřeďovat kolem C++ API a Python API bude automaticky generováno ve formě obalu na jeho základě.
Vázání pro Go, Perl a
Rubín. Po stabilizaci C++ API bude na jeho základě připraveno C API, do kterého se přenese rpm-ostree. Hawkey Python API bude odstraněno a nahrazeno libdnf Python API.

Základní funkce DNF budou zachovány. Vzhledem k rozsáhlé testovací sadě (asi 1400 testů) se očekává, že přepracování API nebude mít vliv na rozhraní příkazového řádku pro koncové uživatele. Analýza a výstup argumentů se mohou mírně změnit, ale tyto změny budou dobře zdokumentovány. Ve svlečené verzi microdnf, používané v kontejnerech, se plánuje implementace podmnožiny schopností DNF, dosažení plné parity funkčnosti se neuvažuje.

Místo toho PackageKit Bude vytvořena nová služba DBus, která poskytuje rozhraní pro správu balíčků a aktualizací pro grafické aplikace. Tato služba se plánuje vyvíjet od nuly, takže její vytvoření může vyžadovat spoustu času. PackageKit nebyl vyvinut nedávno a od roku 2014 je v režimu údržby kvůli ztrátě relevance. S rozvojem systémů Snaps a Flatpak ztrácejí distribuce o PackageKit zájem, například již není k dispozici v sestaveních Fedora stříbrně modrá. Abstraktní vrstva pro správu balíčků je z velké části zajišťována nativními GNOME a KDE Application Control Centers, která umožňují instalaci balíčků flatpak na úrovni jednotlivých uživatelů. Jednotné systémové API pro získání seznamu nainstalovaných balíčků není tak užitečné jako dříve.

Zdroj: opennet.ru

Přidat komentář