On Sat, Dec 3 2022 at 01:59:47 AM +08:00:00 +08:00:00, Shengjing Zhu <z...@debian.org> wrote:
On Sat, Dec 3, 2022 at 1:54 AM Shengjing Zhu <z...@debian.org> wrote:

On Sat, Dec 3, 2022 at 1:42 AM Pirate Praveen <prav...@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.

Reply via email to