[pkg-go] Guidance for packaging Docker for Debian

Shengjing Zhu i at zhsj.me
Thu Mar 15 13:33:27 UTC 2018


On Thu, Mar 15, 2018 at 5:22 PM, Arnaud Rebillout
<arnaud.rebillout at collabora.com> wrote:
> 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 docker maintainers have already packaged docker-containerd, and docker-runc.
see #877146 for reasons why this happened.

>
> 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
> Pkg-go-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-go-maintainers



-- 
Best regards,
Shengjing Zhu



More information about the Pkg-go-maintainers mailing list