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