Dear maintainers,
In Ubuntu, we found that reverse-dependencies of python-protobuf were
failing their autopkgtests after the update to protobuf 3.6.1. The reason
for this is that building against a particular version of protobuf results
in a runtime dependency on a matching version of python-protobuf, but this
is not expressed in the Depends: field, which only declares an unversioned
dependency on python-protobuf:
autopkgtest [22:25:39]: test command2: [-----------------------
Traceback (most recent call last):
File "/usr/bin/rdm_responder_test.py", line 19, in <module>
from ola.testing.rdm import TestDefinitions, TestRunner
File "/usr/lib/python2.7/dist-packages/ola/testing/rdm/TestDefinitions.py", line 21, in <module>
from ExpectedResults import (AckGetResult, BroadcastResult, NackGetResult,
File "/usr/lib/python2.7/dist-packages/ola/testing/rdm/ExpectedResults.py", line 33, in <module>
from ola.OlaClient import OlaClient
File "/usr/lib/python2.7/dist-packages/ola/OlaClient.py", line 21, in <module>
from ola.rpc.StreamRpcChannel import StreamRpcChannel
File "/usr/lib/python2.7/dist-packages/ola/rpc/StreamRpcChannel.py", line 21, in <module>
from ola.rpc import Rpc_pb2
File "/usr/lib/python2.7/dist-packages/ola/rpc/Rpc_pb2.py", line 23, in <module>
serialized_pb=_b('\n\tRpc.proto\x12\x07ola.rpc\"S\n\nRpcMessage\x12\x1b\n\x04type\x18\x01 \x02(\x0e\x32\r.ola.rpc.Type\x12\n\n\x02id\x18\x02 \x01(\r\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06\x62uffer\x18\x04 \x01(\x0c*\xd2\x01\n\x04Type\x12\x0b\n\x07REQUEST\x10\x01\x12\x0c\n\x08RESPONSE\x10\x02\x12\x13\n\x0fRESPONSE_CANCEL\x10\x03\x12\x13\n\x0fRESPONSE_FAILED\x10\x04\x12\x1c\n\x18RESPONSE_NOT_IMPLEMENTED\x10\x05\x12\x0e\n\nDISCONNECT\x10\x06\x12\x16\n\x12\x44\x45SCRIPTOR_REQUEST\x10\x07\x12\x17\n\x13\x44\x45SCRIPTOR_RESPONSE\x10\x08\x12\x12\n\x0eREQUEST_CANCEL\x10\t\x12\x12\n\x0eSTREAM_REQUEST\x10\n')
TypeError: __new__() got an unexpected keyword argument 'serialized_options'
autopkgtest [22:25:40]: test command2: -----------------------]
autopkgtest [22:25:41]: test command2: - - - - - - - - - - results - - - - - - - - - -
command2 FAIL non-zero exit status 1
(http://autopkgtest.ubuntu.com/packages/o/ola/disco/ppc64el)
This is a real bug in the runtime dependencies that is being detected via
the autopkgtest. I don't know why this failure never showed up in the
autopkgtest results in Deian.
I've uploaded the attached patch to ola to Ubuntu, to force a matching
versioned dependency and build-dependency; however, it might be better to
work with the protobuf maintainers to find a more complete solution for the
runtime breakage.