Debian Patches

Status for golang-golang-x-tools/1:0.25.0+ds-1

Patch Description Author Forwarded Bugs Origin Last update
0001-Make-godoc-support-symlinks.patch Make godoc support symlinks.

Due to the FHS, we use a symlink from /usr/share/golang/src to
/usr/lib/golang/src, but godoc does not support that.

See also https://groups.google.com/forum/#!topic/golang-nuts/396pWLsz-WI
Dmitry Azhichakov <dmitry@dsa.pp.ru> yes 2020-11-17
0002-Disable-static-files-for-present-cmd.patch Disable static files for present cmd
This path is debian-specific, hence this patch cannot go upstream.
=?utf-8?q?Mart=C3=ADn_Ferrari?= <tincho@debian.org> not-needed 2020-11-17
0003-Disable-embedding-static-files-for-godoc-cmd.patch Disable embedding static files for godoc cmd
This path is debian-specific, hence this patch cannot go upstream.


Original authors:
+ Martín Ferrari <tincho@debian.org>
+ Anthony Fok <foka@debian.org>
Shengjing Zhu <zhsj@debian.org> not-needed 2020-11-17
0004-Support-mips-in-testdata-in-go-analysis-passes-atomi.patch Support mips in testdata in go/analysis/passes/atomicalign
but mips/mipsle are missing.
Debian Go Packaging Team <team+pkg-go@tracker.debian.org> no 2020-11-17
0005-Skip-cmd-godoc-TestURL.patch Skip cmd/godoc TestURL

If golang-doc is not present, the start page for godoc does not contain the
text expected in tests.
=?utf-8?q?Mart=C3=ADn_Ferrari?= <tincho@debian.org> not-needed vendor 2019-07-29
0006-Skip-cmd-stringer-e2e-test.patch Skip cmd/stringer e2e test

Seems like 'go build' can't work offline:
Arnaud Rebillout <arnaud.rebillout@collabora.com> not-needed vendor 2023-02-07
0007-Skip-go-packages-TestLoadOverlayGoMod.patch Skip go/packages TestLoadOverlayGoMod

The TestLoadOverlayGoMod test needs to be in modules mode
to give correct results.

Fixes "Load:
got [_/<<PKGBUILDDIR>>/_build/src/golang.org/x/tools/go/packages/testdata],
want [./testdata]" error in GOPATH mode.
Anthony Fok <foka@debian.org> not-needed vendor 2024-08-02
0008-Skip-go-packages-TestOverlaysInReplace.patch Skip go/packages TestOverlaysInReplace
Needs go mod
Shengjing Zhu <zhsj@debian.org> not-needed 2020-11-17
0009-Skip-internal-gcimporter-TestStdlib.patch Skip internal/gcimporter TestStdlib
gopls/doc/generate.go:33:2: cannot find package "github.com/jba/printsrc" in any of:
/usr/lib/go-1.19/src/github.com/jba/printsrc (from $GOROOT)
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/jba/printsrc (from $GOPATH)
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/golang.org/x/tools/gopls/doc/generate.go:33:2: could not import github.com/jba/printsrc (invalid package name: "")
stdlib_test.go:52: there were errors during loading
Shengjing Zhu <zhsj@debian.org> not-needed 2023-02-07
0010-Set-GO111MODULE-auto-in-tests.patch Set GO111MODULE=auto in tests Shengjing Zhu <zhsj@debian.org> no 2023-08-03
0011-Set-GO111MODULE-on-to-fix-TestExampleSeparateAnalysi.patch Set GO111MODULE=on to fix TestExampleSeparateAnalysis
Fixes the following error when GO111MODULE=off:

invoke.go:265: 40.546052ms for GOROOT= GOPATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu GO111MODULE=off GOPROXY=off PWD=/tmp/TestExampleSeparateAn
alysis4090709764/001 go list -e -f {{context.ReleaseTags}} -- unsafe
invoke.go:265: 35.954687ms for GOROOT= GOPATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu GO111MODULE=off GOPROXY=off PWD=/tmp/TestExampleSeparateAn
alysis4090709764/001 go list -e -json=Name,ImportPath,Error,Dir,GoFiles,IgnoredGoFiles,IgnoredOtherFiles,CFiles,CgoFiles,CXXFiles,MFiles,HFiles,FF
iles,SFiles,SwigFiles,SwigCXXFiles,SysoFiles,CompiledGoFiles,Export,DepOnly,Imports,ImportMap,Module -compiled=true -test=false -export=false -dep
s=true -find=false -pgo=off -- separate/main
/usr/lib/go-1.21/src/separate/main (from $GOROOT)
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/separate/main (from $GOPATH)
separate_test.go:105: there were errors among loaded packages
Anthony Fok <foka@debian.org> no 2023-10-14
0012-internal-refactor-inline-Skip-tests-failing-to-impor.patch internal/refactor/inline: Skip tests failing to import "testdata/{a,b}"

For example:

=== NAME Test/revdotimport.txtar
inline_test.go:68: b/b.go:3:8: cannot find package "testdata/a" in any of:
/usr/lib/go-1.21/src/testdata/a (from $GOROOT)
/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/go/src/testdata/a (from $GOPATH)
inline_test.go:68: /tmp/Testrevdotimport.txtar1884530485/001/b/b.go:3:8: could not import testdata/a (invalid package name: "")
inline_test.go:68: c/c.go:4:8: cannot find package "testdata/b" in any of:
/usr/lib/go-1.21/src/testdata/b (from $GOROOT)
/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home/go/src/testdata/b (from $GOPATH)
inline_test.go:68: /tmp/Testrevdotimport.txtar1884530485/001/c/c.go:3:10: could not import testdata/a (invalid package name: "")
inline_test.go:68: /tmp/Testrevdotimport.txtar1884530485/001/c/c.go:4:8: could not import testdata/b (invalid package name: "")
inline_test.go:68: /tmp/Testrevdotimport.txtar1884530485/001/c/c.go:7:2: undefined: A
inline_test.go:124: doInlineNote /tmp/Testrevdotimport.txtar1884530485/001/c/c.go:8:11
inline_test.go:126: /tmp/Testrevdotimport.txtar1884530485/001/c/c.go:8:11: @inline(B, result): cannot inline: not a static call
...
--- FAIL: Test (0.67s)
--- PASS: Test/comments.txtar (0.12s)
--- PASS: Test/basic-reduce.txtar (0.03s)
--- PASS: Test/err-shadow-pkg.txtar (0.19s)
--- PASS: Test/basic-literal.txtar (0.08s)
--- FAIL: Test/revdotimport.txtar (0.13s)
--- PASS: Test/n-ary.txtar (0.15s)
--- PASS: Test/method.txtar (0.19s)
--- FAIL: Test/internal.txtar (0.22s)
--- PASS: Test/exprstmt.txtar (0.09s)
--- FAIL: Test/import-shadow.txtar (0.21s)
--- PASS: Test/err-shadow-builtin.txtar (0.42s)
--- FAIL: Test/err-unexported.txtar (0.74s)
--- PASS: Test/err-basic.txtar (0.73s)
--- FAIL: Test/dotimport.txtar (0.63s)
--- PASS: Test/basic-err.txtar (3.86s)
--- FAIL: Test/crosspkg.txtar (4.73s)

These tests still fail despite removing the typo "GO111MODULES=on"
to "GO111MODULE=on", so I decided to simply remove the failing *.txtar
test files.
Anthony Fok <foka@debian.org> no 2023-11-06
0013-Fix-typo-GO111MODULES-GO111MODULE.patch Fix typo GO111MODULES -> GO111MODULE Shengjing Zhu <zhsj@debian.org> no 2023-11-21
1000-Skip-gopls-internal-licenses-TestLicenses.patch Skip gopls/internal/licenses TestLicenses Shengjing Zhu <zhsj@debian.org> not-needed 2024-08-09
1001-Skip-gopls-internal-lsp-cmd-TestCapabilities.patch Skip gopls/internal/cmd TestCapabilities
Needs go mod
Shengjing Zhu <zhsj@debian.org> not-needed 2023-02-07
1002-Skip-gopls-internal-lsp-cmd-TestRename-and-TestStats.patch Skip gopls/internal/cmd TestRename and TestStats

TestRename's "in 'package' identifier" subtest expects the error message

gopls: cannot rename package: module path "example.com" is the same as
the package path, so renaming the package directory would have no effect

but when GO111MODULE=off, gets an alternative error message instead:

gopls: cannot rename package: missing module information for package "_."

Similarly, TestStats gives different counts when GO111MODULE=off:

stats.WorkspaceStats.Views[0].WorkspaceModules = 0, want 1
stats.WorkspaceStats.Views[0].WorkspacePackages = 1, want 2
Anthony Fok <foka@debian.org> not-needed vendor 2023-06-26
1003-Skip-TestTemplates-in-gopls-internal-debug-template_.patch Skip TestTemplates in gopls/internal/debug/template_test.go
(needs golang-github-jba-templatecheck-dev which is not yet packaged)
Anthony Fok <foka@debian.org> no 2023-12-27
1004-Set-GO111MODULE-on-for-TestExecute-and-TestCodeLens.patch Set GO111MODULE=on for TestExecute and TestCodeLens Anthony Fok <foka@debian.org> no 2023-12-30
1005-Set-GO111MODULE-auto-for-TestZeroConfigAlgorithm.patch Set GO111MODULE=auto for TestZeroConfigAlgorithm
Debian dh-golang is currently still using GO111MODULE=off
which confuses many tests TestZeroConfigAlgorithm.

Full test log:

=== RUN TestZeroConfigAlgorithm
=== RUN TestZeroConfigAlgorithm/basic_go.work_workspace
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
}
=== RUN TestZeroConfigAlgorithm/basic_go.mod_workspace
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
}
=== RUN TestZeroConfigAlgorithm/basic_GOPATH_workspace
=== RUN TestZeroConfigAlgorithm/basic_AdHoc_workspace
=== RUN TestZeroConfigAlgorithm/multi-folder_workspace
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "a",
Env: nil,
},
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "b",
Env: nil,
},
}
=== RUN TestZeroConfigAlgorithm/multi-module_workspace
=== RUN TestZeroConfigAlgorithm/zero-config_open_module
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{Type: s"AdHocView", Root: "."},
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "a",
Env: nil,
},
}
=== RUN TestZeroConfigAlgorithm/zero-config_open_modules
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{Type: s"AdHocView", Root: "."},
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "a",
Env: nil,
},
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "b",
Env: nil,
},
}
=== RUN TestZeroConfigAlgorithm/unified_workspace
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
+ {Type: s"AdHocView", Root: "a"},
+ {Type: s"AdHocView", Root: "b"},
}
=== RUN TestZeroConfigAlgorithm/go.work_from_env
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
+ {Type: s"AdHocView", Root: "a"},
+ {Type: s"AdHocView", Root: "b"},
}
=== RUN TestZeroConfigAlgorithm/independent_module_view
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
+ {Type: s"AdHocView", Root: "a"},
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "b",
- Env: []string{"GOWORK=off"},
+ Env: nil,
},
}
=== RUN TestZeroConfigAlgorithm/multiple_go.work
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
- Root: "b",
+ Root: "a",
Env: nil,
},
+ {Type: s"AdHocView", Root: "b"},
+ {Type: s"AdHocView", Root: "b/c"},
}
=== RUN TestZeroConfigAlgorithm/multiple_go.work,_c_unused
session_test.go:281: selectViews() mismatch (-want +got):
[]cache.viewSummary{
{
- Type: s"GoWorkView",
+ Type: s"AdHocView",
Root: ".",
Env: nil,
},
+ {Type: s"AdHocView", Root: "a"},
+ {Type: s"AdHocView", Root: "b"},
{
- Type: s"GoModView",
+ Type: s"AdHocView",
Root: "b/c",
- Env: []string{"GOWORK=off"},
+ Env: nil,
},
}
Anthony Fok <foka@debian.org> no 2024-02-04
0020-internal-imports-adjust-TestStdlibSelfImports-pkg.patch internal/imports: adjust TestStdlibSelfImports pkg
This commit switches the test to use crypto/rc4 instead of crypto/ecdsa.

The crypto.ecdsa package will soon be imported into the FIPS module,
producing an unexpected import of crypto/internal/fips/ecdsa by the
pre-existing test.

Instead, use the rc4 stdlib package. This won't be under consideration
for FIPS.
Daniel McCarney <daniel@binaryparadox.net> not-needed upstream 2024-11-18
0021-Enable-go111module-for-rta_test.patch Enable go 1.11 module for rta_test
dh-golang is still using GO111MODULE=off, this reaks some of the tests
that expect it to be set to on by default.

Allows to fix these test failures:

=== RUN TestRTA
=== RUN TestRTA/testdata/func.txtar
=== RUN TestRTA/testdata/generics.txtar
rta_test.go:210: missing edge "main --static function call--> instantiated[example.com.B]"
rta_test.go:210: missing edge "main --static function call--> lambda[example.com.A]"
rta_test.go:210: missing edge "main --dynamic function call--> lambda[example.com.A]$1"
rta_test.go:210: missing edge "main --static function call--> local[example.com.C]"
rta_test.go:210: missing edge "main --static function call--> instantiated[example.com.A]"
rta_test.go:210: missing edge "instantiated[example.com.A] --static method call--> (A).Foo"
rta_test.go:210: missing edge "instantiated[example.com.B] --static method call--> (B).Foo"
rta_test.go:228: got:
edge (*C).Foo --static method call--> (C).Foo
edge (A).Foo$bound --static method call--> (A).Foo
edge instantiated[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A] --static method call--> (A).Foo
edge instantiated[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.B] --static method call--> (B).Foo
edge main --dynamic function call--> (A).Foo$bound
edge main --dynamic function call--> lambda[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A]$1
edge main --dynamic method call--> (*C).Foo
edge main --dynamic method call--> (C).Foo
edge main --static function call--> instantiated[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A]
edge main --static function call--> instantiated[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.B]
edge main --static function call--> lambda[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A]
edge main --static function call--> local[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.C]
rta_test.go:210: missing reachable "instantiated[example.com.A]"
rta_test.go:210: missing reachable "instantiated[example.com.B]"
rta_test.go:210: missing reachable "lambda[example.com.A]"
rta_test.go:210: missing reachable "lambda[example.com.A]$1"
rta_test.go:210: missing reachable "local[example.com.C]"
rta_test.go:228: got:
reachable (*C).Foo
reachable (A).Foo
reachable (A).Foo$bound
reachable (B).Foo
reachable (C).Foo
reachable init
reachable instantiated[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A]
reachable instantiated[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.B]
reachable lambda[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A]
reachable lambda[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.A]$1
reachable local[_/tmp/TestRTAtestdatagenerics.txtar516141678/001.C]
reachable main
=== RUN TestRTA/testdata/iface.txtar
=== RUN TestRTA/testdata/reflectcall.txtar
=== RUN TestRTA/testdata/rtype.txtar
=== RUN TestRTA/testdata/multipkgs.txtar
iface.go:4:2: cannot find package "example.com/subpkg" in any of:
/usr/lib/go-1.24/src/example.com/subpkg (from $GOROOT)
/build/reproducible-path/golang-golang-x-tools-0.25.0+ds/_build/src/example.com/subpkg (from $GOPATH)
/tmp/TestRTAtestdatamultipkgs.txtar1763960379/001/iface.go:4:2: could not import example.com/subpkg (invalid package name: "")
rta_test.go:118: packages contained 2 errors
--- FAIL: TestRTA (1.92s)
--- PASS: TestRTA/testdata/func.txtar (0.37s)
--- FAIL: TestRTA/testdata/generics.txtar (0.13s)
--- PASS: TestRTA/testdata/iface.txtar (0.12s)
--- PASS: TestRTA/testdata/reflectcall.txtar (1.02s)
--- PASS: TestRTA/testdata/rtype.txtar (0.15s)
--- FAIL: TestRTA/testdata/multipkgs.txtar (0.12s)
FAIL
FAIL golang.org/x/tools/go/callgraph/rta 1.927s
Nicolas Peugnet <nicolas@club1.fr> no 2025-03-02
0022-go-analysis-passes-copylock-test-for-noCopy-for-sync.patch go/analysis/passes/copylock: test for noCopy for sync Map, Mutex, Once

Right now the copylock tests check for details on these types that are
implementation details and/or have some other problem (a less useful
error message, or a false negative altogether).

CL 627777 modifies the sync package to attach explicit anonymous noCopy
fields on each of these types. This change updates the tests to match
that, which also helps with and/or resolves a couple issues with
copylock captured in the test suite.

tests. In the next CL we'll re-enable them, once CL 627777 lands.
Michael Anthony Knyszek <mknyszek@google.com> not-needed upstream 2024-11-15

All known versions for source package 'golang-golang-x-tools'

Links