From Fedora Project Wiki

Revision as of 07:58, 24 October 2023 by Mschorm (talk | contribs)

This documents describes methodology for removing support for 'N' amount of architectures for 'K' amount of packages that exists in Fedora.

Background

I hope this document will become universally applicable to the following scenario:

  • There are 'K' packages, already released in Fedora, built for several architectures
  • These 'K' packages provides 'L' names
  • There are other packages that depend on any of these 'L' names provided by these 'K' packages and their 'M' sub-packages build-time, run-time or both
  • You want to stop building those 'K' packages on 'N' architectures, but you want to make sure, all packages that depend on the 'K' packages will be properly taken care of
  • 'K', 'L', 'M', 'N' are integers
  • There will be at least one architecture left after you're done, and it is NOT 'noarch'

My original case

This is my original case, on which I'll demonstrate the whole process.

I maintain packages 'mariadb' and 'community-mysql' for which I wanted to drop support for the i686 architecture.
This was done as a part of this change proposal: "F40 MariaDB MySQL repackaging"
And the reason for dropping the architecture was saving maintainer time, energy and computational resources.
It´s based on this accepted change: "Encourage i686 Leaf Removal"

These package provide it's names, additional names, libraries, pkgconfigs, and so on.
A lot of other packages relies on them - as they are huge, well established databases - both build-time and run-time.

Part of the stack are database connectors to various languages, which I also maintain.
One such is 'mariadb-connector-c' which is special. It provides the client library for MariaDB and it's development files.
And since the MariaDB and MySQL are compatible - regarding the client side - this library can server for both.

I know a lot of very important packages relies on those databases, but I never kept track of how big is that dependency tree exactly.

RPM names