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 rpm5.org. The rpm5.org 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 rpm5.org 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 rpm.org).

As for why this point is important? DNF does not work with the rpm5.org variant, only the rpm.org 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 rpm.org variant of RPM.

The migration occurred in five phases:

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