Package: ola
Version: 0.10.7.nojsmin-1
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu disco ubuntu-patch

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.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru ola-0.10.7.nojsmin/debian/control ola-0.10.7.nojsmin/debian/control
--- ola-0.10.7.nojsmin/debian/control   2018-09-07 06:18:11.000000000 -0700
+++ ola-0.10.7.nojsmin/debian/control   2018-11-13 23:12:51.000000000 -0800
@@ -2,7 +2,7 @@
 Priority: optional
 Maintainer: Wouter Verhelst <wou...@debian.org>
 Uploaders: RenZO <re...@imaginux.com>
-Build-Depends: debhelper (>= 9), autotools-dev, dh-autoreconf, 
bash-completion, libcppunit-dev, bison, flex, pkg-config, uuid-dev, python, 
python-protobuf, libprotobuf-dev, protobuf-compiler, libprotoc-dev, 
libusb-1.0-0-dev, libftdi1-dev, liblo-dev, libmicrohttpd-dev (>= 
0.9.44+dfsg-1), libncurses5-dev, libavahi-client-dev, python-numpy
+Build-Depends: debhelper (>= 9), autotools-dev, dh-autoreconf, 
bash-completion, libcppunit-dev, bison, flex, pkg-config, uuid-dev, python, 
python-protobuf (>= 3.6.1~), libprotobuf-dev, protobuf-compiler, libprotoc-dev, 
libusb-1.0-0-dev, libftdi1-dev, liblo-dev, libmicrohttpd-dev (>= 
0.9.44+dfsg-1), libncurses5-dev, libavahi-client-dev, python-numpy
 Standards-Version: 3.9.8
 Section: libs
 Vcs-Git: https://salsa.debian.org/wouter/ola
@@ -28,7 +28,7 @@
 Package: ola-python
 Section: libs
 Architecture: all
-Depends: ola (>= ${source:Version}), ola (<< ${source:Version}.~), 
${python:Depends}, ${misc:Depends}, python-protobuf
+Depends: ola (>= ${source:Version}), ola (<< ${source:Version}.~), 
${python:Depends}, ${misc:Depends}, python-protobuf (>= 3.6.1~)
 Description: Open Lighting Architecture - Python Classes
  The DMX512 standard for Digital MultipleX is used for digital
  communication networks commonly used to control stage lighting and

Reply via email to