[pkg-go] Guidance for packaging Docker for Debian
Arnaud Rebillout
arnaud.rebillout at collabora.com
Thu Mar 15 09:22:50 UTC 2018
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
More information about the Pkg-go-maintainers
mailing list