checkbox build fails if python3-plainbox is installed in the build system

Bug #1305160 reported by Daniel Manrique
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
checkbox (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

On a trusty system which by default has python3-plainbox and plainbox-provider-{resource-generic,checkbox} installed, trying to dpkg-buildpackage from a checkout of lp:ubuntu/checkbox fails, ultimately with this:

======================================================================
ERROR: test_run_without_args (impl.test_box.TestSpecial)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/test_box.py", line 246, in test_run_without_args
    main(['dev', 'special'])
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/box.py", line 92, in main
    raise SystemExit(PlainBoxTool().main(argv))
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/clitools.py", line 243, in main
    self._parser = self.construct_parser()
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/clitools.py", line 342, in construct_parser
    self.add_subcommands(subparsers)
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/box.py", line 73, in add_subcommands
    subparsers)
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/commands/run.py", line 418, in register_parser
    get_all_transports().keys()),
  File "/home/ubuntu/checkbox/plainbox/plainbox/impl/transport.py", line 93, in get_all_transports
    transport_cls = entry_point.load()
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2087, in load
    if require: self.require(env, installer)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2100, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 632, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (plainbox 0.5a1 (/home/ubuntu/checkbox/plainbox), Requirement.parse('plainbox>=0.5.1'))

----------------------------------------------------------------------
Ran 1590 tests in 4.828s

FAILED (errors=14, skipped=1, expected failures=1)
make[1]: *** [override_dh_auto_test] Error 1
make[1]: Leaving directory `/home/ubuntu/checkbox'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

How I reproduced this:

- On a just-installed desktop Trusty system, install bzr, build-deps for checkbox, and quilt.
- branch lp:ubuntu/checkbox and change to that directory
- dpkg-buildpackage -S

At Zygmunt's suggestion I uninstalled all checkbox and plainbox packages to ensure things run against the source and not installed packages. In that case, things work as expected.

The problem is that the build script continues to run tests for the plainbox portion of the tree (even if it only packages checkbox-gui), and those fail in the presence of an installed version of plainbox.

A possible solution is to update debian/rules so it doesn't run those tests.

Also, to clarify, this doesn't affect building a source package (e.g. dpkg-buildpackage -S), nor does it affect builds in "clean" environments such as sbuild, which is used to generate the actual Ubuntu packages.

I'll set this to Triaged since it was reproduced both by Zygmunt and I, the problem has been identified and a solution has been proposed.

Changed in checkbox (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.