go_sig_meeting
LOGS
19:00:32 <jcajka> #startmeeting Go SIG meeting
19:00:32 <zodbot> Meeting started Mon Dec 20 19:00:32 2021 UTC.
19:00:32 <zodbot> This meeting is logged and archived in a public location.
19:00:32 <zodbot> The chair is jcajka. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions.
19:00:32 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
19:00:32 <zodbot> The meeting name has been set to 'go_sig_meeting'
19:00:55 <jcajka> Hello and welcome to the last Go SIG meeting of the 2021
19:00:58 <eclipseo_> .hello2
19:00:59 <zodbot> eclipseo_: Sorry, but user 'eclipseo_' does not exist
19:01:01 <jcajka> #topic Roll Call
19:01:06 <jcajka> #chair eclipseo_
19:01:07 <zodbot> Current chairs: eclipseo_ jcajka
19:02:49 <eclipseo_> ping alexsaezm gotmax
19:02:53 <copperi[m]> .hello copperi
19:02:55 <zodbot> copperi[m]: copperi 'Jan Kuparinen' <copper_fin@hotmail.com>
19:03:00 <gotmax> .hello gotmax23
19:03:01 <zodbot> gotmax: gotmax23 'Maxwell G' <gotmax@e.email>
19:03:45 <jcajka> #chair copperi[m], gotmax
19:03:45 <zodbot> Current chairs: copperi[m] eclipseo_ gotmax jcajka
19:04:12 <gotmax> eclipseo: alexsaezm said "I don't think I'll be able to attend today's meeting :( (Needless to say, I'll read the log)"
19:04:30 <jcajka> seems we have plenty of attendance today, although some might regret
19:04:42 <jcajka> there is one open and tagged issue in the tracker
19:04:44 <eclipseo_> I had things to ask him :(
19:05:00 <jcajka> #topic  Fedora 36 changes
19:05:05 <jcajka> https://pagure.io/GoSIG/go-sig/issue/36
19:05:21 <eclipseo_> yes I responded I was ok with 1.18 if we had a beta already
19:05:33 <jcajka> I'm not sure if there is anything more that I can add.
19:05:37 <eclipseo_> otherwise it will be oo risky inho
19:05:54 <jcajka> beta seems to be in koji already https://koji.fedoraproject.org/koji/buildinfo?buildID=1867773
19:05:56 <gotmax> alexsaezm Already pushed 1.18 beta to Rawhide
19:06:00 <gotmax> Yeah
19:06:10 <eclipseo_> well then it is already decided
19:07:01 <gotmax> The update did cause a couple FailToInstall bugs
19:07:11 <gotmax> https://lists.fedoraproject.org/archives/list/golang@lists.fedoraproject.org/message/GZAWALM7P77IVMTEHYT5BJO3GIIGELMG/
19:08:13 <eclipseo_> it was fixed afterwards yes? with a rebuild of golist
19:08:25 <gotmax> Yeah, but the affected packages still need to be rebuilt
19:08:30 <jcajka> missing provides?
19:08:51 <gotmax> For some reason, golist was incorrectly returning requires from the stdlib that are not provided by any package
19:09:10 <gotmax> https://bugzilla.redhat.com/show_bug.cgi?id=2033978
19:09:11 <jcajka> go macros stack then?
19:09:17 <eclipseo_> I wanted to ask him about the work on Go modules macros, does anyone know what the status is? Has anyone done some work on this?
19:11:11 <jcajka> I don't know
19:12:15 <jcajka> the go list changes might be worth an upstream report, as it is rather significant shift and it is not documented in the release notes of go1.18
19:12:45 <gotmax> I have another issue to bring up. Can I do so now or should I wait until open floor?
19:13:24 <jcajka> if it is not directly related to go1.18, please wait a bit for open floor
19:13:51 <eclipseo_> nothing was said about this in the previous meeting?
19:14:10 <jcajka> ?
19:14:13 <gotmax> jcajka: golist is something that we maintain. For some reason, rebuilding the package fixed the issue.
19:15:39 <jcajka> gotmax: ok, so i guess it is using some internal parts of the std lib? to provide "go list" like output, right?
19:16:09 <gotmax> Not sure :)
19:16:27 <gotmax> Here is the source code: https://pagure.io/golist
19:19:12 <jcajka> I bit remember, but really this might be bit to much relying on some implementation details
19:19:24 <jcajka> of go compiler, stdlib
19:19:38 <jcajka> that would explain why rebuild fixed it, if that changed
19:20:18 <copperi[m]> it does
19:22:59 <jcajka> might would make sense to extend "go list" with functionality that golist does, but I guess  this is tangential to current topic
19:25:54 <jcajka> I guess we all stuck on this one, could we continue in ticket and move to more topics?
19:25:59 <eclipseo_> ok
19:28:22 <jcajka> Open floor be it
19:28:23 <jcajka> #topic Open Floor
19:29:07 <eclipseo_> gotmax: you had a topic I believe
19:29:10 <gotmax> Yeah
19:29:29 <gotmax> I recently became maintainer of "moby-engine" and was surprised to realize that we have duplicate moby packages
19:29:47 <gotmax> moby-engine, golang-github-docker, golang-github-docker-cli
19:31:31 <eclipseo_> moby-engine is the binaries ie the real package used by end users, i believe it is bundled. golang-github-docker is a library only version used to build other packages. it is unbundled.
19:31:38 <gotmax> Yes
19:32:01 <gotmax> I think it might make sense to have moby-engine provide the binaries and source packages
19:32:49 <eclipseo_> i didn't touch moby engine because it was taken care of by a team at that time. And unbundling it would be a pain
19:33:22 <eclipseo_> even golang-github-docker is missing deps like heketi i believe
19:36:06 <gotmax> Can we do something like this[1] and keep the vendoring?
19:36:09 <gotmax> [1]: https://docs.fedoraproject.org/en-US/packaging-guidelines/Golang_templates/#_multi_package
19:37:21 <eclipseo_> i don't see what you want to do with this?
19:37:31 <eclipseo_> it is not a multi package
19:38:46 <gotmax> moby-engine contains both github.com/moby/moby and github.com/docker/cli
19:38:58 <jcajka> IMHO it would be better to debundle moby-engine, if I get correctly that those packages are parts of it
19:39:02 <eclipseo_> the problem is if you keep the vendoringm the libs won't be accessible by other packages to build stuff
19:39:31 <gotmax> I was thinking moby-engine could provide golang-github-moby-devel and golang-github-docker-cli-devel instead of having separate packages
19:39:35 <eclipseo_> jcajka: yes but that's an enor;ous task made of old packages
19:39:44 <jcajka> but I understand that it might not be best from perspective of work needed to accomplish that
19:39:58 <gotmax> I don't think it makes sense to debundle moby-engine
19:40:25 <gotmax> github.com/moby/moby and github.com/docker/cli are always updated at the same time
19:40:37 <gotmax> And need to be tested and built together
19:40:38 <jcajka> eclipseo_: agreeing to that
19:41:11 <eclipseo_> docker-cli is only one piece of the puzzle
19:41:28 <gotmax> moby-engine also bundles tini-static
19:41:34 <gotmax> I think that makes sense to unbundle
19:42:30 <gotmax> Right now we are installing it to /usr/libexec/docker/docker-init
19:42:35 <jcajka> gotmax: IMHO from the perspective of the rpm you either have theses 3 packages(+ more if other package debundle and need part of mobi) or you debundle the mobi-engine, then you have the 3+ packages and lot of work
19:42:38 <gotmax> But I think we can replace that with a symlink
19:45:02 <eclipseo_> i don't see how
19:45:15 <gotmax> How to do what?
19:46:39 <eclipseo_> we have the thing for k8s btw, we have a kubernetes package which is bundled, and various golang-k8s- packages unbundled
19:47:14 <eclipseo_> the separation between the two is mostly because of the "hacks" used to unbundle libraries
19:48:29 <jcajka> eclipseo_: and reducing amount of work, number of packages, right?
19:48:29 <eclipseo_> we don't know if these hack would impact the function of k8s and it would create issues if bugs are reported upstream and the cause is our unconventional method of building
19:50:06 <gotmax> It looks like the podman packagr does something similar to what I'm suggesting
19:50:08 <eclipseo_> the best possible thing zould be to be able to package the actual dependencies defined in go.mod, as currently we only support the latest version
19:50:30 <eclipseo_> we don't really do compat packages because that would be a mess
19:51:06 <gotmax> The spec builds the podman binaries with the vendored libs and then creates a devel package w/o them
19:51:32 <gotmax> But for some reason the devel package is disabled with %bcond_with.
19:51:38 <eclipseo_> hmm this spec uses old old way of packagin Go, it's icky
19:51:51 <gotmax> So I'm not sure if that's because it doesn't work
19:52:06 <gotmax> Yeah I agree. It's messy.
19:52:22 <gotmax> I think part of the reason they do it like that is for RHEL compatibility
19:53:10 <eclipseo_> he does the ln -s vendor src
19:53:18 <eclipseo_> yes i think
19:53:49 <gotmax> Unrelated, but it looks like RH packaged our macros for EL 9
19:54:01 <eclipseo_> i had hope we could have modules for rhel9 but we're not even ready with Fedora
19:54:16 <jcajka> for build or equivalent go commands
19:54:59 <jcajka> "ln -s"^^
19:56:06 <eclipseo_> the problem with doing the "ln -s vendor src" is that other go package might already exists at that location
19:56:54 <gotmax> Currently, moby-engine doesn't actually use %gobuild, anyways
19:56:54 <eclipseo_> for example if you have a bundled golang-x-sys and the actual golang-x-sys package is installed, there would be conflict
19:56:58 <jcajka> sure, you can't use any packaged src dependencies
19:58:08 <jcajka> but for fully vendored package with bundled provides it seems sensible choice
20:00:06 <jcajka> it seems that we are not really moving forward here. It seems to me that you  gotmax and eclipseo_ need to talk about moby and we should look in to the general Go packaging, talk with alexsaezm when he will be around.
20:00:32 <jcajka> And we are running out of time. I will have to step away in a bit.
20:00:36 <gotmax> Fair enough
20:00:38 <eclipseo_> ok
20:00:47 <eclipseo_> i'll send a mail to alex
20:00:56 <copperi[m]> thanks jcajka
20:01:09 <gotmax> You should also copy moby-engine's co-maintainer, @olem.
20:01:13 <eclipseo_> i will think about docker too
20:01:31 <gotmax> The source docker packages are out of date, so I will update them in the meantime
20:01:43 <eclipseo_> good luck
20:01:53 <gotmax> Thanks!
20:02:08 <gotmax> I'm busy after this, so it will probably be later today
20:02:22 <jcajka> thank you all, happy and of the year :)
20:02:30 <jcajka> I will end the meeting in 3mins.
20:02:38 <gotmax> If you have time to take a stab at it, that would be helpful also
20:02:43 <jcajka> happy end of the year...
20:03:02 <gotmax> Happy new year, everyone!
20:03:23 <copperi[m]> Same to you too!
20:04:10 <eclipseo_> have great holidays
20:05:03 <jcajka> #endmeeting