FTBFS due to too new golang-goprotobuf-dev
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
golang-google-grpc (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Disco |
Fix Released
|
High
|
Unassigned |
Bug Description
Disco updated golang-
Disco and eoan contain golang-
(This also means that any developers using golang-
As a little background explanation, google.
github.
Additionally, github.
The attached debdiff fixes the first issue by adding wrapper functions which match the signature of the new API and call the old API internally. The second issue is fixed by pulling the upstream patch to remove use of unkeyed struct literals.
[Test Case]
golang-
An alternative, minimal test case:
1. sudo apt install golang-
2. Copy simple.proto from the bug attachments to an empty directory.
3. protoc simple.proto --go_out=
4. GOPATH=
Expected output:
Nothing
Actual output:
# command-
./simple.
./simple.
[Regression Potential]
The added wrapper functions emulate an API no yet available in 1.6.0 by calling an older one internally. It is possible that this can result in unexpected behavior when invoking the wrapper functions. However this regression is not very likely, since the functionality behind the two API-s is exactly the same even to this day: the deprecated API calls the new one internally.
The second fix of using keyed struct literals has no regression potential. It removes ambiguity by explicitly marking which value should be assigned to which field and is required by new versions of goprotobuf.
Release: Ubuntu 19.04
Release: Ubuntu 19.10 (development branch)
Package: golang-google-grpc 1.6.0-3
description: | updated |
description: | updated |
tags: | added: ftbfs |
Changed in golang-google-grpc (Ubuntu): | |
importance: | Undecided → Medium |
tags: |
added: verification-done verification-done-disco removed: verification-needed verification-needed-disco |
I personally think that the right way to go here is the second approach. I don't think it's wise to downgrade golang- goprotobuf- dev for this reason, as it should be always the other way around (especially that here it seems like it's just 'dropping deprecated functionality').
In eoan I see we already synced 1.11.0-1, so it should be good from this regard. But for disco I'd recommend working around it by creating wrapper functions around the new API and applying that on top of the current disco-proposed upload. If you could, please provide a debdiff of such a package (basing on the one in disco-proposed) and assigning ubuntu-sponsors. Someone should then upload the package after building it with -v1.6.0-3 (to have the both changelog entries in .changes).