Announcement: packaging workflow changes
Hi all,
I recently merged some changes to the
<https://go-team.pages.debian.net/packaging.html> page in response to
comments in the thread at
<https://lists.debian.org/debian-go/2025/10/msg00013.html> and in pull
requests to <https://github.com/Debian/dh-make-golang>. For a summary
of the changes, please see
<https://go-team.pages.debian.net/workflow-changes.html#_2026_03_changes>.
tl;dr: Recommend including the major version number:
* in library package names (e.g., golang-example-foo-v2-dev for
example.com/foo/v2)
* in XS-Go-Import-Path
* in installed file locations (e.g.,
/usr/share/gocode/src/example.com/foo/v2)
Also, recommend packaging only one Go module per binary package and only
one binary package per source package to work around some limitations
with dh-make-golang and dh-golang.
dh-make-golang does not follow these best practices when generating a
new package (manual tweaks are often required); I will be working on
that next. Despite this, most packages already conform. I haven't done
an exhaustive survey, but I plan on adding some warnings to
dh-make-golang and/or lintian to make it easier to find packages that
don't follow these best practices. Don't feel obligated to update any
existing packages to conform; if they work now, they should continue to
work with the changes I plan to make.
Also, these are recommendations, not hard rules. Feel free to ignore
them if they are problematic for a package you are working on. Please
let me know if you encounter any such packages; perhaps we can tweak the
best practices to be more broadly useful.
Feel free to tweak or revert my changes if you have concerns.
Thanks,
Richard
Reply to: