[pkg-go] golang-google-cloud and other breakage

Martín Ferrari tincho at tincho.org
Thu Jan 5 07:34:44 UTC 2017


On 04/01/17 02:28, Potter, Tim wrote:
> I was poking at this last year before Christmas and grpc is actually up to
> SupportPackageIsVersion4 now.  )-:

Yes. This was indeed the issue. Packages including pre-generated
protobuf go filess, were using the older symbols. So these packages were
not building any more.

> Should be make it a general policy to regenerate proto files for each new
> grpc release?  This sounded good to me until I discovered that etcd3 has
> the grpc as an official API[1],[2].  I think that I saw the etcd.proto file (for etcd2)
> in the source of another package (swarmkit?).  Not sure whether the version
> business is going to mess is up here as well - are the wire formats incompatible
> between the different versions?

I don't think the wire formats are incompatible, but I haven't checked.

In my opinion, no package should be shipping .pg.go files from upstream.
Instead, we should re-generate those at build time, using the current
versions of protobuf-compiler and grpc. So, next time there is an
incompatible change, we only need to rebuild the libraries that generate
.pb.go files.

> I think I decided that vendoring the source for grpc in each package where it's
> needed was going to be easier.  The Debian way of having a single source
> for a library is not really working here.

I honestly don't like that. I understand we vendor sometimes when there
is no other option, or the extra work is too much. But in this case, we
only need to fix the package once.

In the future, we should also start versioning grpc and
protobuf-compiler, so we can detect this automatically.

Martín Ferrari (Tincho)

More information about the Pkg-go-maintainers mailing list