About F19 Firewall

Will Woods wwoods at redhat.com
Thu Sep 26 20:40:21 UTC 2013

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:


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!


More information about the devel mailing list