OpenMandriva's migration from URPMI to DNF

This repository attempts to document the procedure done in early 2018 to migrate OpenMandriva from URPMI to DNF.

Ordinarily, this would not warrant much in the way of a special procedure, but unlike most RPM-based Linux distributions, OpenMandriva used RPM from The variant of RPM was led by Jeff Johnson, the long-ago maintainer of RPM at Red Hat, who continued his work after he stopped being part of the company.

OpenMandriva inherited its usage of the variant of RPM from its direct ancestor: Mandriva Linux. Mandriva had decided to make the change in 2010, which led to the splitting point between Mandriva and Mageia (a fork of Mandriva started in late 2010 which decided to remain on the RPM variant from

As for why this point is important? DNF does not work with the variant, only the variant. I had attempted to port DNF over for a few years, but remained unsuccessful. Finally, it was agreed that as part of moving to DNF, OpenMandriva would also switch to the variant of RPM.

The migration occurred in five phases:

  1. Bootstrap of RPM and DNF
  2. Changing packaging to use RPM flavored features
  3. Mass rebuild to eliminate RPM built packages
  4. Removal of hacks introduced during bootstrap
  5. Mass rebuild to ensure packages build without bootstrap hacks