25 janv. 2025 18:36:15 Nicolas Peugnet <nico...@club1.fr>:

On 25/01/2025 5:43 PM, Reinhard Tartler wrote:
that's awesome, thank you.
Let me know when you have a package ready, I'd be happy to take a look at
it. Maybe we can use it in an autopkgtest for the docker.io package?

It is still quite far from ready, but I am making progress. I have a question for you, as you seem to be involved in docker packaging. I saw that the golang-github-docker-docker-dev [1] seems to provide the source of multiple go modules, namely:
- github.com/docker/cli
- github.com/docker/docker
- github.com/moby/buildkit

All three of them are dependencies of docker-buildx.
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) src/github.com/docker/buildx/driver/kubernetes/context/load.go:10:2: cannot find package "github.com/docker/cli/cli/context" in any of:     /usr/lib/go-1.23/src/github.com/docker/cli/cli/context (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/docker/cli/cli/context (from $GOPATH) src/github.com/docker/buildx/driver/kubernetes/context/load.go:11:2: cannot find package "github.com/docker/cli/cli/context/store" in any of:     /usr/lib/go-1.23/src/github.com/docker/cli/cli/context/store (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/docker/cli/cli/context/store (from $GOPATH) src/github.com/docker/buildx/util/dockerutil/api.go:5:2: cannot find package "github.com/docker/cli/cli/context/docker" in any of:     /usr/lib/go-1.23/src/github.com/docker/cli/cli/context/docker (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/docker/cli/cli/context/docker (from $GOPATH) src/github.com/docker/buildx/controller/pb/secrets.go:5:2: cannot find package "github.com/moby/buildkit/session/secrets/secretsprovider" in any of:     /usr/lib/go-1.23/src/github.com/moby/buildkit/session/secrets/secretsprovider (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/moby/buildkit/session/secrets/secretsprovider (from $GOPATH) src/github.com/docker/buildx/controller/pb/ssh.go:5:2: cannot find package "github.com/moby/buildkit/session/sshforward/sshprovider" in any of:     /usr/lib/go-1.23/src/github.com/moby/buildkit/session/sshforward/sshprovider (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/moby/buildkit/session/sshforward/sshprovider (from $GOPATH) src/github.com/docker/buildx/build/opt.go:28:2: cannot find package "github.com/moby/buildkit/session/upload/uploadprovider" in any of:     /usr/lib/go-1.23/src/github.com/moby/buildkit/session/upload/uploadprovider (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/moby/buildkit/session/upload/uploadprovider (from $GOPATH) src/github.com/docker/buildx/build/build.go:39:2: cannot find package "github.com/moby/buildkit/util/progress/progresswriter" in any of:     /usr/lib/go-1.23/src/github.com/moby/buildkit/util/progress/progresswriter (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/moby/buildkit/util/progress/progresswriter (from $GOPATH) src/github.com/docker/buildx/bake/bake.go:28:2: cannot find package "github.com/moby/buildkit/session/auth/authprovider" in any of:     /usr/lib/go-1.23/src/github.com/moby/buildkit/session/auth/authprovider (from $GOROOT)     /build/reproducible-path/docker-buildx-0.15.1/_build/src/github.com/moby/buildkit/session/auth/authprovider (from $GOPATH)


[1] https://packages.debian.org/sid/all/golang-github-docker-docker-dev/filelist

Ok, I got it. The reason is that these sources come from "go mod vendor" which only bundles in the packages needed to build the current module, i.e. the docker engine and cli.

We will have to really package the full sources of github.com/docker/cli and github.com/moby/buildkit to be able to package github.com/docker/buildx. This will be a lot more work than what I originally imagined.

Also it will be more tricky to update the multiple Debian packages as the version requirements between each dependency are really tight.

--
Nicolas Peugnet

Reply via email to