Dear go packaging team,

lately I've been doing my best to try to package the current version of Docker in Debian. My approach was 'bottom-up': I listed all the dependencies, and tried to bump every pacakge to the latest version. I thought that in order to package the latest version of Docker, I needed the latest version of all its dependencies.

Now I finally realize how wrong I was. In the world of go, there's often no stable api, no backward compatibility, even no release, that why we end up packaging some random git sha. So basically, applications vendor their dependencies, and they won't work with an older version (because it's too old and miss something), but it won't work either with a newer version (because, hey, no release, no backward compatibility).

So I made a beginner mistake, but I'm learning, and hopefully I'm on the right track !

But now I face a dilemna.

The current version of Docker vendors `containerd` somewhere between `v1.0.0-alpha3` and `v1.0.0-alpha4`. While I already packaged containerd to `v1.0.2`. There's almost 6 months of difference between them, and no, docker (or more specifically its dependency swarmkit) does not build.

So I could re-package containerd to an older version. But if I do this choice, I basically admit that Docker decides of the version of all its dependencies, possibly holding back all of them. What if someone needs a pretty recent version of containerd (or any other Docker dependency), and we can't deliver that because we're waiting for Docker to bump the version it vendors, and we have no idea when it will happen ?

The other solution is to keep a vendored version of containerd within Docker, just the way it's already done in Docker. I'm personally fine with that, but it seems that it's not the Debian way. But maybe in this situation it makes sense.

I don't know what's the best way to deal with this situation, so if anyone from the team can provide some advice, that would be super welcome !

Thanks !

  Arnaud


_______________________________________________
Pkg-go-maintainers mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers

Reply via email to