Bug 2157776 - non-suid pacakge missing obsolete singularity metadata
Summary: non-suid pacakge missing obsolete singularity metadata
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: apptainer
Version: epel8
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Dave Dykstra
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-01-02 21:28 UTC by Stuart Anderson
Modified: 2023-01-03 23:41 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-01-03 23:41:54 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Stuart Anderson 2023-01-02 21:28:33 UTC
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

Comment 1 Stuart Anderson 2023-01-02 21:39:47 UTC
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.

Comment 2 Stuart Anderson 2023-01-02 21:42:40 UTC
However, given this incompatibility should the new package still provide /usr/bin/singularity?

Comment 3 Dave Dykstra 2023-01-03 18:15:17 UTC
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

Comment 4 Dave Dykstra 2023-01-03 18:25:51 UTC
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.

Comment 5 Stuart Anderson 2023-01-03 20:45:10 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.