On 26/01/2025 1:16 PM, Reinhard Tartler wrote:
On Sat, Jan 25, 2025 at 12:18 PM Nicolas Peugnet <nico...@club1.fr> 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