16:00:53 <jcajka> #startmeeting Go SIG meeting
16:00:53 <zodbot> Meeting started Tue Jun 25 16:00:53 2019 UTC.
16:00:53 <zodbot> This meeting is logged and archived in a public location.
16:00:53 <zodbot> The chair is jcajka. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:53 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
16:00:53 <zodbot> The meeting name has been set to 'go_sig_meeting'
16:00:54 <decathorpe> o/
16:01:10 <jcajka> #topic Roll Call
16:01:15 <jcajka> #chair decathorpe
16:01:15 <zodbot> Current chairs: decathorpe jcajka
16:01:26 <jcajka> welcome :)
16:01:58 <decathorpe> hello :)
16:02:08 <Pharaoh_Atem> hey
16:02:17 <Pharaoh_Atem> I'm going to grab food and be back in a bit
16:02:18 <jcajka> #chair Pharaoh_Atem
16:02:18 <zodbot> Current chairs: Pharaoh_Atem decathorpe jcajka
16:02:21 <bexelbie> .hello bex
16:02:22 <zodbot> bexelbie: bex 'Brian (bex) Exelbierd' <bexelbie@redhat.com>
16:02:28 <Pharaoh_Atem> .hello ngompa
16:02:29 <zodbot> Pharaoh_Atem: ngompa 'Neal Gompa' <ngompa13@gmail.com>
16:06:09 <nim__> .hello2
16:06:11 <zodbot> nim__: Sorry, but you don't exist
16:06:38 <jcajka> #chair nim
16:06:38 <zodbot> Current chairs: Pharaoh_Atem decathorpe jcajka nim
16:06:52 <jcajka> welcome everybody, lets move to Open floor as there are no tagged tickets
16:07:03 <jcajka> #topic Open Floor
16:07:07 <nim> .hello2
16:07:08 <zodbot> nim: nim 'None' <nicolas.mailhot@laposte.net>
16:08:32 <nim> seems everything is fine for everyone :)
16:08:33 <jcajka> From my side just quick note that Go 1.13 change https://fedoraproject.org/wiki/Changes/golang1.13 is with wrangler/FESCO and as part of it I will set GOSUMDB=off and GOPROXY=direct
16:09:07 <jcajka> looking forward for comments on that
16:10:00 <bexelbie> nim Did you see the ticket about the space bug for LDFlags?
16:10:16 <nim> bexelbie, yes I've seen it
16:11:12 <nim> bexelbie, since you've got a trivial workround, I will take some time to fix it
16:11:36 <bexelbie> nim I only urge haste so we don't build up a bunch of extra spaces in distgit :)
16:11:44 <nim> bexelbie, I'm trying to make other Fedora stuff pass the FC31 deadline
16:12:27 <nim> bexelbie, so if it is just annoying, I won't priorize it
16:12:41 <bexelbie> I understand, my statement was partially tongue in cheek
16:12:44 <nim> bexelbie, I don't think a lot of Go specs need special LDFLAGS
16:12:47 <bexelbie> If I have time, I will submit a PR
16:13:03 <nim> bexelbie, I was quite surprised you found one ;)
16:13:08 <decathorpe> I have another :)
16:13:20 <bexelbie> nim I am lucky like that ... edge cases is my double middle name
16:13:47 <nim> decathorpe, sorry :)
16:14:15 <decathorpe> yeah, syncthing's custom build system is terrifying
16:14:39 <nim> it's not hard to fix, just needs careful testing to check all the different bits that try to set LDFLAGS do not stomp on one another
16:15:07 <nim> and that the result is safe WRT packagers that call several times the logic that sets it
16:16:44 <nim> so I will look at it as soon as possible, but won't drop other Fedora stuff to do so unless it totally breaks a spec
16:16:56 <bexelbie> If anyone wants to review the last of my 400^H^H packages needed for my app that'd be swell
16:17:24 <nim> (at least, while I still have a chance to make other stuff into FC31)
16:17:39 <decathorpe> 400? 😂️ that's awful
16:17:51 <nim> bexelbie, I'm sure eclipseo has reviews to trade :)
16:18:09 <bexelbie> If you all think I am ready to read someone else's spec I am willing to try
16:18:20 <nim> bexelbie, seriously, did you really managed to find 400 Go projects eclispeo hadn't seen yet?
16:18:26 <bexelbie> but I am not a proven packager, if it matters
16:18:31 <bexelbie> no, I think I have 4 open reviews
16:18:46 <QuLogic> working on some of them
16:18:55 <bexelbie> you rock
16:18:57 <bexelbie> ty
16:19:20 <QuLogic> .hello qulogic
16:19:25 <zodbot> QuLogic: qulogic 'Elliott Sales de Andrade' <quantum.analyst@gmail.com>
16:19:31 <jcajka> #chair QuLogic
16:19:31 <zodbot> Current chairs: Pharaoh_Atem QuLogic decathorpe jcajka nim
16:20:04 <QuLogic> not sure where eclipseo is
16:20:08 * Eighth_Doctor waves
16:21:00 <QuLogic> but the one thing about the mass rebuild I'd like to confirm is that the renames need Obsoletes
16:21:04 <nim> Pharaoh_Atem, BTW, other stuff will put rpm spec templates in the same place than go-rpm-templates with the same conventions
16:21:07 <Eighth_Doctor> nim: I'm testing some code locally to make it so we can have distro-override for templates in rpmdev-newspec
16:21:53 <Eighth_Doctor> that's been the blocker for the moment at getting this working, is that I want to make sure this works properly
16:22:35 <nim> Eighth_Doctor, just tell me if you need some things changes in the way we deploy go spec templates
16:22:46 <Eighth_Doctor> I'll let you know as things come up ;)
16:22:54 <decathorpe> QuLogic: I don't think -devel packages need obsoletes, they aren't supposed to be installed on systems
16:23:24 <decathorpe> for packages that ship binaries, they definitely should use Provides and Obsoletes, as per the Packaging Guidelines
16:23:47 <QuLogic> that doesn't mean they _aren't_
16:23:55 <nim> Eighth_Doctor, of course, we have several spec templates for go, to adress several use cases, that may make things harder for you
16:24:10 <jcajka> QuLogic: they (IMO all) should with proper versioning as mentioned/documented in https://docs.fedoraproject.org/en-US/packaging-guidelines/#renaming-or-replacing-existing-packages
16:24:12 <QuLogic> I have several for example
16:24:43 <nim> decathorpe, if obsoletes are needed it's propably possible to script them
16:25:04 <decathorpe> right
16:25:04 <jcajka> otherwise you can end up with broken deps/"broken system"
16:25:30 <jcajka> there needs to be an update path
16:26:03 <decathorpe> and adding a comment "this can be removed after branching F34" or something is always nice
16:26:45 <QuLogic> if eclipseo is busy finishing the rest of the builds, I've built a list and can take care of it
16:26:48 <bexelbie> Why f34?
16:26:54 <nim> decathorpe, in 99% of the case, generating the correct obsoletes is just querying FC30 for the package that provides the correct golang(import path)
16:26:57 <QuLogic> hoping he was here to confirm though
16:27:05 <decathorpe> bexelbie: random number > 31 😉️
16:27:08 <bexelbie> ahh
16:27:22 <decathorpe> nim: yes, that's what I assumed
16:27:27 <nim> decathorpe, and making it < %{version}-%{release}
16:27:37 <QuLogic> check the link jcajka posted, it should be at least N + 2
16:28:01 <decathorpe> QuLogic: I know
16:28:21 <QuLogic> bexelbie: because that's the maximum supported upgrade
16:28:30 <jcajka> bexelbie: ideally they stay there forever, but practically user don't mix(update) over several releases, so it can be technically dropped(but IMHO it is nice to keep it there)
16:28:35 <QuLogic> decathorpe: yes, I should have tagged bexelbie only
16:29:01 <decathorpe> no problem
16:30:21 <QuLogic> anyway, we did hit one golist bug, eclipseo fixed it and I pushed it out, so afaict the rebuild is going fine
16:30:40 <QuLogic> can't confirm exact numbers without eclipseo
16:30:54 <decathorpe> one curious issue has popped up with my packages though
16:31:15 <decathorpe> some dependencies now fail to resolve in koschei
16:31:28 <QuLogic> heh, "some"...
16:31:31 <jcajka> decathorpe: do you have a link?
16:31:42 <decathorpe> sure
16:32:10 <decathorpe> the issues are: nothing provides golang(golang.org/x/sys/unix)  golang(github.com/davecgh/go-spew/spew) golang(github.com/pmezard/go-difflib/difflib)
16:32:16 <decathorpe> for example here: https://apps.fedoraproject.org/koschei/package/golang-github-oschwald-geoip2-golang?collection=f31
16:32:29 <nim> if someone feels strongly about it
16:32:31 <QuLogic> I think I received notification for >200 of them
16:32:44 <nim> he can probably adapt the quick and dirty script
16:32:46 <nim> here
16:32:57 <nim> https://paste.fedoraproject.org/paste/LiHhKq3UWF0SckZ4ODoTZQ
16:32:57 <bexelbie> iirc, I hit that recently too
16:33:01 <QuLogic> decathorpe: I think it's because eclipseo retired them, but only build new ones in the side tag
16:33:06 <nim> https://paste.fedoraproject.org/paste/2Re3PQpj0V~4HTUzT7cW0Q
16:33:16 <decathorpe> QuLogic: ah, that explains it. thanks
16:33:38 <nim> it should be reliable to detect what previous package is obsoleted by a new one
16:34:00 <nim> (at least it worked for me in the past)
16:34:26 <QuLogic> because I'm fairly certain those are the ones that are named wrong
16:34:26 <nim> the output is not the exact block to cut and paste in the spec but that's easy to fix
16:35:11 <jcajka> QuLogic, eclipseo: it would be good to announce that(if there is no other way) or wait after the side tag is merged, IMO it is not good experience for other packagers
16:35:16 <nim> I see I even added logic to handle epochs (I was crazy last year)
16:36:08 <jcajka> and seems to me as avoidable
16:36:28 <jcajka> I could be wrong
16:38:07 <jcajka> QuLogic, eclipseo: anyway, how is the side tag going?
16:38:35 <QuLogic> I guess retiring now ensures nothing's every rebuilt with the old name, but you'd have to confirm with eclipseo
16:39:24 <QuLogic> jcajka: well, it exists now and eclipseo's been building on it
16:39:44 <QuLogic> I left the rebuild to him though, so I can't say how far along exactly
16:39:50 <jcajka> QuLogic: if you do the obsoletes properly there is no issue and AFAIK you control both the new and old package(via SIG ACL) so you can make sure that nobody bumps the old one
16:40:16 <jcajka> *there shouldn't be any* ;)
16:40:41 <QuLogic> ah, well, there were no obsoletes initially, which is why I wanted to confirm here
16:40:50 <jcajka> and just retire/clean up the old one aster the side tag is merged
16:41:04 <jcajka> aster -> after...
16:43:15 <QuLogic> oh, also, there have been some issues with tests since they've been ignored for so long
16:43:43 <QuLogic> eclipseo has just disabled them for now so we can build everything on time
16:43:58 <QuLogic> I'm trying to file reports as I can
16:43:58 <jcajka> cool, please let me know if you would think that you will slip with the side tag closer to the mass rebuild than the 1w, as if "most"(~1/3) of the Go packages are FTBFS in Rawhide I will not be able to get relevant data on Go 1.13 with scratch mass-rebuild
16:44:33 <jcajka> QuLogic: that is rather unfortunate, but I would not block on that too, tracking bugs would be cool though
16:44:48 <jcajka> but I guess not necessary :)
16:47:58 <jcajka> for the record as of today we have 602 packages(IIRC that is bit less than last time, ~6m ago) that require golang in Rawhide
16:48:49 <QuLogic> hmm, really? I count way more golang-* specs
16:49:55 <nim> QuLogic, some of those do not generate and devel file
16:50:03 <nim> any
16:50:46 <QuLogic> but if I have this right, koji list-tagged f31-go --latest | wc -l says 212 (-2 headers) + a few before the tag, so I guess we're >1/3 through building over two weekends
16:51:50 <jcajka> QuLogic: it is base on BR
16:51:54 <jcajka> based...
16:52:39 <jcajka> most packages require it via "compiler(go-compiler)" 571
16:53:33 <QuLogic> ah, I found on the side tag request, eclipseo estimates 1120(!) builds, so more like 1/5
16:54:22 <jcajka> yeah, it might be due to source only packages without tests run during build
16:54:40 <jcajka> so no BR on Go compiler
16:54:45 <nim> QuLogic, that looks more what like I'd expect
16:55:17 <nim> QuLogic, IIRC we reached ~900 rebuilds internally, and we don't cover the same span of Go software as Fedora
16:56:48 <QuLogic> and review exception ticket lists 571 packages
16:57:22 <nim> jcajka, "new" srpm go packages will BR go-rpm-macros only
16:57:30 <QuLogic> so ~50% of renames done and ~20% rebuilds; I expect things to go faster once the new packages are imported
16:58:03 <nim> QuLogic, there is an initial kernel of packages everything else uses
16:58:15 <nim> QuLogic, that needs to be there before doing the rest
16:58:32 <jcajka> the top of the hour is closing any more topics to discuss?
16:58:41 <nim> QuLogic, then ~ 500-600 simple packages with no complex dependency graph
16:58:52 <jcajka> nim: so there is no way now to tell which packages are using Go compiler?
16:58:56 <nim> QuLogic, and then you hit the hard spaguetti deps cases
16:59:37 <nim> jcajka, anything that BR go-rpm-macros will BR a golang compiler
16:59:46 <nim> jcajka, eitheir golang or gcc
16:59:57 <nim> jcajka, though I'm pretty sure we only use golang now
17:00:04 <jcajka> in which way? via what "requires" statement
17:00:09 <jcajka> ?
17:01:12 <nim> go-rpm-macros requires golang, golist and go-filesystem
17:01:21 <nim> on any arch that works
17:01:39 <nim> so golang is a second-level BR
17:01:57 <jcajka> so you there is no "easy" way how to switch go compiler??!!
17:02:07 <jcajka> hm...
17:02:42 <nim> jcajka, go-rpm-macros is arch-specific
17:03:01 <jcajka> there is no compiler meta package?
17:03:11 <nim> so it can theoritically require another compiler on arches where golang does not work
17:03:21 <jcajka> have you tested that?
17:03:48 <nim> jcajka, no, because at the point when this part was done
17:04:00 <nim> Fedora had already switched to golang on all arches
17:04:07 <jcajka> ok, I will rise that with FESCO as regression
17:04:25 <nim> and jchaloupka basically said
17:04:55 <nim> don't waste time on anything else than the golang compiler, we'll fix non golang compilers the day someone uses tham
17:04:56 <nim> them
17:05:02 <jcajka> nim honestly I don care what jchaloupka said
17:05:24 <nim> well that was the who i was working with at the time
17:06:12 <nim> jcajka, it's not hard to re-add a compiler indirection, but if not one uses it, no one will say if it works or not
17:06:47 <jcajka> old one worked... you have claimed that the new system is backwards compatible...
17:06:53 <jcajka> anyway we are on top of the hour, I believe we are all set and I need to go
17:07:05 <nim> jcajka, and it's not a regression because by that time the go-compiler package had already stopped providing more than one set of compiler macros per arch
17:07:37 <nim> jcajka, go-rpm-macros just ships the same macro files go-compiler shipped for all arches
17:07:44 <jcajka> nim: if you would have investigated(asked) you would have seen that if never did...
17:08:10 <jcajka> nim you are unfortunately ignoring the complexity of the problem
17:08:14 <nim> jcajka, jchaloupka was the go-compiler maintainer then
17:08:30 <nim> jcajka, I had no reason to second-guess him
17:08:31 <jcajka> as I have been/ am
17:10:02 <jcajka> #endmeeting