On 26/01/2025 1:16 PM, Reinhard Tartler wrote:
On Sat, Jan 25, 2025 at 12:18 PM Nicolas Peugnet <[email protected]> wrote:I started from the version v0.15.1 of docker-buildx as it is the last one that explicitly requires the version v26.1.x for these packages (the current version in Debian unstable). But I still get some missing packages error for these modules. Do you have an idea why? For example: src/github.com/docker/buildx/util/confutil/config.go:8:2: cannot find package "github.com/docker/cli/cli/command" in any of: /usr/lib/go-1.23/src/github.com/docker/cli/cli/command (from $GOROOT) /build/reproducible-path/docker-buildx-0.15.1/_build/src/ github.com/docker/cli/cli/command (from $GOPATH) /build/reproducible-path/docker-buildx-0.15.1/_build/src/ github.com/moby/buildkit/util/tracing/delegated (from $GOPATH)Just looking at this here, I think it is looking for sources that we have in Debian in the docker.io source package here: https://sources.debian.org/src/docker.io/26.1.5%2Bdfsg1-4/cli/cmd/docker/ However, they are not currently installed, checkout here: https://sources.debian.org/src/docker.io/26.1.5%2Bdfsg1-4/debian/golang-github-docker-docker-dev.install/#L1-L4 It might be as easy as adding a few more lines to the golang-github-docker-docker-dev.install file. Can you give it a go and send me a MR on salsa with the source you need for the docker buildx package? I strongly suspect that adding new sources might pull in additional dependencies that were not critical for getting the docker daemon and cli to work in Debian. So let's be careful to only include packages that we actually need. If docker-buildx requires those packages, let's try adding them. Let me know what issues you run into.
Thank you for the pointers. Indeed in the case of packages from "docker/cli" and "docker/docker" it is just a matter of adding them to the golang-github-docker-docker-dev.install file. But in the case of "moby/buildkit", some of the packages are not present in the current source packages, as they are there as part of the engine's vendor directory, which is incomplete.
So I figured "moby/buildkit" should really be fully packaged. I started to do this in https://salsa.debian.org/go-team/packages/golang-github-moby-buildkit/-/tree/debian/sid.
With a few patches [1] to disable some features dependent on some missing packages, the number of missing dependencies is only 3 [2] (golang-github-spdx-tools-golang is in NEW).
Then I realized that the docker.io package is in fact a "Multiple Upstream Tarballs" package, and as the cli, engine and buildkit are all inter-dependent of each other, I think it would probably be better to add "moby/buildkit" in the docker.io source package.
The patches are not very descriptive and currently untested because of the missing packages in golang-github-docker-docker-dev (see my two MRs). But I also started to package the 3 missing dependencies. If you are OK with this plan I can post the ITP for the 3 of them.
[1] https://salsa.debian.org/go-team/packages/golang-github-moby-buildkit/-/commit/b585a0c1a1b9f3b63628d16136e85904cda04b84 [2] https://salsa.debian.org/go-team/packages/golang-github-moby-buildkit/-/commit/fbe71b63a2a712275c8e805f1529029988aaf9c3
-- Nicolas Peugnet
