On 07/07/2020 20:29, Shengjing Zhu wrote: > Hi, > > The Go team is working on a new protobuf package. > https://blog.golang.org/protobuf-apiv2 > > In short, there are two Go libraries and protoc compiler plugins. > 1. protoc-gen-go > > The old one is github.com/golang/protobuf/protoc-gen-go. > The new one is google.golang.org/protobuf/cmd/protoc-gen-go. > > They share the same binary name. As the protoc compiler searches > plugins by its name, so we shouldn't change them. > > The old one supports generating grpc, the new one won't. (The new grpc > plugin will be google.golang.org/grpc/cmd/protoc-gen-go-grpc, in > grpc-go repo). > > If golang/protobuf 1.4+ is used, the resulting pb.go files are the > same most of the time. And the pb.go imports both > google.golang.org/protobuf and github.com/golang/protobuf. > > 2. runtime library > > github.com/golang/protobuf v1.4+ (sid has v1.3.4) is built on top of > google.golang.org/protobuf. > > > Current situation: > > google.golang.org/protobuf is in sid now. > https://tracker.debian.org/pkg/golang-google-protobuf > With protoc plugin package name: protoc-gen-go, library name > golang-google-protobuf-dev. > > protoc-gen-go conflicts golang-goprotobuf-dev (both have > /usr/bin/protoc-gen-go). > > > If bump github.com/golang/protobuf to v1.4: > > There's no problem if we only care about the old protoc plugin. As > golang-goprotobuf-dev can co-install with golang-google-protobuf-dev. > > + src:golang-goprotobuf B-D golang-google-protobuf-dev > + golang-goprotobuf-dev Depends golang-google-protobuf-dev > > Packages use them: > B-D golang-goprotobuf-dev (and implicit golang-google-protobuf-dev) > > It looks good. > > But for the new protoc plugin: > Packages use it: > B-D protoc-gen-go, golang-google-protobuf-dev, golang-goprotobuf-dev > (since the pb.go import both) > So it can't be satisfied, as protoc-gen-go conflicts golang-goprotobuf-dev. > > > To move forward: > I think we can split src:golang-goprotobuf to: > protoc-gen-go-legacy(has /usr/bin/protoc-gen-go) and > golang-github-google-protobuf-dev. > > So packages use protoc plugin can: > B-D protoc-gen-go, golang-google-protobuf-dev, > golang-github-google-protobuf-dev. > > Any suggestions? > Not really, sounds like the best plan available to me. Do we know how many package are affected, currently ?
Cheers, -- nodens
