Začal sa vývoj správcu balíkov DNF 5 a nahradenie balíka PackageKit

Daniel Mach z Red Hatu сообщил o začiatku vývoja správcu balíkov DNF 5, v ktorom sa logika DNF implementovaná v Pythone prenesie do knižnice libdnf napísanej v C++. DNF 5 sa plánuje začať testovať v júni počas vývoja Fedory 33, potom bude pridaný do úložiska Rawhide v októbri 2020 a nahradí DNF 2021 vo februári 4. Údržba vetvy DNF 4 bude pokračovať tak, ako doteraz používané v Red Hat Enterprise Linux 8.

Je potrebné poznamenať, že projekt dosiahol stav, v ktorom je takmer nemožné pokračovať vo vývoji kódu bez narušenia kompatibility na úrovni API/ABI. Je to spôsobené najmä stratu relevantnosť PackageKit a nemožnosť vývoja libdnf bez zmeny API „libhif“. Zároveň, napriek zámeru zmeniť API, je vraj hlavnou prioritou zachovanie spätnej kompatibility na úrovni rozhrania príkazového riadka a API.

Podpora pre Python API v DNF zostane zachovaná, no obchodná logika napísaná v Pythone bude prenesená do knižnice libdnf (C++), čo zabezpečí identické fungovanie správcu balíkov v distribúcii. Vývoj sa bude sústreďovať okolo C++ API a Python API bude automaticky generované vo forme obalu na jeho základe.
Viazanie pre Go, Perl a
Ruby. Po stabilizácii C++ API sa na jeho základe pripraví C API, do ktorého sa prenesie rpm-ostree. Hawkey Python API bude odstránené a nahradené libdnf Python API.

Základná funkčnosť DNF zostane zachovaná. Vzhľadom na veľký testovací balík (asi 1400 testov) sa očakáva, že prepracovanie API nebude mať vplyv na rozhranie príkazového riadka pre koncových používateľov. Analýza a výstup argumentov sa môžu mierne zmeniť, ale tieto zmeny budú dobre zdokumentované. V vyzlečenej verzii microdnf, používané v kontajneroch, plánuje sa implementácia podmnožiny schopností DNF, pričom sa neuvažuje o dosiahnutí úplnej parity funkčnosti.

Namiesto toho PackageKit Vytvorí sa nová služba DBus, ktorá poskytuje rozhranie pre správu balíkov a aktualizácií pre grafické aplikácie. Vývoj tejto služby sa plánuje od začiatku, takže jej vytvorenie môže vyžadovať veľa času. PackageKit nebol nedávno vyvinutý a od roku 2014 je v režime údržby z dôvodu straty relevantnosti. S pokrokom systémov Snaps a Flatpak strácajú distribúcie záujem o PackageKit, napríklad už nie je dostupný v zostavách Fedora SilverBlue. Abstrakčnú vrstvu pre správu balíkov z veľkej časti poskytujú natívne GNOME a KDE Application Control Centers, ktoré umožňujú inštaláciu balíkov flatpak na úrovni jednotlivých používateľov. Jednotné systémové API na získanie zoznamu nainštalovaných balíkov už nie je také užitočné ako predtým.

Zdroj: opennet.ru

Pridať komentár