From: "Josh Boyer" <jwboyer(a)fedoraproject.org>
Could you please elaborate (perhaps in a separate thread) the full
desire and requirements behind rewriting DNF into C? The first link
in your email says the initiative is started, but it doesn't really
explain why aside from the libhif step.
Having DNF in C is desire of many users. If you could notice the thread
from Courtney Pacheco, she did investigation [1] to minimize the Fedora
image (which is bigger than in other distros). The DNF will probably be
taken out of that image. Mostly because of the Python requirement.
By dropping Python requirement, it could speed up the the process start-up
(no need to load Python libs then). That is also the reason why PK does not
call DNF Python API from C and rather have a special library in C instead.
I can think of many reasons for doing this, but it would probably be
better coming from the development team doing the work. It would also
be nice if you could explain how the recently proposed and accepted
system-python Change plays into this long term. I believe DNF was one
of the targeted "system tools" that would use it, so if that isn't
really going to be the case it would be good to know.
Gradually DNF is moving more code into C but still a lot of code is in
Python and plugins are written in Python too. Having rewritten DNF into
C would take a few years while maintaining the UX compatibility and
still support Python API for plugins.
The main message was to inform the consumers of hawkey to prepare their
apps for the libhif change.
Honza
[1]
https://gist.github.com/iamcourtney/b8709ed897b7ecc9ac0f