Description of problem:
In order to complete our migration from urpmi to DNF, the installer needs to be converted to use DNF. The most obvious way to pull this off would be to move to using libdnf (the core library for DNF, and the library used by PackageKit-Dnf backend).
This will also solve a number of problems related to sanely managing local and online repository configuration for classic installs, as well as giving us a must faster installation process for network installs, among other things.
Since libdnf is a glib2 backed library, it supports GObject Introspection as an bindings engine, so in addition to the hand-crafted Hawkey Python binding, there are automatically generated Python and Perl bindings through G-I. For using libdnf in the installer, Perl through G-I is one way to go.
The other way would be to either use python-hawkey or the higher level DNF API through PyPerl or Inline::Python from Perl. This is also useful if the goal is to gradually transition the installer from Perl to Python.
This is currently in progress. Angelo Naselli has started working on this.
Migrate package installation engine to libdnf =>
Migrate package installation engine to DNF