diff --git a/releng.control/cc280-bin-dist-mods/cruisecontrol.sh b/releng.control/cc280-bin-dist-mods/cruisecontrol.sh
new file mode 100644
index 0000000..8e3c340
--- /dev/null
+++ b/releng.control/cc280-bin-dist-mods/cruisecontrol.sh
@@ -0,0 +1,122 @@
+#!/usr/bin/env bash
+
+################################################################################
+# CruiseControl, a Continuous Integration Toolkit
+# Copyright (c) 2001, ThoughtWorks, Inc.
+# 200 E. Randolph, 25th Floor
+# Chicago, IL 60601 USA
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#     + Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#
+#     + Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#
+#     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+#       names of its contributors may be used to endorse or promote
+#       products derived from this software without specific prior
+#       written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS 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 REGENTS OR
+# CONTRIBUTORS 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.
+################################################################################
+
+# CCDIR: The root of the CruiseControl directory.
+# The key requirement is that this is the parent
+# directory of CruiseControl's lib and dist directories.
+
+# in WTP we set and pass in CCDIR from cc.sh
+  echo Using Cruise Control at $CCDIR
+
+if [ -z "$CCDIR" ] ; then
+  # resolve links - $0 may be a softlink
+  PRG="$0"
+
+  # need this for relative symlinks
+  while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG=`dirname "$PRG"`"/$link"
+    fi
+  done
+
+  saveddir=`pwd`
+
+  CCDIR=`dirname "$PRG"`
+
+  # make it fully qualified
+  CCDIR=`cd "$CCDIR" && pwd`
+
+  cd $saveddir
+  echo Using Cruise Control at $CCDIR
+fi
+
+# Uncomment the following line if you have OutOfMemoryError errors
+# CC_OPTS="-Xms128m -Xmx256m"
+# Note that the tmp directory must exist before CC needs it
+mkdir -p $CCDIR/tmp/
+CC_OPTS="-Djava.io.tmpdir=$CCDIR/tmp/ -Xms256m -Xmx1024m"
+#CC_OPTS="-Xms256m -Xmx1024m"
+echo "    starting cruisecontrol.sh"
+
+#--------------------------------------------
+# set JAVA_HOME on Mac OSX
+#--------------------------------------------
+case "`uname`" in
+  Darwin*)
+    if [ -z "$JAVA_HOME" ] ; then
+      JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+    fi
+    ;;
+esac
+
+LIBDIR=$CCDIR/lib
+LAUNCHER=$LIBDIR/cruisecontrol-launcher.jar
+
+# convert the existing path to unix
+if [ `uname | grep -n CYGWIN` ]; then
+   JAVA_HOME=`cygpath --path --unix "$JAVA_HOME"`
+fi
+
+# convert the existing path to unix
+if [ `uname | grep -n CYGWIN` ]; then
+  CRUISE_PATH=`cygpath --path --windows "$CRUISE_PATH"`
+fi
+
+if [ `uname | grep -n CYGWIN` ]; then
+  LAUNCHER=`cygpath --windows "$LAUNCHER"`
+fi
+
+#EXEC="$JAVA_HOME/bin/java $CC_OPTS -Djavax.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder -Dcc.library.dir=$LIBDIR -jar $LAUNCHER $@ -jmxport 8000 -webport 8080 -rmiport 1099"
+#echo $EXEC
+#$JAVA_HOME/bin/java $CC_OPTS -Djavax.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder "-Dcc.library.dir=$LIBDIR" -jar "$LAUNCHER" $@ -jmxport 8000 -webport 8080 -rmiport 1099 &
+
+mkdir -P $CCDIR/logs
+DASHBOARD_CONFIG=${CCDIR}/dashboard-config.xml
+
+EXEC="$JAVA_HOME/bin/java $CC_OPTS -Djetty.logs=$CCDIR/logs -Ddashboard.config=${DASHBOARD_CONFIG}  -Djavax.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder -Dcc.library.dir=$LIBDIR -jar $LAUNCHER $@ "
+echo "Full command: '$EXEC'"
+$EXEC &
+
+echo $! > cc.pid
+echo "    ending cruisecontrol.sh"
+
diff --git a/releng.control/cc280-bin-dist-mods/dashboard-config.xml b/releng.control/cc280-bin-dist-mods/dashboard-config.xml
new file mode 100644
index 0000000..4725c14
--- /dev/null
+++ b/releng.control/cc280-bin-dist-mods/dashboard-config.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2007, ThoughtWorks, Inc.
+ * 200 E. Randolph, 25th Floor
+ * Chicago, IL 60601 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS 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 REGENTS OR
+ * CONTRIBUTORS 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.
+ ********************************************************************************/
+ -->
+
+ <!--
+ <dashboard>
+ 	<buildloop
+	    logsdir=""
+      	    artifactsdir="" />
+	<features allowforcebuild=""/>
+	<trackingtool projectname="" baseurl="" keywords=""/>
+ 	<subtabs>
+	    <subtab class="net.sourceforge.cruisecontrol.dashboard.widgets.ErrorsAndWarningsMessagesWidget" />
+	</subtabs>
+</dashboard>
+-->
+
+<dashboard>
+    <buildloop
+        home="/shared/webtools/"
+        configfile="/shared/webtools/releng.control/cc_config.xml"
+        logsdir="/shared/webtools/logs"
+        artifactsdir="/shared/webtools/committers"
+        projectsdir="/shared/webtools/projects"
+        jmxport="7000"
+        rmiport="1099"/>
+    <features
+        allowforcebuild="true"
+        alloweditconfig="false" />
+    <trackingtool
+        projectname="wtp-R3.0-I"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="wtp-R3.0-M"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="wtp-R3.0-R"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="wtp-R3.0-S"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="wtp-R2.0-M"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="wtp-R2.0-R"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="incubator-R0.5-S"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="incubator-R0.5-I"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="patches-R1.5-P"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <trackingtool
+        projectname="patches-R2.0-P"
+        baseurl="https://bugs.eclipse.org/"
+        keywords=",\[" />
+    <subtabs>
+        <subtab
+            class="net.sourceforge.cruisecontrol.dashboard.widgets.ErrorsAndWarningsMessagesWidget" />
+    </subtabs>
+</dashboard>
diff --git a/releng.control/cc280-bin-dist-mods/webapps/cruisecontrol/WEB-INF/web.xml b/releng.control/cc280-bin-dist-mods/webapps/cruisecontrol/WEB-INF/web.xml
new file mode 100644
index 0000000..cb72a6c
--- /dev/null
+++ b/releng.control/cc280-bin-dist-mods/webapps/cruisecontrol/WEB-INF/web.xml
@@ -0,0 +1,259 @@
+<!DOCTYPE web-app
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
+    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
+
+<!--********************************************************************************
+ * CruiseControl, a Continuous Integration Toolkit
+ * Copyright (c) 2001, ThoughtWorks, Inc.
+ * 200 E. Randolph, 25th Floor
+ * Chicago, IL 60601 USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *     + Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *
+ *     + Redistributions in binary form must reproduce the above
+ *       copyright notice, this list of conditions and the following
+ *       disclaimer in the documentation and/or other materials provided
+ *       with the distribution.
+ *
+ *     + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
+ *       names of its contributors may be used to endorse or promote
+ *       products derived from this software without specific prior
+ *       written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS 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 REGENTS OR
+ * CONTRIBUTORS 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.
+ ********************************************************************************-->
+<web-app>
+    <display-name>CruiseControl Reporting App</display-name>
+    <description>The reporting application for CruiseControl. Provides a simple but rich
+        interface for viewing CruiseControl build reports.
+    </description>
+
+    <context-param>
+        <param-name>singleProject</param-name>
+        <param-value>false</param-value>
+        <description>Indicates if the CruiseControl instance is to report on only one project.
+            If it is, then you should set this to true.
+        </description>
+    </context-param>
+    
+    <context-param>
+        <param-name>cacheRoot</param-name>
+        <param-value>/shared/webtools/logcache</param-value>
+        <description>Full path to a directory where caches of XSL transformations are written.
+            The web context must have permission to write to this directory. If not
+            specified, caches will be written in a subdir called _cache of the logDir.
+        </description>
+    </context-param>
+    
+    <context-param>
+      <!-- You can set this value via the user.log.dir property in Ant, when building the WAR file. -->
+      <param-name>logDir</param-name>
+        <param-value>/shared/webtools/logs</param-value>
+      <description> This should be the full path to your CruiseControl log directory. If you
+          are in single project mode, this will contain only the logs for your project. If you
+          are in multi-project mode, it is expected that you will have multiple sub-directories
+          inside this log directory, one for each project.
+      </description>
+    </context-param>
+
+    <context-param>
+      <!-- You can set this value via the user.build.status.file property in Ant, when building the WAR file. -->
+      <param-name>currentBuildStatusFile</param-name>
+      <param-value>status.txt</param-value>
+      <description>This should be the path to your current build status file, which is relative
+          to the log directory (or, in single-project mode, relative to the project's log
+          directory)
+      </description>
+    </context-param>
+
+    <context-param>
+      <param-name>fileServlet.welcomeFiles</param-name>
+      <param-value>index.htm index.html</param-value>
+      <description>The list of space separated index files that should be automatically displayed
+          when browsing a directory displayed by the file servlet. The order matters.
+          Let empty or comment out to disable indexes.
+      </description>
+    </context-param>
+
+    <context-param>
+      <param-name>cruisecontrol.jmxport</param-name>
+        <param-value>7000</param-value>
+      <description>The port on which CruiseControl will connect to the JMX HttpAdaptor to "force" builds or view the
+          control panel. This value can be overriden using an environment variable with the same name.
+      </description>
+    </context-param>
+
+               
+    <context-param>
+      <param-name>cruisecontrol.jmxhost</param-name>
+        <param-value>206.191.52.34</param-value>
+      <description>If your server doesn't know it's own proper IP address or it's name isn't resolvable by other machines on the network, set the IP address or resolvable name here. This will enable things like the "Force Builds" button to work.
+                       </description>
+    </context-param>
+               
+
+    <!--
+    <context-param>
+      <param-name>xslt.pmd.warning.threshold</param-name>
+      <param-value>3</param-value>
+      <description>PMD violations with a priority below this threshold are considered warnings and
+          are only reported by the total count on the build results page.
+      </description>
+    </context-param>
+    -->
+
+    <!--
+    <context-param>
+      <param-name>xslt.viewcvs.url</param-name>
+      <param-value>http://cvs.sourceforge.net/viewcvs.py/cruisecontrol</param-value>
+      <description>The URL of the ViewCVS website used by cvstagdiff.xsl, checkstyle-details.xsl
+          and pmd-details.xsl
+      </description>
+    </context-param>
+    -->
+
+
+    <context-param>
+      <param-name>xslt.cvstagdiff.success.show</param-name>
+      <param-value>true</param-value>
+      <description>Controls whether the ViewCVS differences report should be shown when the build
+          was successful. The default is to only show the modifications report for broken builds
+      </description>
+    </context-param>
+
+    
+    <!--
+    <context-param>
+      <param-name>xslt.checkstyle.hide.warnings</param-name>
+      <param-value>true</param-value>
+      <description>Controls whether only CheckStyle errors or all CheckStyle errors and warnings
+          should be listed on the build results page. Set to 'true' for hiding the warnings. The
+          default is to list all errors and warnings
+      </description>
+    </context-param>
+    -->
+
+    <servlet>
+      <servlet-name>buildresults</servlet-name>
+      <display-name>Build Result Reporter</display-name>
+      <description>Presents build results in a human-readable and intuitive format.</description>
+      <jsp-file>/main.jsp</jsp-file>
+    </servlet>
+
+    <servlet>
+      <servlet-name>rss</servlet-name>
+      <display-name>Build Result RSS Feed</display-name>
+      <description>Presents build results in the RSS XML format.</description>
+      <jsp-file>/rss.jsp</jsp-file>
+    </servlet>
+
+    <servlet>
+        <servlet-name>index</servlet-name>
+        <display-name>Index/Summary page</display-name>
+        <description>Presents a summary of all projects, allowing easy navigation to each.</description>
+        <jsp-file>/index.jsp</jsp-file>
+    </servlet>
+
+    <servlet>
+        <servlet-name>ArtifactServlet</servlet-name>
+        <servlet-class>net.sourceforge.cruisecontrol.servlet.FileServlet</servlet-class>
+        <init-param>
+            <param-name>rootDir</param-name>
+            <param-value>committers</param-value>
+        </init-param>
+    </servlet>
+
+    <servlet>
+      <servlet-name>XmlServlet</servlet-name>
+      <servlet-class>net.sourceforge.cruisecontrol.servlet.XmlServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>LogServlet</servlet-name>
+        <servlet-class>net.sourceforge.cruisecontrol.servlet.LogFileServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>webwork</servlet-name>
+        <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>config</servlet-name>
+        <display-name>Project configuration UI</display-name>
+        <description>Wraps webwork configuration actions inside main page.</description>
+        <jsp-file>/main.jsp</jsp-file>
+    </servlet>
+
+    <!-- Used for charting...
+    <servlet>
+        <servlet-name>CewolfServlet</servlet-name>
+        <servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>CewolfServlet</servlet-name>
+        <url-pattern>/cewolf/*</url-pattern>
+    </servlet-mapping>
+    -->
+    <servlet-mapping>
+        <servlet-name>LogServlet</servlet-name>
+        <url-pattern>/logs/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>ArtifactServlet</servlet-name>
+        <url-pattern>/committers/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>buildresults</servlet-name>
+      <!-- Strictly speaking, this should be /buildresults for single-project mode. But it works anyway. -->
+      <url-pattern>/buildresults/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>webwork</servlet-name>
+        <url-pattern>*.jspa</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>config</servlet-name>
+        <url-pattern>/config/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>rss</servlet-name>
+      <url-pattern>/rss/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>XmlServlet</servlet-name>
+        <url-pattern>/xml/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>index</servlet-name>
+        <url-pattern>/index</url-pattern>
+    </servlet-mapping>
+
+    <welcome-file-list>
+      <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+</web-app>
