Hi Félix,

On Wed, Jul 15, 2026 at 8:52 PM Félix Sipma <[email protected]> wrote:
>
> The first error is gone, but there is a new one :-).
>      src/github.com/restic/restic/cmd/restic/main.go:15:2: 
> github.com/peterbourgon/[email protected] requires
>         github.com/peterbourgon/ff/[email protected] requires
>         gopkg.in/[email protected]: module lookup disabled by GOPROXY=off

Thanks for the report. I have already noted these kinds of issues,
that's why I proposed some lintian checks to add as part of this
sprint.

This actually needs to be fixed in the build-dependency -dev package
rather than the specific package you are currently trying to build.

Historically, we packaged Go libraries in Debian without considering
the logical `go import path` or `major versioning` paths, which means
dh-golang cannot automatically resolve the mapping.

For a proper fix, we need to ensure go import path
[github.com/peterbourgon/ff/v3] is available as in build dependencies.

We already have golang-github-peterbourgon-ff-dev packaged in Debian:
golang-github-peterbourgon-ff-dev | 3.4.0-2       | stable     | all
golang-github-peterbourgon-ff-dev | 3.4.0-2       | testing    | all
golang-github-peterbourgon-ff-dev | 3.4.0-2       | unstable   | all

However, that package does not properly respect the Go import path
rules, so that the go.mod file installed as in a legacy path
/usr/share/gocode/src/github.com/peterbourgon/ff/go.mod instead of the
/v3 path.

Since the sprint already has a heavy workload, I suggest using a
temporary workaround in your debian/rules file for now, and we can
rely on lintian to help us clean up the `package name mismatch` issue
in  later stage.

You can workaround by adding DH_GOLANG_MODULE_MAPPINGS variable to
your debian/rules file using the following format:

DH_GOLANG_MODULE_MAPPINGS :=
github.com/peterbourgon/ff/v3:github.com/peterbourgon/ff

You can check manpage of dh-golang for more details.

> So, there seem to be a problem in golang-github-peterbourgon-ff or
> golang-yaml.v2...
>
> I tried to build golang-github-peterbourgon-ff with dh-golang (>=
> 1.66~exp2) (it had dh-sequence-golang instead of dh-golang in B-D, no
> idea why), and it fails with:
>
>      ...
>      dh_auto_build: error: Unable to open directory 
> _build/src/github.com/peterbourgon/ff/v3 No such file or directory
>      ...
>
> but it builds fine with dh-golang from sid.

That failure happens for the exact same historical reasons. When you
switch to the new toolchain, it looks for the directory matching the
actual major version path, which does not exist yet because the
package is structured using the legacy layout.

This explains why we need to focus on fixing the -dev packages in
unstable. Once we complete Phase 1 and ensure that all these -dev
packages correctly ship their go.mod file. And then we can start to
clean up the legacy layout to make sure all the go.mod files are under
the expected modern path. A huge number of these build errors will
simply disappear.

> golang-yaml.v2 builds fine with dh-golang (>= 1.66~exp2)
>
> golang-github-peterbourgon-ff is not in the lists
> https://wiki.debian.org/DebConf/26/Sprints/DebianGoTeam/GoModBuilds
> https://wiki.debian.org/DebConf/26/Sprints/DebianGoTeam/DevPackages
>
> Maybe there are other false negatives? I hope it doesn't add too many
> packages to the rebuild queue...

You are exactly right, some packages might be missing from our initial
tracking lists.

Please feel free to add golang-github-peterbourgon-ff or any other
missing dependencies directly to the wiki pages whenever you spot
them.

Happy hacking,
-- 
-Andrew

Reply via email to