← Back to team overview

touch-packages team mailing list archive

[Bug 1275826] Re: Version 2.5.0-5ubuntu1 breaks python code using the cpp module

 

This appears to have been fixed properly with the new C++-based module
in 2.6.0.  I've just synced that (actually 2.6.1-1) into vivid after
checking that all our other remaining patches are obsolete.

** Changed in: protobuf (Ubuntu)
       Status: Triaged => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to protobuf in Ubuntu.
https://bugs.launchpad.net/bugs/1275826

Title:
  Version 2.5.0-5ubuntu1 breaks python code using the cpp module

Status in Ubuntu One storage protocol:
  Fix Committed
Status in protobuf package in Ubuntu:
  Fix Released
Status in ubuntuone-storage-protocol package in Ubuntu:
  Fix Released
Status in protobuf source package in Trusty:
  Triaged
Status in ubuntuone-storage-protocol source package in Trusty:
  Fix Released

Bug description:
  The 2.5.0-5ubuntu1 upload in proposed includes the following change:

    * python-protobuf: switch back to the pure Python implementation, as
      upstream appears to no longer be maintaining the current C++ based Python
      binding. See the following upstream issues for details:
      - https://code.google.com/p/protobuf/issues/detail?id=434
      - https://code.google.com/p/protobuf/issues/detail?id=503

  However, the cpp_message.py is still included, and tries to import the
  C++ based module which no longer exists, which results in the
  following failure in the ubuntuone-storage-protocol tests:

  Traceback (most recent call last):
    File "/usr/bin/u1trial", line 40, in <module>
      main()
    File "/usr/lib/python2.7/dist-packages/ubuntuone-dev-tools/ubuntuone/devtools/runners/__init__.py", line 277, in main
      suite = test_runner.get_suite(options)
    File "/usr/lib/python2.7/dist-packages/ubuntuone-dev-tools/ubuntuone/devtools/runners/__init__.py", line 173, in get_suite
      config['ignore-paths']))
    File "/usr/lib/python2.7/dist-packages/ubuntuone-dev-tools/ubuntuone/devtools/runners/__init__.py", line 157, in _collect_tests
      module_suite = self._load_unittest(filepath)
    File "/usr/lib/python2.7/dist-packages/ubuntuone-dev-tools/ubuntuone/devtools/runners/__init__.py", line 98, in _load_unittest
      module = __import__(modpath, None, None, [""])
    File "/tmp/adt-run.i9ormp/dsc0-build/ubuntuone-storage-protocol-13.10/tests/test_bytesproducer.py", line 42, in <module>
      from ubuntuone.storageprotocol import client, protocol_pb2
    File "/tmp/adt-run.i9ormp/dsc0-build/ubuntuone-storage-protocol-13.10/ubuntuone/storageprotocol/client.py", line 51, in <module>
      from ubuntuone.storageprotocol import (
    File "/tmp/adt-run.i9ormp/dsc0-build/ubuntuone-storage-protocol-13.10/ubuntuone/storageprotocol/delta.py", line 35, in <module>
      from ubuntuone.storageprotocol import protocol_pb2
    File "/tmp/adt-run.i9ormp/dsc0-build/ubuntuone-storage-protocol-13.10/ubuntuone/storageprotocol/protocol_pb2.py", line 4, in <module>
      from google.protobuf import descriptor as _descriptor
    File "/usr/lib/python2.7/dist-packages/google/protobuf/descriptor.py", line 45, in <module>
      from google.protobuf.internal import cpp_message
    File "/usr/lib/python2.7/dist-packages/google/protobuf/internal/cpp_message.py", line 39, in <module>
      from google.protobuf.internal import _net_proto2___python
  ImportError: cannot import name _net_proto2___python
  make[1]: *** [override_dh_auto_test] Error 1

  It seems like this python module should instead issue a
  DeprecationWarning and fall back to using the pure python
  implementation, whilst code which uses the cpp module in some way,
  transitions over to the pure python implementation.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntuone-storage-protocol/+bug/1275826/+subscriptions