16:00:10 <sgallagh[m]> #startmeeting Fedora ELN SIG (2021-07-02)
16:00:10 <zodbot> Meeting started Fri Jul  2 16:00:10 2021 UTC.
16:00:10 <zodbot> This meeting is logged and archived in a public location.
16:00:10 <zodbot> The chair is sgallagh[m]. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:10 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
16:00:10 <zodbot> The meeting name has been set to 'fedora_eln_sig_(2021-07-02)'
16:00:10 <sgallagh[m]> #meetingname eln
16:00:10 <zodbot> The meeting name has been set to 'eln'
16:00:10 <sgallagh[m]> #chair sgallagh bookwar dcavalca
16:00:10 <sgallagh[m]> #topic init process
16:00:10 <zodbot> Current chairs: bookwar dcavalca sgallagh sgallagh[m]
16:00:28 <sgallagh[m]> .hello sgallagh
16:00:29 <zodbot> sgallagh[m]: sgallagh 'Stephen Gallagher' <sgallagh@redhat.com>
16:00:38 <jforbes> .hello2
16:00:38 <zodbot> jforbes: jforbes 'Justin M. Forbes' <jforbes@redhat.com>
16:00:39 <mhroncok> .hello churchyard
16:00:42 <zodbot> mhroncok: churchyard 'Miro HronĨok' <mhroncok@redhat.com>
16:01:02 * mhroncok decided to show in case we'll discuss the build order proposal
16:01:12 <mhroncok> *to show up
16:01:24 <sgallagh[m]> It's on the agenda, so yes we will discuss it :)
16:01:55 <King_InuYasha> .hello ngompa
16:01:56 <zodbot> King_InuYasha: ngompa 'Neal Gompa' <ngompa13@gmail.com>
16:02:31 <sgallagh[m]> Greetings, your majesty.
16:03:38 <sgallagh[m]> OK, let's get rolling
16:03:58 <sgallagh[m]> #topic ELN package rebuild strategy
16:04:06 <sgallagh[m]> #link https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/VYTDBTSCWUNS732XXVVWXL7S235AEZKG/
16:04:11 <sgallagh[m]> argh
16:04:14 <sgallagh[m]> #undo
16:04:14 <zodbot> Removing item from minutes: <MeetBot.items.Link object at 0x7f3388c3bf10>
16:04:18 <King_InuYasha> lol
16:04:22 <King_InuYasha> you did it *again* :P
16:04:29 <sgallagh[m]> #link https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EKBW5DRRYGMJ5KOAHBGSXMOKGVSA3NPE/
16:04:33 <King_InuYasha> you really love nodejs :P
16:04:37 <sgallagh[m]> I copied it from my email :-P
16:04:48 <jforbes> nobody loves nodejs
16:05:34 <King_InuYasha> :D
16:05:43 <sgallagh[m]> This proposal got a bit of chatter on the mailing list which seems to have died down.
16:06:19 <sgallagh[m]> Does anyone here want to raise any concerns about it?
16:06:39 <sgallagh[m]> mhroncok: I know you'd come up with an edge-case or two, if you want to get those on the record.
16:06:40 <jforbes> So, I am generally okay with this, it will do a lot for stability of ELN.  My only concern (and this is happening now), is that ELN can pull in buildreqs from rawhide which should not/do not exist in ELN at all.  That will become a problem later when things branch to CentOS stream or whatever
16:07:01 <King_InuYasha> yeah, I'm personally a bit concerned about that as well
16:07:30 <King_InuYasha> I know that was a goal to be able to use Rawhide as an outlay and the seed, but I wouldn't expect it to do that on an ongoing basis
16:07:42 <sgallagh[m]> "Should not" and "do not" are two different situations.
16:07:53 <jforbes> While that happens now, this proposal only makes it a bit worse in that major version bumps are the most likely to bring in new deps which may or may not be ELN targeted
16:08:19 <mhroncok> jforbes: I don't unerstand how does thsi proposal make it worse
16:09:04 <jforbes> FWIW, I only noticed this because we had a line in the wrong place in the kernel, so it tried to bring in bpftools as a buildreq for i686, which doesn't exist in eln. It only failed because the rawhide version was built against a newer glibc than ELN had available
16:09:23 <sgallagh[m]> jforbes: I'm probably missing something, but I don't see the issue with this, other than that it means trimming will have to happen later if a dep really isn't desired in CentOS Stream
16:09:54 <mhroncok> I can only see that it makes this works becasue things are more likely to build
16:10:00 <mhroncok> and when things don't build, they don't change
16:10:01 <jforbes> mhroncok: it doesn't make it a lot worse.  It is already hard to detect because a package build succeeds, but people analyze sidetags more than general builds
16:10:09 <mhroncok> *makes this worse
16:10:30 <King_InuYasha> it's too bad we can't just track side tags and make JIT clones of them
16:10:43 <jforbes> When the expectation is that rawhide buildreqs are normal, it just buries the problem a bit more
16:11:23 <King_InuYasha> basically, as side-tags are being populated, the ELN bot could do the same
16:11:23 <sgallagh[m]> King_InuYasha: We *can*, but it turns out to be an incredible amount of effort for minimal gain over the proposed strategy.
16:11:41 <sgallagh[m]> And there are unsolvable race-conditions
16:12:03 <King_InuYasha> of creating a side tag and populating it as one is pushed in for rawhide?
16:12:08 <mhroncok> jforbes: using a rawhide build of a package as a BR in eln is normal... but "the machinery" should also pull that package into eln and rebuild it there, so any later rebuild happesn against the eln package
16:12:10 <jforbes> Overall, I am all for this proposal.  Longer term, I would like to maybe see something that compares the depsolver to the package list in ELN and won't install from rawhide if the package is in eln already
16:12:21 <King_InuYasha> that is, for each package submitted into a side-tag, another would go into the ELN clone side tag
16:12:29 <King_InuYasha> and when the rawhide side tag is merged, the ELN one would be too
16:12:31 <mhroncok> jforbes: and if that specific package is not desired to be in ELN, it should not be BRed from an ELn package
16:12:48 <sgallagh[m]> King_InuYasha: I can walk you through the details outside of the meeting, but it's a lot harder than it sounds.
16:12:54 <King_InuYasha> sgallagh[m]: sure
16:13:13 <mhroncok> King_InuYasha: the entire reason for this proposal is that nobody was able to figure that thing you describe out yet
16:13:19 <jforbes> mhroncok: unless the package is already in eln, and the subpackage does not exist on a specific arch
16:13:31 <King_InuYasha> mhroncok: ehh?
16:13:45 <King_InuYasha> it doesn't seem that difficult to do, but we can talk afterward about it
16:13:50 <King_InuYasha> the thing as-is is fine
16:13:55 <mhroncok> King_InuYasha: a request to do clone ELn side tags exists since the beginnign of ELN
16:14:03 <sgallagh[m]> As mhroncok says, that was how we were originally trying to approach the problem, but solving all the difficult edge-cases is proving impossible.
16:14:07 <jforbes> Maybe this is  just a really weird corner case I happened to hit and it won't be something anyone else seems to hit. If that is the case, I am not too concerned, I already know to look for it now
16:14:23 <sgallagh[m]> Vs. the current proposal which is far less work and covers ~99% of the need.
16:14:50 <jforbes> sgallagh[m]: yes, in all instances, I think this solves a whole lot more problems than it creates
16:14:53 <sgallagh[m]> jforbes: I think that corner case is detectable via Content Resolver, so I'm not overly concerned.
16:15:04 <sgallagh[m]> CR will tell you what workload(s) pulls it in
16:15:35 <mhroncok> well if a package has %if-eln ExcludeArch, this will indeed be problematic
16:16:01 <mhroncok> becasue whether or not dependent packages can build will be basically a coin flip
16:16:02 <jforbes> My main concern, is we never would have known we had the bug or that this was happening had the eln buildroot not been broken for a day and the new glibc not been available in the depsolver
16:17:03 <jforbes> Anyway, minor concern for the record. Still in favor of the proposal
16:17:09 <mhroncok> right. when the eln buildroot is outdated, it can help discover problems
16:17:30 <sgallagh[m]> True, but it causes more than it discovers.
16:17:36 <King_InuYasha> let's do it then
16:17:46 <King_InuYasha> I'm all for more problems in ELN :P
16:17:47 <mhroncok> my edge case that I told sgallagh[m] about earlier over chat is...
16:17:52 <sgallagh[m]> (The continuous kernel integration team uses ELN and had been hounding me to get the composes fixed)
16:18:11 <mhroncok> let's get a real example
16:18:22 <sgallagh[m]> King_InuYasha: I am too... more problems in ELN will lead to fewer in CentOS Stream/RHEL :-)
16:18:24 <mhroncok> python3-docs does not build with python3-sphinx (yet)
16:18:57 <mhroncok> when we update Python, I want to update the python3-docs package, but I cannot, as we are already at python3-sphinx 4
16:19:16 <mhroncok> correction: python3-docs does not build with python3-sphinx *4* (yet)
16:19:29 <mhroncok> so what I would normally do is to...
16:19:32 <mhroncok> 1) create a side tag
16:19:40 <mhroncok> 2) tag pytohn3-sphinx 3 into it
16:19:45 <mhroncok> 3) build python3-docs
16:19:52 <mhroncok> 4) untag pytohn3-sphinx 3
16:20:08 <mhroncok> 5) create a rawhide bodhi update  from the side tag with just python3-docs
16:20:31 <mhroncok> the proposed solution would tag that build of python3-docs into ELN
16:20:37 <mhroncok> and attempted a rebuild of it
16:20:55 <mhroncok> but it would still fail, becasue it has no information about builds tagged to the buildroot temporarily
16:21:03 <sgallagh[m]> The rebuild would fail, but the Rawhide version would still be there
16:21:08 <mhroncok> correct
16:21:26 <mhroncok> but no amount of automated rebuilds would ever make it suceed as a true ELN build
16:21:50 <sgallagh[m]> My response to mhroncok about this elsewhere was that I think this is probably something we can document as a known limitation and deal with on an individual basis.
16:22:02 <mhroncok> a human operator would need to figure out what happens (e.g. by aksing me "how the hell did you manage to get it built in rawhide?")
16:22:04 <sgallagh[m]> Rather than attempt to engineer a solution that can cover it perfectly.
16:22:21 <sgallagh[m]> (Lots of alcohol)
16:22:35 <mhroncok> and I agreed with sgallagh[m] abotu this, i just wanted to make sure it's a known thing
16:22:41 <jforbes> Yup, occasional (hopefully rare) corner cases are going to happen with anything we do
16:23:18 <sgallagh[m]> Thanks for summarizing, mhroncok
16:23:41 * mhroncok hopes that when this happens, the maintainers won't see 1000 failed ELN rebuild attempts a week, but would rather be approached by a person
16:24:21 <sgallagh[m]> Yeah, we'll make sure that doesn't happen
16:25:04 <sgallagh[m]> One thing I suggested elsewhere was that we should probably have a daily report from the compose which (among other things) lists any packages with a `.fcNN` release tag in it.
16:25:30 <sgallagh[m]> Because those will generally be things requiring investigation (though I hope most will just turn out to be test-flakes)
16:26:52 <mhroncok> https://docs.fedoraproject.org/en-US/eln/status/
16:27:02 <mhroncok> this would basically change to...
16:27:30 <mhroncok> "true ELN build" vs "inherited Fedora build"
16:27:48 <sgallagh[m]> Ack
16:28:04 <sgallagh[m]> I keep forgetting that page exists and I really need to make it part of my morning routine to read it
16:29:01 <sgallagh[m]> So yeah, we'll just tweak that a bit to make it easy to filter on that case.
16:29:46 <sgallagh[m]> Alright, to get the formalities out of the way:
16:29:46 <sgallagh[m]> Proposal: ELN rebuilds will adopt the mechanism proposed in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EKBW5DRRYGMJ5KOAHBGSXMOKGVSA3NPE/
16:29:49 <sgallagh[m]> +1
16:30:45 <jforbes> +1
16:30:49 <King_InuYasha> +1
16:31:53 <sgallagh[m]> mhroncok was +1 upthread, so:
16:32:00 * mhroncok doesn't vote
16:32:05 <mhroncok> not a sig member
16:33:00 <sgallagh[m]> #agreed ELN rebuilds will adopt the mechanism proposed in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EKBW5DRRYGMJ5KOAHBGSXMOKGVSA3NPE/ (+3, 0, -0)
16:33:05 <sgallagh[m]> mhroncok: Do you want to be? :)
16:33:22 <sgallagh[m]> #topic Open Floor
16:33:34 <mhroncok> sgallagh[m]: I have too many things to worry about already, thanks
16:33:38 <sgallagh[m]> That was the only topic I had on the agenda, but if anyone else wants to bring something up...
16:34:39 <jforbes> nothing else here
16:34:51 <King_InuYasha> nothing here
16:35:03 <sgallagh[m]> Then have 25 minutes back
16:35:07 <sgallagh[m]> Thank you all for coming.
16:35:27 <sgallagh[m]> #endmeeting