#104 Update module policy concerning same modules as RHEL
Closed: Fixed 3 years ago by tdawson. Opened 3 years ago by tdawson.

A couple of epel-modules have been pushed that have the same module name, and stream name, as RHEL modules.
Although dnf lists these as different modules, you cannot enable and/or disable them separately. So if one is enabled, they both are enabled, and whichever packages have the higher NVR is the one installed/updated.

Currently, the only way to fix this is to have the epel-modules not have the same stream name.

Currently, the policy dealing with modules being able to provide the same package name as RHEL modules is the following

In EPEL 8 or later, it is permitted to have module streams which contain packages with alternate versions to those provided in RHEL. These packages may be newer, built with different options, or even older to serve compatibility needs. These MUST NOT be the default stream -- in every case, explicit user action must be required to opt in to these versions. If the RHEL package is in a RHEL module, then the EPEL module must have the same name as the RHEL module. Any exceptions to the module name must be approved by the EPEL Steering Committee.

I propose to update that to this

In EPEL 8 or later, it is permitted to have module streams which contain packages with alternate versions to those provided in RHEL. These packages may be newer, built with different options, or even older to serve compatibility needs. These MUST NOT be the default stream -- in every case, explicit user action must be required to opt in to these versions. If the RHEL package is in a RHEL module, then the EPEL module must have the same name as the RHEL module, and a different stream name than the RHEL module. Any exceptions to the module name must be approved by the EPEL Steering Committee.

Only this line is different

If the RHEL package is in a RHEL module, then the EPEL module must have the same name as the RHEL module, and a different stream name than the RHEL module.


Can you also add that if a module in Fedora has the same stream name as a module in RHEL, they they will need to replace platform: [] in their modulemd with platform: [-epel8] so that it is not built for that platform.

Can you also add that if a module in Fedora has the same stream name as a module in RHEL, they they will need to replace platform: [] in their modulemd with platform: [-epel8] so that it is not built for that platform.

Although I think this is a good thing to document, I don't think it goes into the policy. Maybe in the FAQ or packager guidelines.

The EPEL Steering Committee is going to investigate whether mbs would be able to automatically add -epel or -epel8 onto the module streams. If it is able to do that, then we will set that, and this additional wording will not be needed.

There was a discussion with the module committee. To me, it seems the answer to adding -epel to all the stream names is no.
The reason it's no is because of dependencies.
We cannot blindly rename the dependencies because we don’t know if a dependency on nodjes:10 is meant as RHEL or EPEL stream
If we are going to have to manually set the dependency stream names, we might as well manually set the module stream names.

Possibly the best place to automatically make sure we don't push modules out with the same module name and stream name as RHEL is in bodhi. Have bodhi check to see if there is a conflicting RHEL module.

But, even if we have that in bodhi, then we still need to update the policy.

EPEL Steering Committee approved policy change.

There is a provision that we implement some type of check (possibly in bodhi) so that accidents don't happen. This will be on a separate issue.

Policy has been updated.
New issue has been created.
https://pagure.io/epel/issue/105

Metadata Update from @tdawson:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata