[pkg-go] Bug#1025334: Update binary package and XS-Go-Import-Path to match go.mod

Pirate Praveen praveen at onenetbeyond.org
Fri Dec 2 18:27:37 GMT 2022



On Sat, Dec 3 2022 at 01:59:47 AM +08:00:00 +08:00:00, Shengjing Zhu 
<zhsj at debian.org> wrote:
> On Sat, Dec 3, 2022 at 1:54 AM Shengjing Zhu <zhsj at debian.org> wrote:
>> 
>>  On Sat, Dec 3, 2022 at 1:42 AM Pirate Praveen 
>> <praveen at onenetbeyond.org> wrote:
>>  >
>>  > Package: golang-github-cespare-xxhash
>>  > Version: 2.1.1-2
>>  >
>>  > When building gitaly I get,
>>  >
>>  > 
>> src/gitlab.com/gitlab-org/gitlab/vendor/github.com/prometheus/client_golang/prometheus/desc.go:22:2:
>>  > cannot find package "github.com/cespare/xxhash/v2" in any of:
>>  >
>>  > 
>> /<<PKGBUILDDIR>>/_build/src/gitlab.com/gitlab-org/gitlab/vendor/github.com/cespare/xxhash/v2
>>  > (vendor tree)
>>  >         /usr/lib/go-1.19/src/github.com/cespare/xxhash/v2 (from 
>> $GOROOT)
>>  >         /<<PKGBUILDDIR>>/_build/src/github.com/cespare/xxhash/v2 
>> (from
>>  > $GOPATH
>>  >
>>  > even though golang-github-cespare-xxhash-dev is installed.
>>  >
>>  > I think the import path and binary package name should be bumped 
>> to
>>  > match go.mod:
>>  > module github.com/cespare/xxhash/v2
>>  >
>>  > so binary package should be golang-github-cespare-xxhash-v2-dev. 
>> Though
>>  > I'm not 100% sure about the XS-Go-Import-Path as I think it should
>>  > match without a change there.
>> 
>>  No. The Go compiler can find it automatically. Please see the 
>> detail at
>> 
>>  https://lists.debian.org/debian-go/2020/06/msg00009.html
>> 
>>  I think you may have done some non-standard magic in your package.
>> 
> 
> And you can find there are many packages which use
> github.com/cespare/xxhash/v2 in the code.
> 
> https://codesearch.debian.net/search?q=filetype%3Ago+github.com%2Fcespare%2Fxxhash%2Fv2&literal=1
> 
> But they are built successfully, including the
> golang-github-prometheus-client-golang package.

I think the problem comes when a module in vendor tries to find this 
module. The following lines fixes the error.

mkdir -p ${BUILDDIR}/vendor/github.com/cespare/xxhash
	ln -s /usr/share/gocode/src/github.com/cespare/xxhash 
${BUILDDIR}/vendor/github.com/cespare/xxhash/v2

here github.com/prometheus/client_golang is added in vendor because 
gitlab (and gitaly) need golang-github-golang-protobuf-1-5-dev which 
currently not possible to get via apt. Yes, this is a work around until 
we fix the conflict.



More information about the Pkg-go-maintainers mailing list