On 10/6/25 17:03, Stephen Kitt wrote:
On Mon, 6 Oct 2025 22:52:01 +0200, Stephen Kitt <[email protected]> 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