[Buildbot-devel] build-slave python 2.3 compatibility

Douglas Leeder douglas.leeder at sophos.com
Fri Jul 23 14:47:16 UTC 2010


Opps, I must have been looking at an older version of the docs - I could have sworn it said python 2.3 or above.

Is there any interest in making the build-slave (only) compatible with older python?

One of the nice things about splitting out the slave is that it removes a lot of the dependencies
that buildbot (master/full) has. Being able to run buildslaves on older python would make it have less
impact on the target systems (in terms of dependencies).

Obviously if we hit some big usage of python 2.4+ it would be worth-while, but static method decorators
don't seem that big of a deal.

--
Douglas Leeder


> -----Original Message-----
> From: maruel at google.com [mailto:maruel at google.com] On Behalf Of Marc-
> Antoine Ruel
> Sent: 09 July 2010 15:06
> To: Douglas Leeder
> Cc: buildbot-devel at lists.sourceforge.net
> Subject: Re: [Buildbot-devel] build-slave python 2.3 compatibility
>
> http://djmitche.github.com/buildbot/docs/0.8.1/Common-
> Requirements.html#Common-Requirements
>
> "Buildbot requires python-2.4 or later."
>
> Le 9 juillet 2010 08:47, Douglas Leeder <douglas.leeder at sophos.com> a
> écrit :
> > build-slave 0.8.1 needs the following patch to be python 2.3
> compatible:
> >
> > --- buildslave/commands/base.py 2010-07-07 06:46:01.000000000 +0100
> > +++ /usr/lib/python2.3/site-packages/buildslave/commands/base.py
> > 2010-07-25 16:53:59.000000000 +0100
> > @@ -60,14 +60,13 @@
> >      def __repr__(self):
> >          return `self.fake`
> >
> > -    @staticmethod
> >      def to_text(s):
> >          if isinstance(s, (str, unicode)):
> >              return s
> >          else:
> >              return str(s)
> > +    to_text=static_method(to_text)
> >
> > -    @staticmethod
> >      def get_real(command):
> >          rv = command
> >          if type(command) == types.ListType:
> > @@ -78,8 +77,8 @@
> >                  else:
> >                      rv.append(Obfuscated.to_text(elt))
> >          return rv
> > +    get_real=static_method(get_real)
> >
> > -    @staticmethod
> >      def get_fake(command):
> >          rv = command
> >          if type(command) == types.ListType:
> > @@ -90,6 +89,7 @@
> >                  else:
> >                      rv.append(Obfuscated.to_text(elt))
> >          return rv
> > +    get_fake=static_method(get_fake)
> >
> >  class AbandonChain(Exception):
> >      """A series of chained steps can raise this exception to
> indicate that
> >
> > --
> > Douglas Leeder, Senior Software Engineer
> >
> > Sophos Plc, The Pentagon, Abingdon Science Park, Abingdon, OX14 3YP,
> United Kingdom.
> > Company Reg No 2096520. VAT Reg No GB 348 3873 20.
> >
> > ---------------------------------------------------------------------
> ---------
> > This SF.net email is sponsored by Sprint
> > What will you do first with EVO, the first 4G phone?
> > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
> > _______________________________________________
> > Buildbot-devel mailing list
> > Buildbot-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/buildbot-devel
> >

Sophos Plc, The Pentagon, Abingdon Science Park, Abingdon, OX14 3YP, United Kingdom.
Company Reg No 2096520. VAT Reg No GB 348 3873 20.


More information about the devel mailing list