[Buildbot] #3647: Master is not compatible with Python 2.6

Buildbot trac trac at buildbot.net
Tue Nov 29 03:20:58 UTC 2016


#3647: Master is not compatible with Python 2.6
--------------------+-----------------------
Reporter:  dcoshea  |      Owner:
    Type:  defect   |     Status:  new
Priority:  major    |  Milestone:  undecided
 Version:  0.9.1    |   Keywords:  latent
--------------------+-----------------------
 https://docs.buildbot.net/0.9.1/manual/installation/requirements.html
 #common-requirements says "Both Buildbot master and Buildbot worker
 require Python-2.6, although Python-2.7 is recommended."

 When I created a virtualenv on my CentOS 6 system, which has the
 `python-2.6.6-66.el6_8.x86_64` package installed, then ran `pip install
 buildbot`, `buildbot create-master -r directory` failed with:

 {{{
 [...]/virtualenv/lib/python2.6/site-
 packages/twisted/internet/endpoints.py:30: DeprecationWarning:
 twisted.internet.interfaces.IStreamClientEndpointStringParser was
 deprecated in Twisted 14.0.0: This interface has been superseded by
 IStreamClientEndpointStringParserWithReactor.
   from twisted.internet.interfaces import (
 Traceback (most recent call last):
   File "./buildbot", line 9, in <module>
     load_entry_point('buildbot==0.9.1', 'console_scripts', 'buildbot')()
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/scripts/runner.py", line 755, in run
     subcommandFunction = reflect.namedObject(subconfig.subcommandFunction)
   File "[...]/virtualenv/lib/python2.6/site-
 packages/twisted/python/reflect.py", line 168, in namedObject
     module = namedModule('.'.join(classSplit[:-1]))
   File "[...]/virtualenv/lib/python2.6/site-
 packages/twisted/python/reflect.py", line 154, in namedModule
     topLevel = __import__(name)
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/scripts/create_master.py", line 28, in <module>
     from buildbot.master import BuildMaster
   File "[...]/virtualenv/lib/python2.6/site-packages/buildbot/master.py",
 line 36, in <module>
     from buildbot.buildbot_net_usage_data import sendBuildbotNetUsageData
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/buildbot_net_usage_data.py", line 31, in <module>
     from buildbot.process.buildstep import _BuildStepFactory
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/process/buildstep.py", line 42, in <module>
     from buildbot.process import remotecommand
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/process/remotecommand.py", line 29, in <module>
     from buildbot.worker.protocols import base
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/worker/__init__.py", line 16, in <module>
     from buildbot.worker.latent import AbstractLatentWorker
   File "[...]/virtualenv/lib/python2.6/site-
 packages/buildbot/worker/latent.py", line 59
     return {wfb for wfb in itervalues(self.workerforbuilders)
                   ^
 SyntaxError: invalid syntax
 }}}

 `latent.py` seems to be using dict comprehension syntax `{wfb for wfb in
 ...}` which is only supported with Python 2.7 and later.
 http://stackoverflow.com/a/1747827 provides a suggestion on how to achieve
 the same goal with Python 2.6.

--
Ticket URL: <http://trac.buildbot.net/ticket/3647>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the bugs mailing list