Package: golang-github-hetznercloud-hcloud-go-dev
Version: 2.4.0-2
Severity: important
X-Debbugs-Cc: [email protected]

The package ships the hcloud-go 2.x code under the import path
github.com/hetznercloud/hcloud-go, but from 2.0.0 upstream declares the module
as github.com/hetznercloud/hcloud-go/v2 (see the module line in go.mod). Any
consumer that follows upstream, and therefore imports
github.com/hetznercloud/hcloud-go/v2/..., cannot be built in Debian: the path
does not resolve in a module aware build, and it does not resolve under GOPATH
either.

Concrete case: golang-opentelemetry-contrib 1.46.0 ships a Hetzner resource
detector that imports github.com/hetznercloud/hcloud-go/v2/hcloud/metadata, and
it cannot be enabled while the path is missing; that side is filed against
golang-opentelemetry-contrib-dev.

The Go team documents the handling for this case in
https://wiki.debian.org/Teams/DebianGoTeam/ModuleAwareBuilds#Renaming_Legacy_Package
Keeping the source package name, the suggested shape is a new binary package
golang-github-hetznercloud-hcloud-go-v2-dev installing under
github.com/hetznercloud/hcloud-go/v2, with the old binary kept as a
transitional package in oldlibs and the usual Breaks/Replaces.

Related: unstable has 2.4.0 while upstream is at 2.47.0, so a new upstream
release would be welcome in the same round. The /v2 path is the blocking part,
the version is not.

I am happy to prepare the change as a merge request if that helps.

-- 
Juan Manuel Méndez Rey

Reply via email to