[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: golang-github-grpc-ecosystem-grpc-gateway and v2 - should I make a new binary or use experimental/transition?





On Sun, May 30, 2021 at 1:40 pm, Shengjing Zhu <zhsj@debian.org> wrote:
Hi,

On Sun, May 30, 2021 at 1:38 AM Pirate Praveen <praveen@onenetbeyond.org> wrote:

 Hi,

 I need github.com/grpc-ecosystem/grpc-gateway/v2 for a dependency of
 gitlab (spamcheck)

 It has 3 reverse build dependencies. Should I do it as a normal
 transition using same package names or create a new binary package?


Using build-rdeps from devscripts.

$ build-rdeps golang-github-grpc-ecosystem-grpc-gateway-dev
Reverse Build-depends in main:
------------------------------

consul
crowdsec
docker-libkv
docker.io
etcd
flannel
gitlab-ci-multi-runner
golang-github-census-instrumentation-opencensus-proto
golang-github-containers-buildah
golang-github-containers-common
golang-github-containers-image
golang-github-docker-leadership
golang-github-fsouza-go-dockerclient
golang-github-openshift-imagebuilder
golang-github-optiopay-kafka
golang-github-samalba-dockerclient
golang-github-tonistiigi-fsutil
golang-github-xordataexchange-crypt
libpod
nomad
nomad-driver-lxc
nomad-driver-podman
prometheus
singularity-container
skopeo
vip-manager

golang-github-grpc-ecosystem-grpc-gateway-dev is used by some
important packages. Have you rebuilt the reverse?  If all goes well
with /v2 (with patch or w/o patch), then you may don't need a new
source/binary package.


Build fails with

# github.com/grpc-ecosystem/grpc-gateway/runtime
src/github.com/grpc-ecosystem/grpc-gateway/runtime/handler.go:67:31: impossible type assertion: *httpbody.HttpBody does not implement protoreflect.ProtoMessage (missing ProtoReflect method) src/github.com/grpc-ecosystem/grpc-gateway/runtime/handler.go:199:34: cannot use st.Proto() (type *"google.golang.org/genproto/googleapis/rpc/status".Status) as type protoreflect.ProtoMessage in map value: *"google.golang.org/genproto/googleapis/rpc/status".Status does not implement protoreflect.ProtoMessage (missing ProtoReflect method) src/github.com/grpc-ecosystem/grpc-gateway/runtime/query.go:323:7: cannot use fm (type *field_mask.FieldMask) as type protoreflect.ProtoMessage in assignment: *field_mask.FieldMask does not implement protoreflect.ProtoMessage (missing ProtoReflect method)

and go.mod has google.golang.org/genproto v0.0.0-20210426193834-eac7f76ac494

golang-google-genproto will need an update as well.

So this update looks like much more important packages will need to be updated along with it.

Since spamcheck provides generated *_pb.rb files in the repo and gitlab is already in contrib, I will upload spamcheck to contrib and work on this update in a lower priority path.

PS, if you want to make a new binary package with a new import path,
it makes more sense to make a source package too.


I have pushed the changes to debian/experimental branch for now.

--
Shengjing Zhu



Reply to: