On 10/6/25 17:03, Stephen Kitt wrote:
On Mon, 6 Oct 2025 22:52:01 +0200, Stephen Kitt <skitt@debian.org> wrote:Both points are related. XS-Go-Import-Path is only defined in source packages; and while it’s possible to find the path for a binary package as you point out, every binary package only has the path of its source package. Thus it’s impossible for a source package to build different binary packages for different module paths, which means a single source package can only package a single module.That’s not quite right — it is possible to ship multiple paths in a single source package, but what doesn’t seem possible is for that single source package to build multiple binary packages with different modules in each one (and possibly different versions). Or is it?
To confirm my assumption, I attempted to build a dummy source package that produces two binary packages, each with its own different XB-Go-Import-Path field in its binary package stanza in debian/control:
Source: golang-foo # ... Package: golang-foo-a-dev XB-Go-Import-Path: foo/a # ... Package: golang-foo-b-dev XB-Go-Import-Path: foo/b # ...To my surprise, it worked! The two binary packages had different values for the Go-Import-Path metadata. Maybe the documentation for user-defined fields is wrong. Or maybe this is an implementation accident that we should not rely on. Or maybe this is a feature that has not been declared production ready yet, and we can be volunteer beta testers.
I'll do some more research and maybe drop an email to debian-devel@ to ask about this.
-Richard
Regards, Stephen