EPEL has historically been major version only. In more recent years, we have started taking EPEL archive snapshots that emulate minor versions. These snapshots are static and unmaintained, but can still help users get compatible packages when they must stay on an older minor version for whatever reason. We do not currently serve those minor versions in MirrorManager. We do however serve EOL major versions of EPEL through MirrorManager. Requesting EPEL 4, 5, or 6 will return a list of mirrors that have the Fedora archive (which includes an epel subdirectory).
We have typically used the DNF release variable in the EPEL repo configurations. When a user stays on an older minor version, this variable is usually changed from the major version to the major and minor version, e.g. 9.0. This was reported as a bug in EPEL 8, because such users were getting a 404 with the default repo config. The compromise we came up with was to use an 8 directly instead of releasever, so that the default configs always requested epel-8 instead of a minor version like epel-8.0. There are some drawbacks to this. As EPEL builds against the current RHEL minor version, there are packages that won't work on earlier minor versions.
One alternative that was suggested was to teach MirrorManager about EPEL minor version snapshots. This would help ensure users get compatible packages, with the drawback that those packages are static and unmaintained. Personally, I think that users who are pinning to older minor versions of their OS care more about getting compatible packages that successfully install than about how long ago the packages were updated.
We switched back to using releasever with EPEL 9, possibly by accident (I don't remember an intentional decision to do this). With EPEL 10 we are going to have proper minor versions. I am proposing the following steps:
Metadata Update from @carlwgeorge: - Issue tagged with: meeting
For posterity, the MirrorManager implementation is happening in fedora-infrastructure#11968.
We discussed this at today's EPEL Steering Committee meeting. Among committee members who were present, the vote was +2,0,0. There were several other non-members attending the meeting who also voted in favor. However, this is not enough achieve a majority. We'll leave this open until enough other committee members have voted to secure the majority.
As I understand it, this will not impact disk usage for mirror owners in any meaningful way since the RPMs are there for the whole major version life anyway, so basically we'll have some new metadata only in addition to MM additions to serve these requests?
+1 for this
Older minor versions are part of the fedora-archive and fedora-buffet rsync modules. Mirrors that choose either of these already have the content, so this change is just about making MM aware of them so that users can access the content easier. There is no disk space increase for mirrors that are only mirroring the fedora-epel rsync module. The disk space increases for fedora-archive/buffet are the same (new snapshots at each minor version) with or without the MM changes.
As I understand it, this will not impact disk usage for mirror owners in any meaningful way since the RPMs are there for the whole major version life anyway, so basically we'll have some new metadata only in addition to MM additions to serve these requests? Older minor versions are part of the fedora-archive and fedora-buffet rsync modules. Mirrors that choose either of these already have the content, so this change is just about making MM aware of them so that users can access the content easier. There is no disk space increase for mirrors that are only mirroring the fedora-epel rsync module. The disk space increases for fedora-archive/buffet are the same (new snapshots at each minor version) with or without the MM changes.
+1
Metadata Update from @carlwgeorge: - Issue untagged with: meeting
With these ticket votes we're at +4,0,0, which gives us a majority of the seven committee seats. I'm calling this one approved and moving forward.
Metadata Update from @carlwgeorge: - Issue close_status updated to: Approved - Issue status updated to: Closed (was: Open)
I'm late to the game, but I'm also +1 for this.
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/epel/steering/issues/278
Please continue any further discussion there.