[Checkins] SVN: zope.wineggbuilder/trunk/ Moved to GitHub.

Stephen Richter cvs-admin at zope.org
Tue Mar 5 14:43:10 UTC 2013


Log message for revision 130031:
  Moved to GitHub.

Changed:
  D   zope.wineggbuilder/trunk/CHANGES.txt
  D   zope.wineggbuilder/trunk/COPYRIGHT.txt
  D   zope.wineggbuilder/trunk/LICENSE.txt
  A   zope.wineggbuilder/trunk/MOVED_TO_GITHUB
  D   zope.wineggbuilder/trunk/README.txt
  D   zope.wineggbuilder/trunk/TODO.txt
  D   zope.wineggbuilder/trunk/bootstrap.py
  D   zope.wineggbuilder/trunk/buildout.cfg
  D   zope.wineggbuilder/trunk/image.py
  D   zope.wineggbuilder/trunk/master.cfg
  D   zope.wineggbuilder/trunk/project-list.cfg
  D   zope.wineggbuilder/trunk/rackspace.ini
  D   zope.wineggbuilder/trunk/setup.py
  D   zope.wineggbuilder/trunk/src/
  D   zope.wineggbuilder/trunk/status_image_exception.png
  D   zope.wineggbuilder/trunk/status_image_failure.png
  D   zope.wineggbuilder/trunk/status_image_skipped.png
  D   zope.wineggbuilder/trunk/status_image_success.png
  D   zope.wineggbuilder/trunk/status_image_warnings.png

-=-
Deleted: zope.wineggbuilder/trunk/CHANGES.txt
===================================================================
--- zope.wineggbuilder/trunk/CHANGES.txt	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/CHANGES.txt	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,7 +0,0 @@
-CHANGES
-=======
-
-0.1.0 (unreleased)
-------------------
-
-- Initial release.

Deleted: zope.wineggbuilder/trunk/COPYRIGHT.txt
===================================================================
--- zope.wineggbuilder/trunk/COPYRIGHT.txt	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/COPYRIGHT.txt	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1 +0,0 @@
-Zope Foundation and Contributors
\ No newline at end of file

Deleted: zope.wineggbuilder/trunk/LICENSE.txt
===================================================================
--- zope.wineggbuilder/trunk/LICENSE.txt	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/LICENSE.txt	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,44 +0,0 @@
-Zope Public License (ZPL) Version 2.1
-
-A copyright notice accompanies this license document that identifies the
-copyright holders.
-
-This license has been certified as open source. It has also been designated as
-GPL compatible by the Free Software Foundation (FSF).
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions in source code must retain the accompanying copyright
-notice, this list of conditions, and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the accompanying copyright
-notice, this list of conditions, and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-3. Names of the copyright holders must not be used to endorse or promote
-products derived from this software without prior written permission from the
-copyright holders.
-
-4. The right to distribute this software or to use it for any purpose does not
-give you the right to use Servicemarks (sm) or Trademarks (tm) of the
-copyright
-holders. Use of them is covered by separate agreement with the copyright
-holders.
-
-5. If any files are modified, you must cause the modified files to carry
-prominent notices stating that you changed the files and the date of any
-change.
-
-Disclaimer
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: zope.wineggbuilder/trunk/MOVED_TO_GITHUB
===================================================================
--- zope.wineggbuilder/trunk/MOVED_TO_GITHUB	                        (rev 0)
+++ zope.wineggbuilder/trunk/MOVED_TO_GITHUB	2013-03-05 14:43:09 UTC (rev 130031)
@@ -0,0 +1 @@
+See https://github.com/zopefoundation/zope.wineggbuilder
\ No newline at end of file

Deleted: zope.wineggbuilder/trunk/README.txt
===================================================================
--- zope.wineggbuilder/trunk/README.txt	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/README.txt	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,4 +0,0 @@
-A set of tools for managing windows binary egg building.
-
-Detailed documentation at:
-http://docs.zope.org/zopetoolkit/process/winbotsetup.html
\ No newline at end of file

Deleted: zope.wineggbuilder/trunk/TODO.txt
===================================================================
--- zope.wineggbuilder/trunk/TODO.txt	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/TODO.txt	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,2 +0,0 @@
-TODOs:
-

Deleted: zope.wineggbuilder/trunk/bootstrap.py
===================================================================
--- zope.wineggbuilder/trunk/bootstrap.py	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/bootstrap.py	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,277 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bootstrap a buildout-based project
-
-Simply run this script in a directory containing a buildout.cfg.
-The script accepts buildout command-line options, so you can
-use the -c option to specify an alternate configuration file.
-"""
-
-import os, shutil, sys, tempfile, urllib, urllib2, subprocess
-from optparse import OptionParser
-
-if sys.platform == 'win32':
-    def quote(c):
-        if ' ' in c:
-            return '"%s"' % c  # work around spawn lamosity on windows
-        else:
-            return c
-else:
-    quote = str
-
-# See zc.buildout.easy_install._has_broken_dash_S for motivation and comments.
-stdout, stderr = subprocess.Popen(
-    [sys.executable, '-Sc',
-     'try:\n'
-     '    import ConfigParser\n'
-     'except ImportError:\n'
-     '    print 1\n'
-     'else:\n'
-     '    print 0\n'],
-    stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
-has_broken_dash_S = bool(int(stdout.strip()))
-
-# In order to be more robust in the face of system Pythons, we want to
-# run without site-packages loaded.  This is somewhat tricky, in
-# particular because Python 2.6's distutils imports site, so starting
-# with the -S flag is not sufficient.  However, we'll start with that:
-if not has_broken_dash_S and 'site' in sys.modules:
-    # We will restart with python -S.
-    args = sys.argv[:]
-    args[0:0] = [sys.executable, '-S']
-    args = map(quote, args)
-    os.execv(sys.executable, args)
-# Now we are running with -S.  We'll get the clean sys.path, import site
-# because distutils will do it later, and then reset the path and clean
-# out any namespace packages from site-packages that might have been
-# loaded by .pth files.
-clean_path = sys.path[:]
-import site  # imported because of its side effects
-sys.path[:] = clean_path
-for k, v in sys.modules.items():
-    if k in ('setuptools', 'pkg_resources') or (
-        hasattr(v, '__path__') and
-        len(v.__path__) == 1 and
-        not os.path.exists(os.path.join(v.__path__[0], '__init__.py'))):
-        # This is a namespace package.  Remove it.
-        sys.modules.pop(k)
-
-is_jython = sys.platform.startswith('java')
-
-setuptools_source = 'http://peak.telecommunity.com/dist/ez_setup.py'
-distribute_source = 'http://python-distribute.org/distribute_setup.py'
-
-
-# parsing arguments
-def normalize_to_url(option, opt_str, value, parser):
-    if value:
-        if '://' not in value:  # It doesn't smell like a URL.
-            value = 'file://%s' % (
-                urllib.pathname2url(
-                    os.path.abspath(os.path.expanduser(value))),)
-        if opt_str == '--download-base' and not value.endswith('/'):
-            # Download base needs a trailing slash to make the world happy.
-            value += '/'
-    else:
-        value = None
-    name = opt_str[2:].replace('-', '_')
-    setattr(parser.values, name, value)
-
-usage = '''\
-[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
-
-Bootstraps a buildout-based project.
-
-Simply run this script in a directory containing a buildout.cfg, using the
-Python that you want bin/buildout to use.
-
-Note that by using --setup-source and --download-base to point to
-local resources, you can keep this script from going over the network.
-'''
-
-parser = OptionParser(usage=usage)
-parser.add_option("-v", "--version", dest="version",
-                          help="use a specific zc.buildout version")
-parser.add_option("-d", "--distribute",
-                   action="store_true", dest="use_distribute", default=False,
-                   help="Use Distribute rather than Setuptools.")
-parser.add_option("--setup-source", action="callback", dest="setup_source",
-                  callback=normalize_to_url, nargs=1, type="string",
-                  help=("Specify a URL or file location for the setup file. "
-                        "If you use Setuptools, this will default to " +
-                        setuptools_source + "; if you use Distribute, this "
-                        "will default to " + distribute_source + "."))
-parser.add_option("--download-base", action="callback", dest="download_base",
-                  callback=normalize_to_url, nargs=1, type="string",
-                  help=("Specify a URL or directory for downloading "
-                        "zc.buildout and either Setuptools or Distribute. "
-                        "Defaults to PyPI."))
-parser.add_option("--eggs",
-                  help=("Specify a directory for storing eggs.  Defaults to "
-                        "a temporary directory that is deleted when the "
-                        "bootstrap script completes."))
-parser.add_option("-t", "--accept-buildout-test-releases",
-                  dest='accept_buildout_test_releases',
-                  action="store_true", default=False,
-                  help=("Normally, if you do not specify a --version, the "
-                        "bootstrap script and buildout gets the newest "
-                        "*final* versions of zc.buildout and its recipes and "
-                        "extensions for you.  If you use this flag, "
-                        "bootstrap and buildout will get the newest releases "
-                        "even if they are alphas or betas."))
-parser.add_option("-c", None, action="store", dest="config_file",
-                   help=("Specify the path to the buildout configuration "
-                         "file to be used."))
-
-options, args = parser.parse_args()
-
-if options.eggs:
-    eggs_dir = os.path.abspath(os.path.expanduser(options.eggs))
-else:
-    eggs_dir = tempfile.mkdtemp()
-
-if options.setup_source is None:
-    if options.use_distribute:
-        options.setup_source = distribute_source
-    else:
-        options.setup_source = setuptools_source
-
-if options.accept_buildout_test_releases:
-    args.insert(0, 'buildout:accept-buildout-test-releases=true')
-
-try:
-    import pkg_resources
-    import setuptools  # A flag.  Sometimes pkg_resources is installed alone.
-    if not hasattr(pkg_resources, '_distribute'):
-        raise ImportError
-except ImportError:
-    ez_code = urllib2.urlopen(
-        options.setup_source).read().replace('\r\n', '\n')
-    ez = {}
-    exec ez_code in ez
-    setup_args = dict(to_dir=eggs_dir, download_delay=0)
-    if options.download_base:
-        setup_args['download_base'] = options.download_base
-    if options.use_distribute:
-        setup_args['no_fake'] = True
-        if sys.version_info[:2] == (2, 4):
-            setup_args['version'] = '0.6.32'
-    ez['use_setuptools'](**setup_args)
-    if 'pkg_resources' in sys.modules:
-        reload(sys.modules['pkg_resources'])
-    import pkg_resources
-    # This does not (always?) update the default working set.  We will
-    # do it.
-    for path in sys.path:
-        if path not in pkg_resources.working_set.entries:
-            pkg_resources.working_set.add_entry(path)
-
-cmd = [quote(sys.executable),
-       '-c',
-       quote('from setuptools.command.easy_install import main; main()'),
-       '-mqNxd',
-       quote(eggs_dir)]
-
-if not has_broken_dash_S:
-    cmd.insert(1, '-S')
-
-find_links = options.download_base
-if not find_links:
-    find_links = os.environ.get('bootstrap-testing-find-links')
-if not find_links and options.accept_buildout_test_releases:
-    find_links = 'http://downloads.buildout.org/'
-if find_links:
-    cmd.extend(['-f', quote(find_links)])
-
-if options.use_distribute:
-    setup_requirement = 'distribute'
-else:
-    setup_requirement = 'setuptools'
-ws = pkg_resources.working_set
-setup_requirement_path = ws.find(
-    pkg_resources.Requirement.parse(setup_requirement)).location
-env = dict(
-    os.environ,
-    PYTHONPATH=setup_requirement_path)
-
-requirement = 'zc.buildout'
-version = options.version
-if version is None and not options.accept_buildout_test_releases:
-    # Figure out the most recent final version of zc.buildout.
-    import setuptools.package_index
-    _final_parts = '*final-', '*final'
-
-    def _final_version(parsed_version):
-        for part in parsed_version:
-            if (part[:1] == '*') and (part not in _final_parts):
-                return False
-        return True
-    index = setuptools.package_index.PackageIndex(
-        search_path=[setup_requirement_path])
-    if find_links:
-        index.add_find_links((find_links,))
-    req = pkg_resources.Requirement.parse(requirement)
-    if index.obtain(req) is not None:
-        best = []
-        bestv = None
-        for dist in index[req.project_name]:
-            distv = dist.parsed_version
-            if distv >= pkg_resources.parse_version('2dev'):
-                continue
-            if _final_version(distv):
-                if bestv is None or distv > bestv:
-                    best = [dist]
-                    bestv = distv
-                elif distv == bestv:
-                    best.append(dist)
-        if best:
-            best.sort()
-            version = best[-1].version
-
-if version:
-    requirement += '=='+version
-else:
-    requirement += '<2dev'
-
-cmd.append(requirement)
-
-if is_jython:
-    import subprocess
-    exitcode = subprocess.Popen(cmd, env=env).wait()
-else:  # Windows prefers this, apparently; otherwise we would prefer subprocess
-    exitcode = os.spawnle(*([os.P_WAIT, sys.executable] + cmd + [env]))
-if exitcode != 0:
-    sys.stdout.flush()
-    sys.stderr.flush()
-    print ("An error occurred when trying to install zc.buildout. "
-           "Look above this message for any errors that "
-           "were output by easy_install.")
-    sys.exit(exitcode)
-
-ws.add_entry(eggs_dir)
-ws.require(requirement)
-import zc.buildout.buildout
-
-# If there isn't already a command in the args, add bootstrap
-if not [a for a in args if '=' not in a]:
-    args.append('bootstrap')
-
-
-# if -c was provided, we push it back into args for buildout's main function
-if options.config_file is not None:
-    args[0:0] = ['-c', options.config_file]
-
-zc.buildout.buildout.main(args)
-if not options.eggs:  # clean up temporary egg directory
-    shutil.rmtree(eggs_dir)

Deleted: zope.wineggbuilder/trunk/buildout.cfg
===================================================================
--- zope.wineggbuilder/trunk/buildout.cfg	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/buildout.cfg	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,34 +0,0 @@
-[buildout]
-extends = http://download.zope.org/zope3.4/3.4.0/versions.cfg
-develop = .
-parts = scripts python test coverage-test coverage-report
-versions = versions
-
-[versions]
-setuptools = 0.6c11
-BeautifulSoup = 3.2.0
-zc.buildout = 1.3.1
-
-[test]
-recipe = zc.recipe.testrunner
-eggs = zope.wineggbuilder [test]
-
-[coverage-test]
-recipe = zc.recipe.testrunner
-eggs = zope.wineggbuilder [test]
-defaults = ['--coverage', '../../coverage']
-
-[coverage-report]
-recipe = zc.recipe.egg
-eggs = z3c.coverage
-scripts = coverage=coverage-report
-arguments = ('coverage', 'coverage/report')
-
-[python]
-recipe = zc.recipe.egg
-interpreter = python
-eggs = zope.wineggbuilder
-
-[scripts]
-recipe = zc.recipe.egg
-eggs = zope.wineggbuilder

Deleted: zope.wineggbuilder/trunk/image.py
===================================================================
--- zope.wineggbuilder/trunk/image.py	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/image.py	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,66 +0,0 @@
-# this is a snippet ready to be pasted into master.cfg
-# then you can get the image by:
-# http://localhost:8010/buildstatusimage?builder=runtests&number=-1
-
-import os
-from buildbot.status import html
-try:
-    # buildbot 0.8.7p1
-    from buildbot.status.results import SUCCESS, WARNINGS, FAILURE, SKIPPED, EXCEPTION
-    from buildbot.status.results import Results
-except ImportError:
-    # buildbot 0.8.0
-    from buildbot.status.builder import SUCCESS, WARNINGS, FAILURE, EXCEPTION, RETRY
-    from buildbot.status.builder import Results
-from buildbot.status.web.base import HtmlResource
-
-class BuildStatusImageResource(HtmlResource):
-    contentType = "image/png"
-
-    def __init__(self, categories=None):
-        HtmlResource.__init__(self)
-
-    def content(self, request, ctx):
-        """Display a build status image like Travis does."""
-
-        status = self.getStatus(request)
-        request.setHeader('Cache-Control', 'no-cache')
-
-        # Get the parameters.
-        name = request.args.get("builder", [None])[0]
-        number = request.args.get("number", [None])[0]
-        if not name or not number:
-            return "builder and number parameter missing"
-        number = int(number)
-
-        # Check if the builder in parameter exists.
-        try:
-            builder = status.getBuilder(name)
-        except:
-            return "unknown builder"
-
-        # Check if the build in parameter exists.
-        build = builder.getBuild(int(number))
-        if not build:
-            return "unknown build %s" % number
-
-        #SUCCESS, WARNINGS, FAILURE, SKIPPED or EXCEPTION
-        res = build.getResults()
-        resname = Results[res]
-
-        img = 'status_image_%s.png' % resname
-        here = os.path.dirname(__file__)
-        imgfile = os.path.join(here, img)
-
-        imgcontent = open(imgfile, 'rb').read()
-
-        return imgcontent
-
-class WebStatus(html.WebStatus):
-    def setupUsualPages(self, numbuilds, num_events, num_events_max):
-        html.WebStatus.setupUsualPages(self, numbuilds, num_events, num_events_max)
-        self.putChild("buildstatusimage", BuildStatusImageResource())
-
-
-# and use the WebStatus defined above instead of buildbot's
-#c['status'].append(WebStatus(http_port=8010))

Deleted: zope.wineggbuilder/trunk/master.cfg
===================================================================
--- zope.wineggbuilder/trunk/master.cfg	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/master.cfg	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,1371 +0,0 @@
-# -*- python -*-
-# ex: set syntax=python:
-
-import re
-import time
-import sys
-import os.path
-import subprocess
-from twisted.python import log
-from twisted.internet import reactor
-
-from buildbot import locks
-
-from buildbot.changes.svnpoller import SVNPoller, split_file_branches
-from buildbot.steps import source
-from buildbot.steps import shell
-from buildbot.process import factory
-
-from buildbot.process.base import Build
-from buildbot.status import html
-from buildbot.scheduler import Scheduler, Nightly, Triggerable, Periodic
-from buildbot.steps.trigger import Trigger
-
-import image
-
-is_win32 = sys.platform == 'win32'
-
-# This is a sample buildmaster config file. It must be installed as
-# 'master.cfg' in your buildmaster's base directory (although the filename
-# can be changed with the --basedir option to 'mktap buildbot master').
-
-# It has one job: define a dictionary named BuildmasterConfig. This
-# dictionary has a variety of keys to control different aspects of the
-# buildmaster. They are documented in docs/config.xhtml .
-
-
-# This is the dictionary that the buildmaster pays attention to. We also use
-# a shorter alias to save typing.
-c = BuildmasterConfig = {}
-
-####### DB URL
-
-# This specifies what database buildbot uses to store change and scheduler
-# state
-c['db_url'] = "sqlite:///state.sqlite"
-
-####### BUILDSLAVES
-
-# the 'slaves' list defines the set of allowable buildslaves. Each element is
-# a BuildSlave object, which is created with bot-name, bot-password.  These
-# correspond to values given to the buildslave's mktap invocation.
-from buildbot.buildslave import BuildSlave
-c['slaves'] = [BuildSlave("local", "localpwd", max_builds=2)]
-
-# to limit to two concurrent builds on a slave, use
-#  c['slaves'] = [BuildSlave("bot1name", "bot1passwd", max_builds=2)]
-
-FROMADDR = 'buildbot at winbot.zope.org'
-
-######################################
-# Custom helper classes
-
-class SVN(source.SVN):
-
-    show_revno = False # the LastChange step does it better
-
-    def createSummary(self, log):
-        log_text = log.getText()
-        if self.show_revno:
-            revno = self.extractRevno(log_text)
-            if revno:
-                self.descriptionDone = self.descriptionDone + ['r%s' % revno]
-
-    def extractRevno(self, log_text):
-        try:
-            start_idx = log_text.rindex('At revision')
-            end_idx = log_text.find('\n', start_idx)
-        except ValueError:
-            return None
-        line = log_text[start_idx:end_idx]
-        try:
-            return re.findall('([0-9]+)', line)[0]
-        except IndexError:
-            return None
-
-
-class Git(source.Git):
-    show_revno = False # the LastChange step does it better
-
-
-class Mercurial(source.Mercurial):
-    pass
-    #show_revno = False # the LastChange step does it better
-
-
-class LastChange(shell.ShellCommand):
-
-    command = ['svn', 'log', '--limit', '1']
-    name = 'svn-last-change'
-    description = ['svn log --limit 1']
-    descriptionDone = ['last change']
-
-    # xxx hardcoded
-    url_template = 'http://zope3.pov.lt/trac/log/zope.release?rev=%s'
-
-    def createSummary(self, log):
-        log_text = log.getText()
-        revno = self.extractRevno(log_text)
-        if revno:
-            text = self.formatRevno(revno)
-            self.descriptionDone = self.descriptionDone + [text]
-
-    def formatRevno(self, revno):
-        text = 'r%s' % revno
-        if self.url_template:
-            url = self.url_template % revno
-            text = '<a class="revlink" href="%s">%s</a>' % (url, text)
-        return text
-
-    def extractRevno(self, log_text):
-        for line in log_text.splitlines():
-            if line.startswith('r'):
-                return line.split()[0][1:]
-        return None
-
-
-class LastChangeGit(shell.ShellCommand):
-
-    command = ['git', 'log', '-1']
-    name = 'git-last-change'
-    description = ['git log -1']
-    descriptionDone = ['last change']
-
-    # xxx hardcoded
-    url_template = 'https://github.com/buildout/buildout/commit/%s'
-
-    def createSummary(self, log):
-        log_text = log.getText()
-        revno = self.extractRevno(log_text)
-        if revno:
-            text = self.formatRevno(revno)
-            self.descriptionDone = self.descriptionDone + [text]
-
-    def formatRevno(self, revno):
-        text = revno
-        if self.url_template:
-            url = self.url_template % revno
-            text = '<a class="revlink" href="%s">%s</a>' % (url, text)
-        return text
-
-    def extractRevno(self, log_text):
-        for line in log_text.splitlines():
-            if line.startswith('commit '):
-                return line.split()[1]
-        return None
-
-
-class SVNInfo(shell.ShellCommand):
-
-    command = ['svn', 'info']
-    name = 'svn-info'
-    description = ['svn info']
-    descriptionDone = ['svn info']
-
-
-class Test(shell.Test):
-
-    started = None
-    stopped = None
-
-    tick_every = 10 # seconds
-
-    def __init__(self, *args, **kw):
-        shell.Test.__init__(self, *args, **kw)
-        if 'name' in args:
-            self.name = args['name']
-
-    def start(self):
-        shell.Test.start(self)
-        self.started = time.time()
-        reactor.callLater(self.tick_every, self.tick)
-
-    def finished(self, results):
-        if not self.stopped:
-            self.stopped = time.time()
-        shell.Test.finished(self, results)
-
-    def tick(self):
-        if not self.stopped:
-            self.step_status.setText(self.describe(False))
-            reactor.callLater(self.tick_every, self.tick)
-
-    def describe(self, done=False):
-        description = [self.name]
-        if not done and self.started:
-            running = time.time() - self.started
-            description = [self.name, self.formatTime(running)]
-        return description
-
-    def createSummary(self, log):
-        if not self.started:
-            # just in case something async happens
-            self.started = time.time()
-        self.stopped = time.time()
-        log_text = log.getText()
-        totals = self.extractTotals(log_text)
-        if totals:
-            self.descriptionDone = self.descriptionDone + [totals]
-        # the test runner lies about the time
-        ## time_info = self.extractTime(log_text)
-        time_info = self.formatTime(self.stopped - self.started)
-        if time_info:
-            self.descriptionDone = self.descriptionDone + [time_info]
-        summary = self.extractSummary(log_text)
-        if summary:
-            self.addCompleteLog('summary', summary)
-
-    def formatTime(self, seconds):
-        return '%dm%02ds' % divmod(seconds, 60)
-
-    def extractTotalsLine(self, log_text):
-        try:
-            start_idx = log_text.rindex('Total:')
-            end_idx = log_text.find('\n', start_idx)
-        except ValueError:
-            return None
-        return log_text[start_idx:end_idx]
-
-    def extractTotals(self, log_text):
-        totals_line = self.extractTotalsLine(log_text)
-        if not totals_line:
-            return None
-        # Total: X tests, X failures, X errors in X minutes X.Y seconds.
-        ntests, nfail, nerr = re.findall('([0-9.]+)', totals_line)[:3]
-        return '%s/%s/%s' % (ntests, nfail, nerr)
-
-    def extractTime(self, log_text):
-        totals_line = self.extractTotalsLine(log_text)
-        if not totals_line:
-            return None
-        # Total: X tests, X failures, X errors in [X minutes] X.Y seconds.
-        time = totals_line.split(' in ')[-1]
-        time = time.replace(' minutes ', 'm')
-        time = time.replace(' seconds.', 's')
-        time = re.sub('[.][0-9]+s', 's', time)
-        return time
-
-    def extractSummary(self, log_text):
-        summary_idx = len(log_text)
-        for interesting in ['Tests with errors:',
-                            'Tests with failures:',
-                            'Total:']:
-            try:
-                summary_idx = min(summary_idx,
-                                  log_text.rindex('Tests with errors:'))
-            except ValueError:
-                pass
-        return log_text[summary_idx:]
-
-# Custom helper classes
-######################################
-
-######################################
-# cleanup
-
-def makeCleanfactory():
-
-    f = factory.BuildFactory()
-
-    f.addStep(shell.ShellCommand(
-              command=r'python c:\buildmaster\cleanfolder.py c:\temp',
-              haltOnFailure=True,
-              name="clean temp",
-              description="clean temp"))
-
-    f.treeStableTimer = 300
-    return f
-
-def setupCleanupBuild(slow_lock, hour=01, minute=01):
-    c['builders'].append({
-        'name': 'cleanup',
-        'slavename': 'local',
-        'builddir': 'cleanup',
-        'factory': makeCleanfactory(),
-        'locks': [slow_lock],
-    })
-
-    c['schedulers'].append(Nightly(
-                "Nightly cleanup", ['cleanup'], hour=hour, minute=minute,
-                branch="trunk"))
-
-# cleanup
-######################################
-
-######################################
-# egg building
-
-def makeEGGfactory():
-    svn_url = 'svn://svn.zope.org/repos/main/zope.wineggbuilder/trunk'
-
-    f = factory.BuildFactory()
-    f.addStep(source.SVN(svnurl=svn_url, mode='clobber'))
-
-
-    f.addStep(shell.Compile(name='bootstrap',
-                command='python bootstrap.py',
-                description=['bootstrapping'],
-                descriptionDone=['bootstrap']))
-
-    f.addStep(shell.Compile(name="buildout",
-                command="bin\\buildout.exe",
-                description=['buildout'],
-                descriptionDone=['buildout']))
-
-    f.addStep(shell.Compile(name="release eggs",
-                command="bin\\build.exe -s rackspace.ini",
-                description=['releasing eggs'],
-                descriptionDone=['release eggs'],
-                timeout=12000))
-
-    f.treeStableTimer = 300
-    return f
-
-def setupEggBuild(slow_lock):
-    c['builders'].append({
-        'name': 'wineggbuilder',
-        'slavename': 'local',
-        'builddir': 'wineggbuilder',
-        'factory': makeEGGfactory(),
-        'locks': [slow_lock],
-    })
-
-    #c['schedulers'].append(Nightly(
-    #            "Nightly egg build", ['wineggbuilder'], hour=01, minute=10,
-    #            branch="trunk"))
-
-    c['schedulers'].append(Periodic(
-                "Periodic egg build", ['wineggbuilder'], periodicBuildTimer=1800,
-                branch="trunk"))
-
-# egg building
-######################################
-
-
-######################################
-# platform definitions
-class Platform(object):
-    python = ''
-    name = ''
-    title = ''
-    withcompiler = ''
-
-    def __init__(self, **kw):
-        for k, v in kw.items():
-            setattr(self, k, v)
-
-        self.bits = int(self.name[-2:])
-        self.majorVersion = self.title[7:10]
-
-PLATFORMS = dict(
-    py_244_win32=Platform(
-        name='py_244_win32',
-        title='Python 2.4.4 win32',
-        python=r'c:\Python24_32\python.exe',
-        withcompiler=r'cmd /c c:\Python24_32\setupcompilerandexecute.bat %s'),
-    py_254_win32=Platform(
-        name='py_254_win32',
-        title='Python 2.5.4 win32',
-        python=r'c:\Python25_32\python.exe',
-        withcompiler=r'cmd /c c:\Python25_32\setupcompilerandexecute.bat %s'),
-    py_265_win32=Platform(
-        name='py_265_win32',
-        title='Python 2.6.5 win32',
-        python=r'c:\Python26_32\python.exe',
-        withcompiler=r'cmd /c c:\Python26_32\setupcompilerandexecute.bat %s'),
-    py_265_win64=Platform(
-        name='py_265_win64',
-        title='Python 2.6.5 win64',
-        python=r'c:\Python26_64\python.exe',
-        withcompiler=r'cmd /c c:\Python26_64\setupcompilerandexecute.bat %s'),
-    py_270_win32=Platform(
-        name='py_270_win32',
-        title='Python 2.7.0 win32',
-        python=r'c:\Python27_32\python.exe',
-        withcompiler=r'cmd /c c:\Python27_32\setupcompilerandexecute.bat %s'),
-    py_270_win64=Platform(
-        name='py_270_win64',
-        title='Python 2.7.0 win64',
-        python=r'c:\Python27_64\python.exe',
-        withcompiler=r'cmd /c c:\Python27_64\setupcompilerandexecute.bat %s'),
-)
-
-PLATFORMS_3 = dict(
-    py_323_win32=Platform(
-        name='py_323_win32',
-        title='Python 3.2.3 win32',
-        python=r'c:\Python32_32\python.exe',
-        withcompiler=r'cmd /c c:\Python32_32\setupcompilerandexecute.bat %s'),
-    py_323_win64=Platform(
-        name='py_323_win64',
-        title='Python 3.2.3 win64',
-        python=r'c:\Python32_64\python.exe',
-        withcompiler=r'cmd /c c:\Python32_64\setupcompilerandexecute.bat %s'),
-    py_330_win32=Platform(
-        name='py_330_win32',
-        title='Python 3.3.0 win32',
-        python=r'c:\Python33_32\python.exe',
-        withcompiler=r'cmd /c c:\Python33_32\setupcompilerandexecute.bat %s'),
-    py_330_win64=Platform(
-        name='py_330_win64',
-        title='Python 3.3.0 win64',
-        python=r'c:\Python33_64\python.exe',
-        withcompiler=r'cmd /c c:\Python33_64\setupcompilerandexecute.bat %s'),
-)
-
-CLEAN_PLATFORMS = dict(
-    py_244_win32=Platform(
-        name='py_244_win32',
-        title='Python 2.4.4 win32',
-        python=r'c:\Python24_32_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python24_32_clean\setupcompilerandexecute.bat %s'),
-    py_254_win32=Platform(
-        name='py_254_win32',
-        title='Python 2.5.4 win32',
-        python=r'c:\Python25_32_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python25_32_clean\setupcompilerandexecute.bat %s'),
-    py_265_win32=Platform(
-        name='py_265_win32',
-        title='Python 2.6.5 win32',
-        python=r'c:\Python26_32_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python26_32_clean\setupcompilerandexecute.bat %s'),
-    py_265_win64=Platform(
-        name='py_265_win64',
-        title='Python 2.6.5 win64',
-        python=r'c:\Python26_64_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python26_64_clean\setupcompilerandexecute.bat %s'),
-    py_270_win32=Platform(
-        name='py_270_win32',
-        title='Python 2.7.0 win32',
-        python=r'c:\Python27_32_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python27_32_clean\setupcompilerandexecute.bat %s'),
-    py_270_win64=Platform(
-        name='py_270_win64',
-        title='Python 2.7.0 win64',
-        python=r'c:\Python27_64_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python27_64_clean\setupcompilerandexecute.bat %s'),
-)
-
-CLEAN_PLATFORMS_3 = dict(
-    py_323_win32=Platform(
-        name='py_323_win32',
-        title='Python 3.2.3 win32',
-        python=r'c:\Python32_32_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python32_32_clean\setupcompilerandexecute.bat %s'),
-    py_323_win64=Platform(
-        name='py_323_win64',
-        title='Python 3.2.3 win64',
-        python=r'c:\Python32_64_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python32_64_clean\setupcompilerandexecute.bat %s'),
-    py_330_win32=Platform(
-        name='py_330_win32',
-        title='Python 3.3.0 win32',
-        python=r'c:\Python33_33_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python33_33_clean\setupcompilerandexecute.bat %s'),
-    py_330_win64=Platform(
-        name='py_330_win64',
-        title='Python 3.3.0 win64',
-        python=r'c:\Python33_64_clean\python.exe',
-        withcompiler=r'cmd /c c:\Python33_64_clean\setupcompilerandexecute.bat %s'),
-)
-
-# platform definitions
-######################################
-
-######################################
-# ZTK dev/trunk tests
-
-ZTK_DEV_PLATFORMS = PLATFORMS.copy()
-
-del ZTK_DEV_PLATFORMS['py_244_win32']
-del ZTK_DEV_PLATFORMS['py_254_win32']
-del ZTK_DEV_PLATFORMS['py_265_win32']
-del ZTK_DEV_PLATFORMS['py_265_win64']
-del ZTK_DEV_PLATFORMS['py_270_win32']
-del ZTK_DEV_PLATFORMS['py_270_win64']
-
-
-def ztk_dev_builder(name, slavename, platform, locks):
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(SVN(
-              svnurl="svn://svn.zope.org/repos/main/zopetoolkit/trunk",
-              haltOnFailure=True,
-              mode="copy"))
-
-    lc = LastChange()
-    lc.url_template = 'http://zope3.pov.lt/trac/log/zopetoolkit?rev=%s'
-    f.addStep(lc)
-
-    f.addStep(SVNInfo())
-
-    #f.addStep(shell.ShellCommand(
-    #          command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
-    #          haltOnFailure=True,
-    #          name="virtualenv",
-    #          description="virtualenv"))
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, "bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-    f.addStep(shell.ShellCommand(
-              command=["sed", "-i", "s/svn+ssh/svn/", "ztk.cfg"],
-              haltOnFailure=True,
-              name="disable ssh for svn",
-              description="disable ssh for svn"))
-    f.addStep(shell.ShellCommand(
-              command=platform.withcompiler % r"bin\buildout.exe -c development.cfg",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-    f.addStep(shell.ShellCommand(
-              command=["svn", "revert", "ztk.cfg"],
-              haltOnFailure=True,
-              name="revert ztk.cfg",
-              description="revert ztk.cfg"))
-    f.addStep(Test(
-              command=[r"bin\test-ztk.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test ztk",
-              description="test ztk trunks"))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-
-def setupZTK_dev_tests(slow_lock, hour=02, minute=01):
-    #hour = 02
-    #minute = 01
-    builders = []
-    for pname in sorted(ZTK_DEV_PLATFORMS.keys()):
-        platform = ZTK_DEV_PLATFORMS[pname]
-        name = "ztk_dev %s" % platform.name
-        builders.append(name)
-        c['builders'].append(
-            ztk_dev_builder(name, 'local', platform, [slow_lock]))
-
-        c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="all",
-               fromaddr=FROMADDR,
-               extraRecipients=["zope-tests at zope.org"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-# ZTK tests
-######################################
-
-######################################
-# ZTK 1.0 tests
-
-ZTK_10_PLATFORMS = PLATFORMS.copy()
-del ZTK_10_PLATFORMS['py_244_win32']
-del ZTK_10_PLATFORMS['py_270_win32']
-del ZTK_10_PLATFORMS['py_270_win64']
-
-def ztk_10_builder(name, slavename, platform, locks):
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(SVN(
-              svnurl="svn://svn.zope.org/repos/main/zopetoolkit/branches/1.0",
-              haltOnFailure=True,
-              mode="copy"))
-
-    lc = LastChange()
-    lc.url_template = 'http://zope3.pov.lt/trac/log/zopetoolkit?rev=%s'
-    f.addStep(lc)
-
-    f.addStep(SVNInfo())
-
-    #f.addStep(shell.ShellCommand(
-    #          command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
-    #          haltOnFailure=True,
-    #          name="virtualenv",
-    #          description="virtualenv"))
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, "bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-    f.addStep(shell.ShellCommand(
-              command=r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test-ztk.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test ztk",
-              description="test ztk trunks",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test-zopeapp.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test zopeapp trunks",
-              description="test zopeapp",
-              timeout=3600))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-def setupZTK_10_tests(slow_lock, hour=02, minute=10):
-    #hour = 02
-    #minute = 10
-    builders = []
-    for pname in sorted(ZTK_10_PLATFORMS.keys()):
-        platform = ZTK_10_PLATFORMS[pname]
-        name = "ztk_10 %s" % platform.name
-        builders.append(name)
-        c['builders'].append(
-            ztk_10_builder(name, 'local', platform, [slow_lock]))
-
-        c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="all",
-               fromaddr=FROMADDR,
-               extraRecipients=["zope-tests at zope.org"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-# ZTK 1.0 tests
-######################################
-
-######################################
-# ZTK 1.1 tests
-
-ZTK_11_PLATFORMS = PLATFORMS.copy()
-del ZTK_11_PLATFORMS['py_244_win32']
-
-def ztk_11_builder(name, slavename, platform, locks):
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(SVN(
-              svnurl="svn://svn.zope.org/repos/main/zopetoolkit/branches/1.1",
-              haltOnFailure=True,
-              mode="copy"))
-
-    lc = LastChange()
-    lc.url_template = 'http://zope3.pov.lt/trac/log/zopetoolkit?rev=%s'
-    f.addStep(lc)
-
-    f.addStep(SVNInfo())
-
-    #f.addStep(shell.ShellCommand(
-    #          command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
-    #          haltOnFailure=True,
-    #          name="virtualenv",
-    #          description="virtualenv"))
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, "bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-    f.addStep(shell.ShellCommand(
-              command=r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test-ztk.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test ztk",
-              description="test ztk trunks",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test-zopeapp.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test zopeapp trunks",
-              description="test zopeapp",
-              timeout=3600))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-def setupZTK_11_tests(slow_lock, hour=02, minute=10):
-    #hour = 02
-    #minute = 10
-    builders = []
-    for pname in sorted(ZTK_11_PLATFORMS.keys()):
-        platform = ZTK_11_PLATFORMS[pname]
-        name = "ztk_11 %s" % platform.name
-        builders.append(name)
-        c['builders'].append(
-            ztk_11_builder(name, 'local', platform, [slow_lock]))
-
-        c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="all",
-               fromaddr=FROMADDR,
-               extraRecipients=["zope-tests at zope.org"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-# ZTK 1.1 tests
-######################################
-
-######################################
-# zc.buildout
-
-ZC_BUILDOUT_PLATFORMS = CLEAN_PLATFORMS.copy()
-del ZC_BUILDOUT_PLATFORMS['py_244_win32']
-del ZC_BUILDOUT_PLATFORMS['py_254_win32']
-ZC_BUILDOUT_PLATFORMS.update(CLEAN_PLATFORMS_3)
-
-ZC_BUILDOUT_PLATFORMS_1 = CLEAN_PLATFORMS.copy()
-del ZC_BUILDOUT_PLATFORMS_1['py_244_win32']
-
-
-def zc_buildout_dev_builder(name, slavename, platform, locks, branch='HEAD'):
-    # XXX: leave spaces later
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(Git(
-              repourl="git://github.com/buildout/buildout.git",
-              haltOnFailure=True,
-              mode="copy",
-              branch=branch))
-
-    lc = LastChangeGit()
-    #lc.url_template = 'http://zope3.pov.lt/trac/log/zc.buildout?rev=%s'
-    f.addStep(lc)
-
-    #f.addStep(SVNInfo())
-
-    #f.addStep(shell.ShellCommand(
-    #          command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
-    #          haltOnFailure=True,
-    #          name="virtualenv",
-    #          description="virtualenv"))
-
-    #actually bootstrap and buildout in one step
-    cmd = platform.python + " dev.py"
-    f.addStep(shell.ShellCommand(
-              command=cmd,
-              haltOnFailure=True,
-              name="dev.py",
-              description="dev.py"))
-
-    cmd = r"bin\test.exe --exit-with-status -1"
-    cmd = platform.withcompiler % cmd
-    f.addStep(Test(
-              #command=[r"bin\test.exe", "--exit-with-status", "-1"],
-              command=cmd,
-              haltOnFailure=False,
-              name="test",
-              description="test " + branch))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-
-def setup_zc_buildout_dev_tests(slow_lock, hour=02, minute=20, branch='HEAD',
-                                platforms=ZC_BUILDOUT_PLATFORMS):
-    #hour = 02
-    #minute = 20
-    builders = []
-    for pname in sorted(platforms.keys()):
-        platform = platforms[pname]
-        name = "zc_buildout_dev %s %s" % (platform.name, branch)
-        builders.append(name)
-        c['builders'].append(
-            zc_buildout_dev_builder(name, 'local', platform, [slow_lock], branch))
-
-        c['schedulers'].append(
-            Nightly("%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="failing",
-               fromaddr=FROMADDR,
-               extraRecipients=["agroszer at gmail.com"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-    #c['status'].append(
-    #  MailNotifier(mode="all",
-    #           fromaddr=FROMADDR,
-    #           extraRecipients=["zope-tests at zope.org"],
-    #           sendToInterestedUsers=False,
-    #           builders=builders,
-    #           messageFormatter=message_formatter)
-    #           )
-
-
-# zc.buildout
-######################################
-
-######################################
-# distribute
-
-DISTRIBUTE_PLATFORMS = CLEAN_PLATFORMS.copy()
-DISTRIBUTE_PLATFORMS.update(CLEAN_PLATFORMS_3)
-
-
-def distribute_dev_builder(name, slavename, platform, locks):
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(Mercurial(
-              repourl="https://bitbucket.org/tarek/distribute",
-              haltOnFailure=True,
-              mode="copy"))
-
-    # XXX: LastChangeMercurial ???
-    #lc = LastChangeGit()
-    #f.addStep(lc)
-
-    cmd = platform.python + " setup.py test"
-    cmd = platform.withcompiler % cmd
-    f.addStep(Test(
-              #command=[r"bin\test.exe", "--exit-with-status", "-1"],
-              command=cmd,
-              haltOnFailure=False,
-              name="test",
-              description="test"))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-
-def setup_distribute_dev_tests(slow_lock, hour=02, minute=20,
-                               platforms=DISTRIBUTE_PLATFORMS):
-    #hour = 02
-    #minute = 20
-    builders = []
-    for pname in sorted(platforms.keys()):
-        platform = platforms[pname]
-        name = "distribute_dev %s" % (platform.name, )
-        builders.append(name)
-        c['builders'].append(
-            distribute_dev_builder(name, 'local', platform, [slow_lock]))
-
-        c['schedulers'].append(
-            Nightly("%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="all",
-               fromaddr=FROMADDR,
-               extraRecipients=["agroszer at gmail.com"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-
-# distribute
-######################################
-
-######################################
-# BlueBream
-
-def bb_builder(name, slavename, platform, locks):
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(SVN(
-              svnurl="svn://svn.zope.org/repos/main/bluebream/trunk",
-              haltOnFailure=True,
-              mode="copy"))
-
-    lc = LastChange()
-    lc.url_template = 'http://zope3.pov.lt/trac/log/bluebream?rev=%s'
-    f.addStep(lc)
-
-    f.addStep(SVNInfo())
-
-    #f.addStep(shell.ShellCommand(
-    #          command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
-    #          haltOnFailure=True,
-    #          name="virtualenv",
-    #          description="virtualenv"))
-
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, r"bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-    f.addStep(shell.ShellCommand(
-              command=r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test.exe", "-1", "--exit-with-status"]))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-
-def setup_BB_dev_tests(slow_lock, hour=02, minute=30):
-    #hour = 02
-    #minute = 30
-    builders = []
-    for pname in sorted(PLATFORMS.keys()):
-        platform = PLATFORMS[pname]
-        name = "BlueBream_dev %s" % platform.name
-        c['builders'].append(
-            bb_builder(name, 'local', platform, [slow_lock]))
-
-        c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="all",
-               fromaddr=FROMADDR,
-               extraRecipients=["zope-tests at zope.org"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-# BlueBream
-######################################
-
-
-######################################
-# ZODB
-
-ZODB_DEV_PLATFORMS = PLATFORMS.copy()
-if 'py_244_win32' in ZODB_DEV_PLATFORMS:
-    del ZODB_DEV_PLATFORMS['py_244_win32']
-if 'py_254_win32' in ZODB_DEV_PLATFORMS:
-    del ZODB_DEV_PLATFORMS['py_254_win32']
-
-
-def ZODB_dev_builder_svn(name, slavename, platform, locks):
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(SVN(
-              svnurl="svn://svn.zope.org/repos/main/ZODB/trunk",
-              haltOnFailure=True,
-              mode="copy"))
-
-    lc = LastChange()
-    lc.url_template = 'http://zope3.pov.lt/trac/log/ZODB?rev=%s'
-    f.addStep(lc)
-
-    f.addStep(SVNInfo())
-
-    #f.addStep(shell.ShellCommand(
-    #          command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
-    #          haltOnFailure=True,
-    #          name="virtualenv",
-    #          description="virtualenv"))
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, r"c:\buildmaster\bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-    f.addStep(shell.ShellCommand(
-              command=platform.withcompiler % r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test",
-              description="test trunk"))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-
-def ZODB_dev_builder_git(name, slavename, platform, locks):
-    branch = 'HEAD'
-    builddir = name.replace(' ', '_')
-    f = factory.BuildFactory()
-    f.addStep(Git(
-              repourl="git://github.com/zopefoundation/ZODB.git",
-              haltOnFailure=True,
-              mode="copy",
-              branch=branch))
-
-    lc = LastChangeGit()
-    #lc.url_template = 'http://zope3.pov.lt/trac/log/zc.buildout?rev=%s'
-    f.addStep(lc)
-
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, r"c:\buildmaster\bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-    f.addStep(shell.ShellCommand(
-              command=platform.withcompiler % r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-    f.addStep(Test(
-              command=[r"bin\test.exe", "--exit-with-status", "-1"],
-              haltOnFailure=False,
-              name="test",
-              description="test trunk"))
-    return dict(name=name,
-                slavename=slavename,
-                builddir=builddir,
-                factory=f,
-                locks=locks)
-
-
-def setup_ZODB_dev_tests(slow_lock, hour=02, minute=40):
-    #hour = 02
-    #minute = 40
-    builders = []
-    for pname in sorted(ZODB_DEV_PLATFORMS.keys()):
-        platform = ZODB_DEV_PLATFORMS[pname]
-        name = "ZODB_dev %s" % platform.name
-        builders.append(name)
-        c['builders'].append(
-            ZODB_dev_builder_git(name, 'local', platform, [slow_lock]))
-
-        c['schedulers'].append(
-            Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
-        minute += 1
-
-    c['status'].append(
-      MailNotifier(mode="failing",
-               fromaddr=FROMADDR,
-               extraRecipients=["jim at zope.com", "agroszer at gmail.com"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-    c['status'].append(
-      MailNotifier(mode="all",
-               fromaddr=FROMADDR,
-               extraRecipients=["zope-tests at zope.org"],
-               sendToInterestedUsers=False,
-               builders=builders,
-               messageFormatter=message_formatter)
-               )
-
-# ZODB
-######################################
-
-######################################
-# mail status
-from buildbot.status.html import WebStatus
-from buildbot.status.mail import MailNotifier
-from buildbot.status.builder import Results
-
-
-def message_formatter(mode, name, build, results, master_status):
-    """Provide a customized message to BuildBot's MailNotifier.
-    The last 80 lines of the log are provided as well as the changes
-    relevant to the build.
-    """
-    result = Results[results]
-
-    limit_lines = 80
-    text = list()
-
-    # status required by zope-tests list
-    # http://docs.zope.org/zopetoolkit/process/buildbots.html
-    status = 'UNKNOWN'
-    if result == 'success':
-        status = 'OK'
-    if result == 'failure':
-        status = 'FAILED'
-
-    #subject = '%s : %s / %s' % (status, master_status.getProjectName(), name)
-    subject = '%s : %s / %s' % (status, "winbot", name)
-    text.append(subject)
-    text.append("Build: %s" % master_status.getURLForThing(build))
-    text.append('\n')
-    text.append("Build Reason: %s" % build.getReason())
-    text.append('\n')
-
-    source = ""
-    ss = build.getSourceStamp()
-    if ss.branch:
-        source += "[branch %s] " % ss.branch
-    if ss.revision:
-        source +=  ss.revision
-    else:
-        source += "HEAD"
-    if ss.patch:
-        source += " (plus patch)"
-    text.append("Build Source Stamp: %s" % source)
-    text.append('\n')
-    text.append("Blamelist: %s" % ", ".join(build.getResponsibleUsers()))
-    text.append('\n')
-    text.append("Buildbot: %s" % master_status.getBuildbotURL())
-    return {
-        'body': "\n".join(text),
-        'type': 'plain',
-        'subject': subject,
-        }
-
-# mail status
-######################################
-
-######################################
-# stuff taken from gocept.bsquare
-# but heavily modified now
-
-def bsquare_split_file(path):
-    pieces = path.split("/")
-    if len(pieces) < 2:
-        return None
-    project, branch = pieces[0], pieces[1]
-    if branch != "trunk":
-        return None
-    return ("%s/%s" % (project, branch), "/".join(pieces[2:]))
-
-
-def bsquare_make_factory_svn(svn_url, platform):
-    f = factory.BuildFactory()
-    f.addStep(SVN(baseURL=svn_url, mode='copy'))
-
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, r"c:\buildmaster\bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-
-    f.addStep(shell.ShellCommand(
-              command=platform.withcompiler % r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-
-    f.addStep(Test(name="test",
-                command="bin\\test.exe --exit-with-status -1",
-                description=['testing'],
-                descriptionDone=['tests']))
-
-    f.treeStableTimer = 300
-    return f
-
-
-def bsquare_make_factory_git(git_url, platform):
-    f = factory.BuildFactory()
-    f.addStep(Git(
-              repourl=git_url,
-              haltOnFailure=True,
-              mode="copy"))
-
-    f.addStep(shell.ShellCommand(
-              command=[platform.python, r"c:\buildmaster\bootstrap.py"],
-              haltOnFailure=True,
-              name="bootstrap",
-              description="bootstrap"))
-
-    f.addStep(shell.ShellCommand(
-              command=platform.withcompiler % r"bin\buildout.exe",
-              haltOnFailure=True,
-              name="buildout",
-              description="buildout",
-              timeout=3600))
-
-    f.addStep(Test(name="test",
-                command="bin\\test.exe --exit-with-status -1",
-                description=['testing'],
-                descriptionDone=['tests']))
-
-    f.treeStableTimer = 300
-    return f
-
-
-# XXX:
-# XXX: needs a total cleanup!
-def bsquare_configure(c,
-              svn_url=None, http_port=8010, allowForce=False,
-              svnuser=None, svnpasswd=None,
-              pollinterval=30, nightlyhour=None,
-              poller=None, makefactory=bsquare_make_factory_svn,
-              maxConcurrent=2,
-              svnbin='svn',
-              slow_lock=None):
-    """Creates a buildout master configuration.
-
-    The configuration returned is almost functional. You just need to add
-    slaves.
-
-    Options are as follows:
-    * svn_url: URL of the SVN repository
-    * http_port: where buildbot will listen as an HTTP server
-    * allowForce: allow force builds (True/False)
-    * svnuser: username to be passed to svn
-    * svnpasswd: password to be passed to svn
-    * pollinterval: interval in seconds to poll the svn repo for changes
-    * nightlyhour: run nightly builds at this hour
-    * poller: custom poller object instance to be used instead of SVNPoller
-    * makefactory:
-      * can a simple callable factory that gets the svn_url
-      * can be a dict of factories getting svn_url keyed by project name
-        * ``__default__`` is a special key, bsquare reverts to this factory
-          first when there is none for a project
-        * bsquare reverts to make_factory as last
-    * maxConcurrent: maximum number of concurrent builds
-    * svnbin: passed directly to SVNPoller (win32 seems to be picky about
-                                            svn location)
-
-    """
-    if poller is None:
-        if svn_url:
-            c['change_source'] = SVNPoller(svn_url,
-                                           split_file=bsquare_split_file,
-                                           svnuser=svnuser,
-                                           svnpasswd=svnpasswd,
-                                           pollinterval=pollinterval,
-                                           svnbin=svnbin)
-    else:
-        c['change_source'] = poller
-
-    if slow_lock is None:
-        slow_lock = locks.SlaveLock("cpu", maxCount=maxConcurrent)
-
-    projects = open("project-list.cfg", "rb").readlines()
-    projects = [x.strip() for x in projects]
-
-    platforms = {'py_265_32': PLATFORMS['py_265_win32']}
-
-    for project in projects:
-        if not project or project.startswith('#'):
-            continue  # comment or empty line
-
-        project, repourl = project.split(',')
-        project = project.strip()
-        repourl = repourl.strip()
-
-        for bsquare_platname, bsquare_platform in platforms.items():
-            #if isinstance(makefactory, dict):
-            #    f = makefactory.get(project,
-            #                        makefactory.get('__default__', makefactory))
-            #    f = f(repourl, platform=bsquare_platform)
-            #else:
-            #    f = makefactory(repourl, platform=bsquare_platform)
-            isgit = repourl.lower().startswith('git')
-            if isgit:
-                makefactory = bsquare_make_factory_git
-            else:
-                makefactory = bsquare_make_factory_svn
-            f = makefactory(repourl, platform=bsquare_platform)
-
-            bname = '%s_%s' % (project, bsquare_platname)
-
-            c['builders'].append({
-                'name': bname,
-                'slavename': 'local',
-                'builddir': project,
-                'factory': f,
-                'locks': [slow_lock],
-            })
-            del f
-
-            c['schedulers'].append(Scheduler(
-                name=bname,
-                branch="%s/trunk" % project,
-                treeStableTimer=pollinterval * 2 + 10,
-                builderNames=[bname]))
-
-            if nightlyhour is not None:
-                if isgit:
-                    c['schedulers'].append(Nightly(
-                        "%s nightly" % project, [bname], hour=[nightlyhour]))
-                else:
-                    c['schedulers'].append(Nightly(
-                        "%s nightly" % project, [bname], hour=[nightlyhour],
-                        branch="%s/trunk" % project))
-
-            c['status'].append(
-              MailNotifier(mode="failing",
-                       fromaddr=FROMADDR,
-                       extraRecipients=["agroszer at gmail.com",
-                                        "zope-tests at zope.org"],
-                       sendToInterestedUsers=False,
-                       builders=[bname],
-                       messageFormatter=message_formatter)
-                       )
-
-    return c
-# stuff taken from gocept.bsquare
-######################################
-
-#let's stick with ONE test
-slow_lock = locks.SlaveLock("cpu", maxCount=1)
-
-c['schedulers'] = []
-c['builders'] = []
-c['status'] = []
-
-setupCleanupBuild(slow_lock, hour=20, minute=01)
-
-setupEggBuild(slow_lock) #every 30 mins
-
-#there are at most 6 builds for each project,
-#every build is setup on the next minute
-#that will never be true, but at least keeps
-#the builds nicely sorted
-setupZTK_dev_tests(slow_lock, hour=20, minute=10)
-setupZTK_10_tests(slow_lock, hour=20, minute=20)
-setupZTK_11_tests(slow_lock, hour=20, minute=30)
-setup_zc_buildout_dev_tests(slow_lock, hour=20, minute=40, branch='master')
-setup_zc_buildout_dev_tests(slow_lock, hour=20, minute=50, branch='1',
-                            platforms=ZC_BUILDOUT_PLATFORMS_1)
-setup_distribute_dev_tests(slow_lock, hour=21, minute=10)
-setup_ZODB_dev_tests(slow_lock, hour=21, minute=50)
-setup_BB_dev_tests(slow_lock, hour=21, minute=55)
-
-bsquare_configure(c,
-              pollinterval = 300,
-              nightlyhour=23,
-              slow_lock = slow_lock,
-              svnbin='c:\\svn\\svn.exe')
-
-#NO proxy via apache, so it can be kicked locally at least
-c['status'].append(html.WebStatus(http_port=8009, allowForce=True, logRotateLength=100000000))
-
-#proxy THIS via apache
-#use the WebStatus that provides status images
-c['status'].append(image.WebStatus(http_port=8010, allowForce=False, logRotateLength=100000000))
-
-
-c['projectName'] = "Zope wineggbuilder and windows buildbot"
-c['projectURL'] = "http://www.zope.org/"
-c['buildbotURL'] = "http://winbot.zope.org/"
-c['slavePortnum'] = "tcp:8989:interface=127.0.0.1"
-c['changeHorizon'] = 100
-c['buildHorizon'] = 100
-c['eventHorizon'] = 100
-c['logHorizon'] = 100

Deleted: zope.wineggbuilder/trunk/project-list.cfg
===================================================================
--- zope.wineggbuilder/trunk/project-list.cfg	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/project-list.cfg	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,157 +0,0 @@
-#ZTK:
-zope.annotation,git://github.com/zopefoundation/zope.annotation.git
-zope.applicationcontrol,git://github.com/zopefoundation/zope.applicationcontrol.git
-zope.authentication,git://github.com/zopefoundation/zope.authentication.git
-zope.browser,git://github.com/zopefoundation/zope.browser.git
-zope.browsermenu,git://github.com/zopefoundation/zope.browsermenu.git
-zope.browserpage,git://github.com/zopefoundation/zope.browserpage.git
-zope.browserresource,git://github.com/zopefoundation/zope.browserresource.git
-zope.cachedescriptors,git://github.com/zopefoundation/zope.cachedescriptors.git
-zope.catalog,git://github.com/zopefoundation/zope.catalog.git
-zope.component,git://github.com/zopefoundation/zope.component.git
-zope.componentvocabulary,git://github.com/zopefoundation/zope.componentvocabulary.git
-zope.configuration,git://github.com/zopefoundation/zope.configuration.git
-zope.container,git://github.com/zopefoundation/zope.container.git
-zope.contentprovider,git://github.com/zopefoundation/zope.contentprovider.git
-zope.contenttype,git://github.com/zopefoundation/zope.contenttype.git
-zope.copy,git://github.com/zopefoundation/zope.copy.git
-zope.copypastemove,git://github.com/zopefoundation/zope.copypastemove.git
-zope.datetime,git://github.com/zopefoundation/zope.datetime.git
-zope.deferredimport,git://github.com/zopefoundation/zope.deferredimport.git
-zope.deprecation,git://github.com/zopefoundation/zope.deprecation.git
-zope.dottedname,git://github.com/zopefoundation/zope.dottedname.git
-zope.dublincore,git://github.com/zopefoundation/zope.dublincore.git
-zope.error,git://github.com/zopefoundation/zope.error.git
-zope.event,git://github.com/zopefoundation/zope.event.git
-zope.exceptions,git://github.com/zopefoundation/zope.exceptions.git
-zope.filerepresentation,git://github.com/zopefoundation/zope.filerepresentation.git
-zope.formlib,git://github.com/zopefoundation/zope.formlib.git
-zope.hookable,git://github.com/zopefoundation/zope.hookable.git
-zope.i18n,git://github.com/zopefoundation/zope.i18n.git
-zope.i18nmessageid,git://github.com/zopefoundation/zope.i18nmessageid.git
-zope.index,git://github.com/zopefoundation/zope.index.git
-zope.interface,git://github.com/zopefoundation/zope.interface.git
-zope.intid,git://github.com/zopefoundation/zope.intid.git
-zope.keyreference,git://github.com/zopefoundation/zope.keyreference.git
-zope.lifecycleevent,git://github.com/zopefoundation/zope.lifecycleevent.git
-zope.location,git://github.com/zopefoundation/zope.location.git
-zope.login,git://github.com/zopefoundation/zope.login.git
-zope.mimetype,git://github.com/zopefoundation/zope.mimetype.git
-zope.minmax,git://github.com/zopefoundation/zope.minmax.git
-zope.pagetemplate,git://github.com/zopefoundation/zope.pagetemplate.git
-zope.password,git://github.com/zopefoundation/zope.password.git
-zope.pluggableauth,git://github.com/zopefoundation/zope.pluggableauth.git
-zope.principalannotation,git://github.com/zopefoundation/zope.principalannotation.git
-zope.principalregistry,git://github.com/zopefoundation/zope.principalregistry.git
-zope.processlifetime,git://github.com/zopefoundation/zope.processlifetime.git
-zope.proxy,git://github.com/zopefoundation/zope.proxy.git
-zope.ptresource,git://github.com/zopefoundation/zope.ptresource.git
-zope.publisher,git://github.com/zopefoundation/zope.publisher.git
-zope.ramcache,git://github.com/zopefoundation/zope.ramcache.git
-zope.schema,git://github.com/zopefoundation/zope.schema.git
-zope.security,git://github.com/zopefoundation/zope.security.git
-zope.securitypolicy,git://github.com/zopefoundation/zope.securitypolicy.git
-zope.sendmail,git://github.com/zopefoundation/zope.sendmail.git
-zope.sequencesort,git://github.com/zopefoundation/zope.sequencesort.git
-zope.server,git://github.com/zopefoundation/zope.server.git
-zope.session,git://github.com/zopefoundation/zope.session.git
-zope.site,git://github.com/zopefoundation/zope.site.git
-zope.size,git://github.com/zopefoundation/zope.size.git
-zope.structuredtext,git://github.com/zopefoundation/zope.structuredtext.git
-zope.tal,git://github.com/zopefoundation/zope.tal.git
-zope.tales,git://github.com/zopefoundation/zope.tales.git
-zope.testing,git://github.com/zopefoundation/zope.testing.git
-zope.testrunner,git://github.com/zopefoundation/zope.testrunner.git
-zope.traversing,git://github.com/zopefoundation/zope.traversing.git
-zope.viewlet,git://github.com/zopefoundation/zope.viewlet.git
-
-#zopeapp:
-zc.sourcefactory,git://github.com/zopefoundation/zc.sourcefactory.git
-zope.app.applicationcontrol,svn://svn.zope.org/repos/main/
-zope.app.appsetup,git://github.com/zopefoundation/zope.app.appsetup.git
-zope.app.authentication,git://github.com/zopefoundation/zope.app.authentication.git
-zope.app.basicskin,svn://svn.zope.org/repos/main/
-zope.app.broken,svn://svn.zope.org/repos/main/
-zope.app.component,svn://svn.zope.org/repos/main/
-zope.app.container,svn://svn.zope.org/repos/main/
-zope.app.content,svn://svn.zope.org/repos/main/
-zope.app.debug,svn://svn.zope.org/repos/main/
-zope.app.dependable,svn://svn.zope.org/repos/main/
-zope.app.error,svn://svn.zope.org/repos/main/
-zope.app.exception,svn://svn.zope.org/repos/main/
-zope.app.folder,svn://svn.zope.org/repos/main/
-zope.app.form,svn://svn.zope.org/repos/main/
-zope.app.generations,svn://svn.zope.org/repos/main/
-zope.app.http,git://github.com/zopefoundation/zope.app.http.git
-zope.app.i18n,svn://svn.zope.org/repos/main/
-zope.app.locales,svn://svn.zope.org/repos/main/
-zope.app.localpermission,svn://svn.zope.org/repos/main/
-zope.app.pagetemplate,svn://svn.zope.org/repos/main/
-zope.app.principalannotation,svn://svn.zope.org/repos/main/
-zope.app.publication,git://github.com/zopefoundation/zope.app.publication.git
-zope.app.publisher,svn://svn.zope.org/repos/main/
-zope.app.renderer,git://github.com/zopefoundation/zope.app.renderer.git
-zope.app.rotterdam,svn://svn.zope.org/repos/main/
-zope.app.schema,svn://svn.zope.org/repos/main/
-zope.app.security,svn://svn.zope.org/repos/main/
-zope.app.testing,svn://svn.zope.org/repos/main/
-#zope.app.twisted tries IPV6
-zope.app.wsgi,git://github.com/zopefoundation/zope.app.wsgi.git
-zope.app.zcmlfiles,svn://svn.zope.org/repos/main/
-zope.app.zopeappgenerations,svn://svn.zope.org/repos/main/
-zope.generations,git://github.com/zopefoundation/zope.generations.git
-zope.testbrowser,git://github.com/zopefoundation/zope.testbrowser.git
-
-#my wild choices:
-persistent,git://github.com/zopefoundation/persistent.git
-transaction,git://github.com/zopefoundation/transaction.git
-BTrees,git://github.com/zopefoundation/BTrees.git
-
-z3c.authenticator,git://github.com/zopefoundation/z3c.authenticator.git
-z3c.baseregistry,svn://svn.zope.org/repos/main/
-z3c.batching,git://github.com/zopefoundation/z3c.batching.git
-z3c.breadcrumb,git://github.com/zopefoundation/z3c.breadcrumb.git
-z3c.configurator,git://github.com/zopefoundation/z3c.configurator.git
-z3c.contents,git://github.com/zopefoundation/z3c.contents.git
-z3c.coverage,git://github.com/zopefoundation/z3c.coverage.git
-z3c.datagenerator,git://github.com/zopefoundation/z3c.datagenerator.git
-z3c.form,git://github.com/zopefoundation/z3c.form.git
-z3c.formui,git://github.com/zopefoundation/z3c.formui.git
-z3c.json,svn://svn.zope.org/repos/main/
-z3c.jsonrpc,svn://svn.zope.org/repos/main/
-z3c.jsonrpcproxy,svn://svn.zope.org/repos/main/
-z3c.jsontree,svn://svn.zope.org/repos/main/
-z3c.language.negotiator,svn://svn.zope.org/repos/main/
-z3c.language.session,svn://svn.zope.org/repos/main/
-z3c.language.switch,svn://svn.zope.org/repos/main/
-z3c.layer.pagelet,git://github.com/zopefoundation/z3c.layer.pagelet.git
-z3c.layer.ready2go,git://github.com/zopefoundation/z3c.layer.ready2go.git
-z3c.macro,git://github.com/zopefoundation/z3c.macro.git
-z3c.menu.ready2go,git://github.com/zopefoundation/z3c.menu.ready2go.git
-z3c.pagelet,git://github.com/zopefoundation/z3c.pagelet.git
-z3c.password,git://github.com/zopefoundation/z3c.password.git
-z3c.pdftemplate,svn://svn.zope.org/repos/main/
-z3c.ptcompat,git://github.com/zopefoundation/z3c.ptcompat.git
-z3c.recipe.paster,svn://svn.zope.org/repos/main/
-#z3c.rml tries ghostscipt via PIL
-z3c.sampledata,git://github.com/zopefoundation/z3c.sampledata.git
-z3c.table,git://github.com/zopefoundation/z3c.table.git
-z3c.tabular,svn://svn.zope.org/repos/main/
-z3c.template,git://github.com/zopefoundation/z3c.template.git
-z3c.testing,git://github.com/zopefoundation/z3c.testing.git
-z3c.viewtemplate,svn://svn.zope.org/repos/main/
-z3c.xmlhttp,svn://svn.zope.org/repos/main/
-z3c.zrtresource,svn://svn.zope.org/repos/main/
-zc.catalog,git://github.com/zopefoundation/zc.catalog.git
-zc.configuration,git://github.com/zopefoundation/zc.configuration.git
-zc.i18n,svn://svn.zope.org/repos/main/
-zc.lockfile,git://github.com/zopefoundation/zc.lockfile.git
-zc.monitor,svn://svn.zope.org/repos/main/
-zc.ngi,svn://svn.zope.org/repos/main/
-zc.queue,git://github.com/zopefoundation/zc.queue.git
-zc.resourcelibrary,svn://svn.zope.org/repos/main/
-zc.table,svn://svn.zope.org/repos/main/
-
-zope.app.interface,svn://svn.zope.org/repos/main/
-zope.app.server,git://github.com/zopefoundation/zope.app.server.git
-zope.app.session,svn://svn.zope.org/repos/main/

Deleted: zope.wineggbuilder/trunk/rackspace.ini
===================================================================
--- zope.wineggbuilder/trunk/rackspace.ini	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/rackspace.ini	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,308 +0,0 @@
-[build]
-compilers = py24_32 py25_32 py26_32 py26_64 py27_32 py27_64
-
-[py24_32]
-command = set PATH=%PATH%;c:\mingw\bin
-          c:\Python24_32\python setup.py build_ext --compiler mingw32 bdist_egg upload
-fileEnding = py2.4-win32.egg
-
-[py25_32]
-command = set PATH=%PATH%;c:\mingw\bin
-          c:\Python25_32\python setup.py build_ext --compiler mingw32 bdist_egg upload
-fileEnding = py2.5-win32.egg
-
-[py26_32]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCVARSALL.bat" x86
-          set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin"
-          c:\Python26_32\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.6-win32.egg
-
-[py26_64]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\VCVARSX86_AMD64.bat"
-          set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64"
-          c:\Python26_64\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.6-win-amd64.egg
-
-[py27_32]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCVARSALL.bat" x86
-          set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin"
-          c:\Python27_32\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.7-win32.egg
-
-[py27_64]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\VCVARSX86_AMD64.bat"
-          set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64"
-          c:\Python27_64\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.7-win-amd64.egg
-
-
-#[ZODB3_24]
-#package = ZODB3
-#minVersion =
-#maxVersion = 3.9
-#targets = py24_32
-#tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-#[ZODB3_25]
-#package = ZODB3
-#minVersion =
-#maxVersion =
-#targets = py25_32
-#tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-[ZODB3_2664]
-package = ZODB3
-minVersion = 3.9.0
-maxVersion = 3.10.999
-targets = py26_64
-excludeVersions = 3.10.4
-tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-[ZODB3_2764]
-package = ZODB3
-minVersion = 3.9.0
-maxVersion = 3.10.999
-targets = py27_64
-excludeVersions = 3.10.4
-tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-[BTrees]
-# versions before 4.0.4 were SVN based
-package = BTrees
-minVersion = 4.0.4
-maxVersion =
-excludeVersions = 4.0.0
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[persistent]
-# versions before 4.0.6  were SVN based
-package = persistent
-minVersion = 4.0.6
-maxVersion =
-excludeVersions =
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[zope.container]
-package = zope.container
-minVersion =
-maxVersion = 3.99.99
-targets = py24_32 py25_32
-
-[zope.container_26]
-package = zope.container
-minVersion = 3.7.0
-maxVersion = 3.99.99
-targets = py26_32 py26_64
-
-[zope.container_27]
-package = zope.container
-minVersion = 3.11.2
-maxVersion = 3.99.99
-targets = py27_32 py27_64
-
-[zope.container_git]
-package = zope.container
-minVersion = 4.0.0
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[zope.hookable]
-package = zope.hookable
-minVersion =
-maxVersion = 3.99.99
-targets = py24_32 py25_32
-
-[zope.hookable_26]
-package = zope.hookable
-minVersion =
-maxVersion =
-targets = py26_32 py26_64
-
-[zope.hookable_27]
-package = zope.hookable
-minVersion = 3.4.1
-maxVersion =
-targets = py27_32 py27_64
-
-[zope.i18nmessageid]
-package = zope.i18nmessageid
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.4dev-r73161
-targets = py24_32 py25_32
-
-[zope.i18nmessageid_26]
-package = zope.i18nmessageid
-minVersion =
-maxVersion =
-excludeVersions = 3.4dev-r73161
-targets = py26_32 py26_64
-
-[zope.i18nmessageid_27]
-package = zope.i18nmessageid
-minVersion = 3.5.3
-maxVersion =
-excludeVersions =
-targets = py27_32 py27_64
-
-[zope.index]
-package = zope.index
-minVersion = 3.5.2
-maxVersion =
-excludeVersions = 3.0.0b1 3.3.0b1 3.3.0b2 3.4.0b1
-targets = py24_32 py25_32
-
-[zope.index_26]
-package = zope.index
-minVersion = 3.6.0
-maxVersion =
-targets = py26_32 py26_64
-
-[zope.index_27]
-package = zope.index
-minVersion = 3.6.0
-maxVersion =
-targets = py27_32 py27_64
-
-[zope.interface]
-package = zope.interface
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.0.0b1 3.3.0b1 3.3.0b2 3.4.0b1
-targets = py24_32 py25_32
-
-[zope.interface_26]
-package = zope.interface
-minVersion =
-maxVersion = 4.0.3
-excludeVersions = 3.0.0b1 3.3.0b1 3.3.0b2 3.4.0b1
-targets = py26_32 py26_64
-
-[zope.interface_27]
-package = zope.interface
-minVersion = 3.6.1
-maxVersion = 4.0.3
-targets = py27_32 py27_64
-
-[zope.interface_git]
-package = zope.interface
-minVersion = 4.0.4
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[zope.proxy]
-package = zope.proxy
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.3.0
-targets = py24_32 py25_32
-
-[zope.proxy_26]
-package = zope.proxy
-minVersion =
-maxVersion =
-excludeVersions = 3.3.0
-targets = py26_32 py26_64
-
-[zope.proxy_27]
-package = zope.proxy
-minVersion = 3.6.1
-maxVersion =
-excludeVersions = 3.3.0
-targets = py27_32 py27_64
-
-[zope.security]
-package = zope.security
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.4.0b5 3.8.4
-targets = py24_32 py25_32 py26_32 py26_64
-
-[zope.security_27]
-package = zope.security
-minVersion = 3.7.4
-maxVersion = 3.99.99
-excludeVersions = 3.8.4
-targets = py27_32 py27_64
-
-[zope.security_git]
-package = zope.security
-minVersion = 4.0.0
-maxVersion =
-excludeVersions = 3.8.4
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[initgroups]
-package = initgroups
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[AccessControl]
-package = AccessControl
-minVersion =
-maxVersion =
-excludeVersions = 2.13.5 2.13.6
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Acquisition]
-package = Acquisition
-minVersion =
-maxVersion =
-excludeVersions = 2.11.0b1 2.12.0a1 4.0a1
-targets = py26_32 py26_64 py27_32 py27_64
-
-[DocumentTemplate]
-package = DocumentTemplate
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[ExtensionClass]
-package = ExtensionClass
-minVersion =
-maxVersion =
-excludeVersions = 2.11.0b1 4.0a1
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Missing]
-package = Missing
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[MultiMapping]
-package = MultiMapping
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Persistence]
-package = Persistence
-minVersion =
-maxVersion =
-excludeVersions = 2.11.0b1
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Products.ZCTextIndex]
-package = Products.ZCTextIndex
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Record]
-package = Record
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Zope2]
-package = Zope2
-tagurl = svn://svn.zope.org/repos/main/Zope/tags/
-minVersion = 2.12.0
-maxVersion = 2.12.99
-targets = py26_32 py26_64

Deleted: zope.wineggbuilder/trunk/setup.py
===================================================================
--- zope.wineggbuilder/trunk/setup.py	2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/setup.py	2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,66 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2008 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Package setup.
-
-$Id$
-"""
-import os
-from setuptools import setup, find_packages
-
-def read(*rnames):
-    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
-
-setup(
-    name='zope.wineggbuilder',
-    version='0.1.0dev',
-    author = "Adam Groszer and the Zope Community",
-    author_email = "zope-dev at zope.org",
-    description='An Automated Egg build System',
-    long_description=(
-        read('README.txt')
-        + '\n\n' +
-        read('src','zope','wineggbuilder','index.txt')
-        + '\n\n' +
-        read('CHANGES.txt')
-        ),
-    license = "ZPL 2.1",
-    keywords = "ztk binary egg build",
-    classifiers = [
-        'Development Status :: 4 - Beta',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: Zope Public License',
-        'Programming Language :: Python',
-        'Natural Language :: English',
-        'Operating System :: OS Independent',
-        'Framework :: Buildout'],
-    url = 'http://pypi.python.org/pypi/zope.wineggbuilder',
-    packages = find_packages('src'),
-    include_package_data = True,
-    package_dir = {'': 'src'},
-    namespace_packages = ['zope'],
-    extras_require = dict(
-      test = [
-          'zope.testing',
-          ],
-    ),
-    install_requires=[
-        'BeautifulSoup',
-        'setuptools',
-        ],
-    zip_safe = False,
-    entry_points = """
-    [console_scripts]
-    build = zope.wineggbuilder.build:main
-    """,
-    )

Deleted: zope.wineggbuilder/trunk/status_image_exception.png
===================================================================
(Binary files differ)

Deleted: zope.wineggbuilder/trunk/status_image_failure.png
===================================================================
(Binary files differ)

Deleted: zope.wineggbuilder/trunk/status_image_skipped.png
===================================================================
(Binary files differ)

Deleted: zope.wineggbuilder/trunk/status_image_success.png
===================================================================
(Binary files differ)

Deleted: zope.wineggbuilder/trunk/status_image_warnings.png
===================================================================
(Binary files differ)



More information about the checkins mailing list