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.