Description of problem: obsolete singularity was removed from the non-suid apptainer package metadata which breaks package dependencies on systems that do not install the apptainer-suid package and have legacy packages still dependent on singularity. Version-Release number of selected component (if applicable): 1.4.1-2 How reproducible: 100% Steps to Reproduce: 1. yum update on a system with apptainer-1.4.1-1 (but not apptainer-suid) and any package that depends on singularity. Actual results: root@ldas-pcdev8 ~]# yum update Last metadata expiration check: 1:53:08 ago on Mon 02 Jan 2023 10:47:36 AM PST. Error: Problem: package igwn-batch-execute-20220520-1.el8.noarch requires singularity, but none of the providers can be installed - cannot install both apptainer-1.1.4-2.el8.x86_64 and apptainer-1.1.4-1.el8.x86_64 - cannot install the best update candidate for package igwn-batch-execute-20220520-1.el8.noarch - cannot install the best update candidate for package apptainer-1.1.4-1.el8.x86_64 (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) Expected results: apptainer-1.4.1-1 package updated to apptainer-1.4.1-2
My bad. I now see in the Changelog that this was a deliberate metadata change since 1.1.4-2 is now incompatible with singularity.
However, given this incompatibility should the new package still provide /usr/bin/singularity?
Hi Stuart, The apptainer package should definitely still provide /usr/bin/singularity, since almost all of the functionality is seamlessly the same, especially when unprivileged user namespaces are enabled (which is default on EL8 and greater). I think the main issue you ran across is the removal of "Provides: singularity" even from the apptainer-suid package. I am planning on soon requesting permission to add that back, to the apptainer-suid package, after a few more pending PRs are merged. Meanwhile, I suggest you update your package to require apptainer or apptainer-suid, whichever one makes the most sense for your use case. Starting with rpm 4.13 (not available in EL7) you can use the "or" keyword to require different possible packages: https://rpm-software-management.github.io/rpm/manual/boolean_dependencies.html Dave
I think the changelog entry misled you -- it doesn't say that apptainer is incompatible with singularity, it says "due to incompatibilities". There are some differences, and the EPEL Steering Committee and I had a disagreement over whether or not it was "compatible enough". Moving the "Obsoletes: singularity" to the apptainer-suid package addressed the majority of the differences, and there are pending PRs to address the remaining differences. The committee recommended that I bring the request to add back the Provides to the Fedora Engineering Engineering Steering Committee after the changes are done.
Thanks for the explanation. We are going to push ahead and change our EL8 package dependencies from singularity to apptainer as we do not want to use apptainer-suid, so as far as I am concerned you can close this ticket unless it is helpful for you and the steering committee.