DEP8 failure: excluded modules in d/rules still needed

Bug #1884314 reported by Andreas Hasenack on 2020-06-19
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
golang-golang-x-tools (Debian)
Fix Released
Unknown
golang-golang-x-tools (Ubuntu)
Undecided
Unassigned

Bug Description

I'm still troubleshooting this, but I think I have enough information already to open a bug.

The DEP8 tests are failing at "go install" (dh_build) time with these errors:

cannot find package "golang.org/x/tools/internal/lsp/diff" in any of:
        /usr/lib/go-1.14/src/golang.org/x/tools/internal/lsp/diff (from $GOROOT)
        /tmp/autopkgtest.8OahHY/autopkgtest_tmp/obj-x86_64-linux-gnu/src/golang.org/x/tools/internal/lsp/diff (from $GOPATH)

and

cannot find package "golang.org/x/tools/internal/lsp/debug/tag" in any of:
        /usr/lib/go-1.14/src/golang.org/x/tools/internal/lsp/debug/tag (from $GOROOT)
        /tmp/autopkgtest.8OahHY/autopkgtest_tmp/obj-x86_64-linux-gnu/src/golang.org/x/tools/internal/lsp/debug/tag (from $GOPATH)

This package has no dep8 test of its own, relying on "Testsuite: autopkgtest-pkg-go" which basically runs the build again.

This upload contains a change in d/rules' DH_GOLANG_EXCLUDES:
  * Add to DH_GOLANG_EXCLUDES "internal/lsp"
    which is a part of the previously excluded "gopls"

# Exclude "cover" since it is included in core as of Go 1.5+.
# Exclude "gopls" as it requires honnef.co/go/tools which has not
# been packaged for Debian.
export DH_GOLANG_EXCLUDES := cmd/cover gopls internal/lsp

Turns out since commit https://github.com/golang/tools/commit/b1df9901287c3c79c3946b1899de591bbd347c20 (that's as far as I have investigated at the moment), the go/analysis/analysistest module started importing "golang.org/x/tools/internal/lsp/diff", but now internal/lsp is being excluded. I think that explains the build failure in the DEP8 environment.

I'm not sure why that doesn't fail the normal build, though.

I also don't know how this package migrated in debian, since it's failing there too for quite some time:

https://ci.debian.net/packages/g/golang-golang-x-tools/

In the previous upload, golang-golang-x-tools-0.0~git20191118.07fc4c7+ds, go/analysis/analysistest/analysistest.go didn't import internal/lsp/diff.

If I remove "internal/lsp" from DH_GOLANG_EXCLUDES and rebuild, then the build-time tests fail:
--- FAIL: TestIssue37978 (60.01s)
    --- FAIL: TestIssue37978/singleton (60.01s)
panic: Shutdown: context deadline exceeded [recovered]
        panic: Shutdown: context deadline exceeded

Changed in golang-golang-x-tools (Debian):
status: Unknown → New

This issue was fixed in Debian on version 1:0.0~git20200410.79a7a31+ds-2. It was already sync'ed and it migrated to the release pocket as you can see here:

https://launchpad.net/ubuntu/+source/golang-golang-x-tools

Changed in golang-golang-x-tools (Ubuntu):
status: New → Fix Released
Changed in golang-golang-x-tools (Debian):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.