# HG changeset patch # User osimons # Date 1251191366 0 # Node ID cc1fefd5d8143de8bdf799484573ee370ded9f26 # Parent 166e1d272623c58871e912455f7d2b89bdbf4b4a 0.6dev: Moved a constant declaration so that master should still work with Python 2.4. Updated docs with regards to Python requirements + added a changelog message from cmlenz. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,8 @@ (?, from 0.6.x branch) http://svn.edgewall.org/repos/bitten/tags/0.6.0 - * Python 2.4 is now required. + * Python 2.4 is now required for slave, while master should still work using + Python 2.3 (as is also Trac 0.11 minimum). * Switch to using HTTP for communication between the build master and build slaves. This means the `build-master` executable is no longer needed or installed, the build simply runs in the scope of the Trac site. @@ -12,6 +13,8 @@ instructions in the build recipe. * Many fixes for compatibility with more recent versions of Trac, and Bitten now requires Trac 0.11. + * The administration interface is now properly integrated with the Trac web + administration component. * Unicode (non-ascii) support for recipes and command-line input and output. * Improved authentication support in bitten-slave, including support for the popular AccountManager plugin. diff --git a/README.txt b/README.txt --- a/README.txt +++ b/README.txt @@ -23,7 +23,8 @@ ------------ Bitten is written in Python, so make sure that you have Python installed. -You'll need Python 2.4 or later. Also, make sure that setuptools +You'll need Python 2.4 or later for running build slave, while the Trac plugin +(master) should still work using Python 2.3. Also, make sure that setuptools (http://peak.telecommunity.com/DevCenter/setuptools), version 0.6a2 or later, is installed. diff --git a/bitten/__init__.py b/bitten/__init__.py --- a/bitten/__init__.py +++ b/bitten/__init__.py @@ -17,3 +17,6 @@ 'Bitten-Slave').version except: pass + +# The master-slave protocol/configuration version +PROTOCOL_VERSION = 2 diff --git a/bitten/master.py b/bitten/master.py --- a/bitten/master.py +++ b/bitten/master.py @@ -21,13 +21,13 @@ from trac.resource import ResourceNotFound from trac.web import IRequestHandler, RequestDone +from bitten import PROTOCOL_VERSION from bitten.model import BuildConfig, Build, BuildStep, BuildLog, Report, \ TargetPlatform from bitten.main import BuildSystem from bitten.queue import BuildQueue from bitten.recipe import Recipe -from bitten.slave import PROTOCOL_VERSION from bitten.util import xmlio __all__ = ['BuildMaster'] diff --git a/bitten/slave.py b/bitten/slave.py --- a/bitten/slave.py +++ b/bitten/slave.py @@ -10,9 +10,6 @@ """Implementation of the build slave.""" -import sys -assert sys.version_info[:2] >= (2,4), "Python 2.4 required." - from datetime import datetime import errno import urllib @@ -22,19 +19,18 @@ import platform import shutil import socket +import sys import tempfile import time import re import cookielib +from bitten import PROTOCOL_VERSION from bitten.build import BuildError from bitten.build.config import Configuration from bitten.recipe import Recipe from bitten.util import xmlio -# The master-slave protocol/configuration version -PROTOCOL_VERSION = 2 - EX_OK = getattr(os, "EX_OK", 0) EX_UNAVAILABLE = getattr(os, "EX_UNAVAILABLE", 69) EX_PROTOCOL = getattr(os, "EX_PROTOCOL", 76) diff --git a/bitten/tests/master.py b/bitten/tests/master.py --- a/bitten/tests/master.py +++ b/bitten/tests/master.py @@ -26,7 +26,7 @@ from bitten.master import BuildMaster from bitten.model import BuildConfig, TargetPlatform, Build, BuildStep, \ BuildLog, Report, schema -from bitten.slave import PROTOCOL_VERSION +from bitten import PROTOCOL_VERSION class BuildMasterTestCase(unittest.TestCase): diff --git a/doc/install.txt b/doc/install.txt --- a/doc/install.txt +++ b/doc/install.txt @@ -13,8 +13,9 @@ ============= Bitten is written in Python, so make sure that you have Python installed. -You'll need Python 2.4 or later. Also, make sure that setuptools_, version 0.6a2 -or later, is installed. +You'll need Python 2.4 or later for running build slave, while the Trac plugin +(master) should still work using Python 2.3. Also, make sure that setuptools_, +version 0.6a2 or later, is installed. .. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools