On Wed, 2013-09-25 at 21:04 +0200, Kevin Kofler wrote:
All the actual logic of DNF is written in C, so I really don't
see why
we should be stuck with that Python wrapper.
...it's not just a "wrapper". DNF have replaced yum's depsolver but
~90%
of the code in yum *isn't* depsolving.
To replace yum you still need to (re)write all the *other* parts that
are written in Python. Like:
* config file parser (reading and writing)
* GPG key handling (importing keys, checking signatures, etc.)
* mirrorlist handling (metadata/failover/etc, plus most of urlgrabber)
* RPM utility functions (canonicalizing arches for multilib, etc.)
* miscellaneous utilities (like "get_running_kernel_*")
* yumdb support
zif did all that (although it doesn't use hawkey/libsolv, so that's a
bit of a problem), but you're still missing:
* A plugin API
* standard plugins (fastestmirror, langpacks, refresh-packagekit)
* deltarpm support
* history/transaction support
On the bright side, there's a new C library for comps support:
https://github.com/midnightercz/libcomps
So if you actually wanted to write another yum replacement in C you
could probably start with zif, port it to use libsolv and libcomps, fix
up the CLI, and have yourself a functional prototype.
Looking forward to seeing what you come up with! Good luck!
-w