On Thu, Mar 5, 2020 at 8:51 PM Luya Tshimbalanga luya@fedoraproject.org wrote:
We've managed to drop a lot of redundant code across the whole DNF stack in the past years, but we have reached a point when it's nearly impossible to consolidate the code any further without breaking the API/ABI. Especially with PackageKit being dead[1], we can't move with the old "libhif" API in libdnf, because making any bigger changes to PackageKit is clearly out of scope.
[1] https://blogs.gnome.org/hughsie/2019/02/14/packagekit-is-dead-long-live-w...
*Ahem* See the comments on the above links an the github is still active https://github.com/hughsie/PackageKit
The main issue related to PackageKit linked libdnf was the lack of synchronization of the database. PackageKit was made to be cross-platform for distributions with minimum reliance on specific distribution command, Losing PackageKit would lead to yet another step back with multiple commands difficult to remember thus another fragmentation.
The database has been synchronized since Fedora 24. However, the caches are not, and that *does* need to be fixed. The library interface for DNF already has APIs for this, PackageKit doesn't use them.