[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