17:00:25 <geppetto> #startmeeting fpc
17:00:25 <zodbot> Meeting started Thu Dec  8 17:00:25 2022 UTC.
17:00:25 <zodbot> This meeting is logged and archived in a public location.
17:00:25 <zodbot> The chair is geppetto. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions.
17:00:25 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
17:00:25 <zodbot> The meeting name has been set to 'fpc'
17:00:25 <geppetto> #meetingname fpc
17:00:25 <zodbot> The meeting name has been set to 'fpc'
17:00:25 <geppetto> #topic Roll Call
17:00:45 * GwynCieslasheher here
17:00:48 <carlwgeorge> .hi
17:00:49 <zodbot> carlwgeorge: carlwgeorge 'Carl George' <carl@redhat.com>
17:00:54 <geppetto> #chair #chair GwynCieslasheher
17:00:54 <zodbot> Current chairs: #chair GwynCieslasheher geppetto
17:01:05 <geppetto> #chair carlwgeorge
17:01:05 <zodbot> Current chairs: #chair GwynCieslasheher carlwgeorge geppetto
17:01:12 <geppetto> #unchair #chair
17:01:12 <zodbot> Current chairs: GwynCieslasheher carlwgeorge geppetto
17:01:26 <geppetto> It's chairs all the way down
17:03:51 <decathorpe> hello :D
17:03:59 <geppetto> #chair decathorpe
17:03:59 <zodbot> Current chairs: GwynCieslasheher carlwgeorge decathorpe geppetto
17:10:32 <geppetto> #topic Open Floor
17:10:47 <geppetto> Well 4 i the new 5 … anyone have something to talk about?
17:11:02 <carlwgeorge> i've got one thing
17:12:04 <geppetto> sure
17:12:20 <carlwgeorge> i got looped into helping resolve a conflicts between a new package that was reviewed by one of my sponsees (singularity-ce) and an existing package (apptainer, itself renamed from singularity)
17:14:20 <carlwgeorge> there is some upstream drama involved, basically singularity was the original project, originally under a company (sylabs) github org.  it got moved to a supposedly neutral github org, hpcng, but later sylabs wanted to move it back.  they eventually had to just fork it, so there was hpcng/singularity and sylabs/singularity, which was described as singularity community edition.
17:15:15 <carlwgeorge> later hpcng/singularity wanted to move into the linux foundation, but due to the naming confusion lf asked them to rename.  so now they are apptainer.  but there are still a ton of files that conflit.
17:15:17 <GwynCieslasheher> Ick.
17:15:24 <carlwgeorge> yeah, a bit messy
17:16:08 <carlwgeorge> the singularity pkg maintainer renamed the pkg to apptainer, but didn't retire the singularity pkg to "reserve" (squat) it so sylabs couldn't have it
17:16:43 <carlwgeorge> i reached out to him and said that wasn't ok, and that singularity ce was being added as singularity-ce, so no need to squat anyways
17:17:22 <carlwgeorge> it's now retired in rawhide and epel branches
17:17:56 <carlwgeorge> the thing i want advice on is now there is an argument over what happens when you type `dnf install singularity` on fedora and rhel+epel
17:18:23 <carlwgeorge> right now apptainer provides singularity = 2:%{version}-%{release}
17:18:54 <carlwgeorge> singularity-ce does not provide singularity, but could.  i'm worried they're going to get into an epoch war setting it arbitrarily high to be the "preferred" option
17:19:16 <GwynCieslasheher> 🤦‍♀️
17:19:23 <geppetto> So what is now "apptainer" was the thing packaged as "singularity" ?
17:19:26 <carlwgeorge> to resolve the file conflicts we basically settled on alternatives, but it's not yet implemented
17:19:29 <decathorpe> why are people like that
17:19:50 <GwynCieslasheher> Their favorite ssh client is PeTTY?
17:20:12 <carlwgeorge> my suggestion was that neither pkg provides singularity, so users have to make an explicit choice, then once that choice is made they get the singularity commands via alternatives
17:20:19 <carlwgeorge> geppetto: yes
17:20:51 <geppetto> Squatting is bad … but we probably don't want an actual singularity package … just have it be: apptainer, singularity-ce, singularity-sylabs
17:21:03 <geppetto> Can all provide singularity, and be alternatives … I guess.
17:21:06 <decathorpe> that sounds like a reasonable way to handle this ... though I don't think you'd actually need alternatives unless you want parallel-installability?
17:21:15 <carlwgeorge> singularity-ce is the one from sylabs
17:21:22 <geppetto> Oh, ok
17:21:39 <geppetto> Well the same but with two packages then?
17:22:05 <carlwgeorge> decathorpe: they don't need to be parallel installable, but my reading of the guidelines was that alternatives was preferrable to outright conflicts if it is possilbe
17:22:32 <decathorpe> sure, avoid undeclared file-based conflicts. but in that case I'd just add "Conflicts: the-other-one"
17:22:41 <geppetto> no, alternatives are only for parallel installs … IMO
17:23:00 <geppetto> Yeh, for conflicts just conflict.
17:23:28 <carlwgeorge> i could also see a scenario where someone wants them parallel installable and switchable, when they are testing changes in the SIF format
17:23:31 <GwynCieslasheher> Yeah, that seems least worst.
17:23:31 <decathorpe> yep, that's my understanding as well. alternatives are also clunky and hard to get to work right ... in this case, I'd just make the conflict explicit on the RPM metadata level
17:23:41 <carlwgeorge> SIF is also developed by sylabs
17:23:56 <decathorpe> and if people really need to switch between them ... dnf swap foo bar should do it.
17:24:02 <geppetto> carlwgeorge: that requires a bunch of changes so they don't file conflict though … and with containers etc. I think that's less of a desire.
17:24:03 <carlwgeorge> for whatever it's worth the sylabs (singularity-ce) folks have been quite pleasant to deal with, the apptainer guy (who is also the upstream lead dev) less so
17:24:54 <carlwgeorge> i told them both that fedora should stay neutral
17:25:36 <carlwgeorge> which is why i think no pkg providing singularity is the least bad option, to avoid an epoch provides war
17:26:35 <geppetto> I don't think it's that bad if they both provide it unversioned.
17:26:48 <carlwgeorge> apptainer guy's counter argument was that mariadb still provides mysql, but the community-mysql maintainer hasn't tried to set provides mysql with a higher epoch
17:26:48 <geppetto> might even be the best case.
17:27:20 <carlwgeorge> if both are provided unversioned, which would dnf prefer when `dnf install singularity` is typed?
17:27:42 <geppetto> no idea, doubt even the dnf devs. know without trying it
17:27:44 * carlwgeorge opens a terminal to test this with the webserver virtual provides
17:28:22 <geppetto> last I looked dnf had zero docs/guarantees about what happens, and thought that was a feature.
17:28:30 <decathorpe> I think if no version is involved it will prefer the first one in alphabetical order
17:28:53 <decathorpe> (at least that's what dnf did last time it mattered for one of my packages)
17:29:41 <carlwgeorge> confirmed, it's alphabetical with webservers (caddy, httpd, lighttpd, nginx in order as they're excluded)
17:30:41 <carlwgeorge> that works out in apptainer's favor, which i'm sure he'll like (not necessarily a problem)
17:31:11 <geppetto> sure, but worth mentioning it's not a guarantee (again, afaik)
17:31:31 <carlwgeorge> he already told me that if i tried to force him to not provide singularity he would appeal to fesco
17:32:20 <geppetto> eh, if it gets too messy that's fine … but in general I'd say it's fine providing … just having provides wars sucks.
17:32:43 <geppetto> Kind of up to you, FPC has basically no power here
17:33:01 <carlwgeorge> sure, was just looking for recommendations on how to handle these two
17:33:11 <geppetto> Just escalating to FESCO means it's not your fault/problem, which might be a good outcome.
17:33:39 * decathorpe swaps FPC hat for FESCo hat: I'd say neither of the packages should provide it :) feel free to open a ticket
17:33:41 <carlwgeorge> i'd really prefer fedora to not "pick a side" in this feud, but a fesco decision would be just that
17:34:09 <carlwgeorge> decathorpe: yeah that's what i think is the most neutral option, and i know another fesco member already feels that way to
17:34:20 <geppetto> decathorpe: So the reason I'm pro provides is that then users can "dnf install singularity" and it doesn't just exit saying nothing exists.
17:34:30 <carlwgeorge> sounds good, i'll tell apptainer maintainer to escalate to fesco and wash my hands of it
17:35:10 <decathorpe> geppetto: right, but in this case, I don't think dealing with the "whose package gets chosen by default" is worth it
17:35:11 <carlwgeorge> geppetto: that wouldn't be great but then they would at least have to pick one or the other with no influence from fedora
17:35:13 <geppetto> Ideal solution, in this case, is if dnf could say "you want X or Y, pick one" … but even that also sucks for users who don't know.
17:35:37 <geppetto> ¯\_(ツ)_/¯
17:35:40 <carlwgeorge> i'll also point out that both projects have press releases saying they are singularity
17:35:47 <carlwgeorge> "i'm the real one"
17:35:49 <geppetto> always a good plan
17:36:02 <geppetto> <insert spiderman meme>
17:36:19 <decathorpe> :D
17:36:28 <carlwgeorge> code wise, singluarity-ce is more actively developed, and apptainer routinely cherry-picks commits from them
17:36:41 <carlwgeorge> cool, thanks for the advice y'all
17:37:17 <geppetto> I'm not sure what the best outcome is … but I'm 100% sure that you picking which one is the real one based on looking at which is more acively maintained is not the right answer.
17:37:32 <GwynCieslasheher> Eventually it will probably "resolve" itself the way OpenOffice and LibreOffice have.
17:38:15 <carlwgeorge> perhaps
17:40:49 <geppetto> Anyway … not sure how much we helped … but good luck :)
17:41:02 <geppetto> Anything else before I give you all 15m back?
17:43:09 <decathorpe> I got too many things I want to talk about but none of them are ready since I have no time 🫠
17:43:42 <GwynCieslasheher> Nthing from me.
17:43:55 <GwynCieslasheher> * Nothing from me.
17:44:13 <geppetto> 👍
17:44:20 <geppetto> #endmeeting