Description of problem:
Before RHEL 8.2 the python3-mod_wsgi package had a 'Provides' for 'mod_wsgi'. In RHEL 8.2 this is removed due to the addition of the python38 module. This change is documented in the release notes.
However, this breaks existing rpm dependencies which is not what I would expect from a minor release update of RHEL. We have a lot of rpm packages with dependencies to 'mod_wsgi' which now wont install on 8.2. We have had to work around this issue by building our own meta package providing mod_wsgi, but that such a breaking change is introduced in a minor release worries me. What other breaking changes of similar type are there that we have not yet seen? Is it OK to introduce such changes in the middle of a RHEL lifecycle now?
Since python3.6 is the default python in RHEL8 it would not have been unexpected behaviour if installation of mod_wsgi installed the python3.6 version. Users who want the python38 version can explicitly install that anyway.
Version-Release number of selected component (if applicable):
Yes, this was annoying and we did not want to remove or break deps - I'm really sorry for any inconvenience this caused you.
Unfortunately we hit some problems with modularity dependency solving which made it necessary in this case; with the Provides: there, dnf was filtering python3-mod_wsgi out entirely so package became impossible to install in any way. I'll see if we can open up the private bugs where we discussed this.
I can't think of any other time when we deliberately broke deps like this in the httpd stack within a RHEL major release before, and we certainly don't plan to do it again.
That is reassuring, thank you.
Maybe changes of this type, although rare, should be highlighted better in the release notes, preferably in a separate section ('potential breaking changes'). As it is now it the release notes only describe what the change is, but not the potential effects of the change (such as "this will break any existing dependencies set up against the 'mod_wsgi' package"). That would make it easier for users to understand that they may have to take action before upgrading.
I managed to get the private BZ opened to make it transparent why we had to resolve to this workaround of removing the `mod_wsgi` provide.
And I'd like to add my apologies for breaking your workflow. We're working with the docs team right now to improve the documentation.
Also, Adam, can I ask what package broke because of this missing dependency?
Was it your own or a third-party package? Or was it a package provided by Red Hat? The latter we could fix.
It was our own package with a manually added 'Require' to mod_wsgi.
Thank you for your response to this bugzilla, I understand the necessity of the change now and appreciate the documentation updates.
Thank you for your feedback.
I have added the following known issue to the RHEL 8.2 Release Notes:
Thanks, Tomas, for your help with the doc text.
I might add to this that our meta package providing mod_wsgi did not work out of the box, the configuration for the yumrepo where the package is stored needs to contain "module_hotfixes=True", otherwise it is filtered by DNF.
(In reply to adam winberg from comment #7)
> I might add to this that our meta package providing mod_wsgi did not work
> out of the box, the configuration for the yumrepo where the package is
> stored needs to contain "module_hotfixes=True", otherwise it is filtered by
That's actually for the same reason the Provide "mod_wsgi" had to dropped in the first place :)
Thanks for the note, we should add it to the docs.
Thanks, Adam and Tomas!
I have updated the release note:
Thank you too Lenka!