On Wed, Jul 01, 2020 at 08:29:26AM -0500, Martin Jackson wrote:
Hello,
I'm having a problem I don't understand how to fix, and I would appreciate some guidance. I'm maintaining nagios-plugins, which bundles a number of different "check" plugins and has some metapackages that include different subsets of those check plugins.
In the EL 8.2 release cycle, one of the dependencies of one of those plugins was moved from EPEL into EL proper, which broke new installs of that plugin and the -all metapackage. A user filed a bug, so as a temporary workaround, I stopped building the plugin package with that dependency (nagios-plugins-ssl_validity, and had that version (nagios-plugins-2.3.3-3) obsolete the ssl_validity plugin, since leaving it around caused it to want to keep the base package in conflict with other packages that were upgrading.
Now that CentOS 8.2 is released, and the dependency is available, I've issued an update (https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-70bcfe5382) that builds ssl_validity again, and also adds it back to the -all subpackage. I can upgrade it sucessfully (which installs the ssl_validity plugin again, as expected), but subsequent calls to dnf upgrade give this error:
Obsoleting Packages nagios-plugins.x86_64 2.3.3-3.el8 epel nagios-plugins-ssl_validity.x86_64 2.3.3-4.el8 @epel-testing
nagios-plugins 2.3.3-3 is not installed anymore, and there are no explicit Obsoletes: in the ssl_validity package. I'm not sure what needs to be done here, but whatever it is I'm willing to make the change. Also wondering if this is expected behavior.
I think the problem is in the stable nagios-plugins-0:2.3.3-3.el8.x86_64 package. It does not constrain the obsoletance of nagios-plugins-ssl_validity by a specific release:
# dnf --quiet --enablerepo=epel --enablerepo=epel-testing repoquery --obsoletes nagios-plugins-0:2.3.3-3.el8.x86_64 nagios-plugins-linux_raid < 1.4.16-11 nagios-plugins-ssl_validity <= 2.3.3
It states that any nagios-plugins-ssl_validity package of 2.3.3 version, or older, which nagios-plugins-ssl_validity-0:2.3.3-4.el8.x86_64 package fulfilles, should be uninstalled. As a result DNF will uninstall nagios-plugins-ssl_validity-0:2.3.3-4.el8.x86_64 as long as nagios-plugins-0:2.3.3-3.el8.x86_64 package is available in any repository.
If nagios-plugins-0:2.3.3-3.el8.x86_64 contained:
Obsoletes: nagios-plugins-ssl_validity <= 2.3.3-3
everything would work smoothly.
I believe that once nagios-plugins-0:2.3.3-4.el8 gets stable and replaces nagios-plugins-0:2.3.3-3.el8 in the stable EPEL repository, everything will start working again. EPEL keeps only the latest build of a package in each repository. Thus I would ignore this issue now, and pushed nagios-plugins-0:2.3.3-4.el8 into stable once possible.
You can try it: Install nagios-plugins-0:2.3.3-4.el8, then disable the stable epel repository, and attempt to install nagios-plugins-ssl_validity.
-- Petr