diff options
author | glarkin <glarkin@FreeBSD.org> | 2011-10-14 07:22:22 +0800 |
---|---|---|
committer | glarkin <glarkin@FreeBSD.org> | 2011-10-14 07:22:22 +0800 |
commit | cbc248f3a2f33ce69bf7437b6d133c3608677432 (patch) | |
tree | c3b925fce1ca7a18a538629f324a60d5e83e61e9 /devel | |
parent | af42021c5bc6937937e12c7f95666fdcb084f6e6 (diff) | |
download | freebsd-ports-gnome-cbc248f3a2f33ce69bf7437b6d133c3608677432.tar.gz freebsd-ports-gnome-cbc248f3a2f33ce69bf7437b6d133c3608677432.tar.zst freebsd-ports-gnome-cbc248f3a2f33ce69bf7437b6d133c3608677432.zip |
A continuous integration plugin for Trac.
Bitten is a Python-based framework for collecting various software
metrics via continuous integration. It builds on Trac to provide
an integrated web-based user interface. Build slaves are usually
installed and run on multiple different systems to compile and test
the software on these platforms on new checkins.
Set bitten_slave_enable to "yes" and bitten_slave_urls to contain
one or more Bitten build URLs. For form authentication add --form-auth
to flags.
WWW: http://bitten.edgewall.org/
PR: ports/140157
Submitted by: Tim Niemueller <tim@niemueller.de>
Diffstat (limited to 'devel')
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/trac-bitten/Makefile | 69 | ||||
-rw-r--r-- | devel/trac-bitten/distinfo | 2 | ||||
-rw-r--r-- | devel/trac-bitten/files/bitten-slave.in | 42 | ||||
-rw-r--r-- | devel/trac-bitten/files/bitten-slave.sample | 12 | ||||
-rw-r--r-- | devel/trac-bitten/files/patch-git | 103 | ||||
-rw-r--r-- | devel/trac-bitten/files/pkg-message.in | 12 | ||||
-rw-r--r-- | devel/trac-bitten/pkg-descr | 13 | ||||
-rw-r--r-- | devel/trac-bitten/pkg-plist | 139 |
9 files changed, 393 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 5d0f5c05bc9b..b1301dce08cc 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -3627,6 +3627,7 @@ SUBDIR += tortoisehg1 SUBDIR += tortoisehg2 SUBDIR += tpasm + SUBDIR += trac-bitten SUBDIR += trio SUBDIR += truc SUBDIR += u-boot diff --git a/devel/trac-bitten/Makefile b/devel/trac-bitten/Makefile new file mode 100644 index 000000000000..b25e00e6dc65 --- /dev/null +++ b/devel/trac-bitten/Makefile @@ -0,0 +1,69 @@ +# New ports collection makefile for: trac-bitten +# Date created: Oct 26 2009 +# Whom: Tim Niemueller <tim@niemueller.de> +# +# $FreeBSD$ +# + +PORTNAME= bitten +PORTVERSION= 0.6 +CATEGORIES= devel www python +MASTER_SITES= http://ftp.edgewall.com/pub/bitten/ \ + LOCAL/glarkin +PKGNAMEPREFIX= trac- +DISTNAME= Bitten-${PORTVERSION} + +MAINTAINER= tim@niemueller.de +COMMENT= Continuous integration for Trac + +.if defined(MAINTAINER_MODE) +UID_FILES+= ../../UIDs +GID_FILES+= ../../GIDs +.endif +USERS= bitten-slave +GROUPS= bitten-slave +BITTEN_UID= 952 +BITTEN_GID= 952 + +OPTIONS= BITTEN_MASTER "Build bitten master" ON +.include <bsd.port.options.mk> + +BUILD_DEPENDS+= easy_install:${PORTSDIR}/devel/py-setuptools +.if defined(WITH_BITTEN_MASTER) +RUN_DEPENDS+= tracd:${PORTSDIR}/www/trac +.endif + +WRKSRC= ${WRKDIR}/Bitten-${PORTVERSION} +NO_BUILD= yes +USE_PYTHON= 2.3+ +USE_PYDISTUTILS=yes +PLIST_SUB+= PORTVERSION=${PORTVERSION} PYTHONVERSION=${_PYTHON_VERSION} \ + ECHO_MSG=${ECHO_MSG} +SUB_LIST+= PYTHON_CMD=${_PYTHON_CMD} TOUCH=${TOUCH} CHOWN=${CHOWN} \ + RM=${RM} USERS=${USERS} +SUB_FILES+= pkg-message +PYDISTUTILS_NOEGGINFO= yes +PYDISTUTILS_PKGNAME= Bitten +PATCH_STRIP= -p1 +USE_RC_SUBR= bitten-slave + +.if defined(WITHOUT_BITTEN_MASTER) +PYDISTUTILS_EXTRA_INSTALLARGS=--without-master +PLIST_SUB+= MASTER_PORT="@comment " EGG_NAME="BittenSlave" +.else +PLIST_SUB+= MASTER_PORT="" EGG_NAME="Bitten" +.endif + +# reproduce rule here with added PYDISTUTILS_EXTRA_INSTALLARGS +do-install: + @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_EXTRA_INSTALLARGS} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) + +post-install: + @if [ ! -f ${ETCDIR}/bitten-slave.conf ]; then \ + ${ECHO} Generating initial configuration in ${ETCDIR}/bitten-slave.conf; \ + ${MKDIR} ${ETCDIR}; \ + ${SED} -e 's/@DISTRO@/${OPSYS}/g' -e 's/@DISTRO_VERSION@/${OSREL}/g' ${FILESDIR}/bitten-slave.sample > ${ETCDIR}/bitten-slave.conf; \ + ${CP} ${FILESDIR}/bitten-slave.sample ${ETCDIR}; \ + fi + +.include <bsd.port.mk> diff --git a/devel/trac-bitten/distinfo b/devel/trac-bitten/distinfo new file mode 100644 index 000000000000..fcb91a3ccedb --- /dev/null +++ b/devel/trac-bitten/distinfo @@ -0,0 +1,2 @@ +SHA256 (Bitten-0.6.tar.gz) = 0ccbe1c6c798d980d2b9024a86cd04710b58c9a129f02b82bf72d96efd6e7026 +SIZE (Bitten-0.6.tar.gz) = 340031 diff --git a/devel/trac-bitten/files/bitten-slave.in b/devel/trac-bitten/files/bitten-slave.in new file mode 100644 index 000000000000..c4e5406b6199 --- /dev/null +++ b/devel/trac-bitten/files/bitten-slave.in @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: bitten_slave +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Bitten continuous integration build slave +# + +. /etc/rc.subr + +name=bitten_slave +rcvar=`set_rcvar` +logfile=/var/log/bitten-slave.log +conffile=%%ETCDIR%%/bitten-slave.conf +workdir=/var/lib/bitten-slave + +load_rc_config ${name} + +command=%%PREFIX%%/bin/bitten-slave +command_args="-f ${conffile} -d ${workdir} --log=${logfile} ${bitten_slave_urls}" +command_interpreter=%%PYTHON_CMD%% +bitten_slave_user=%%USERS%% +pidfile=/var/lib/bitten-slave/bitten-slave.pid + +start_cmd=bitten_start +stop_postcmd=bitten_cleanup + +bitten_start() +{ + echo "Starting ${name}." + %%TOUCH%% $logfile && %%CHOWN%% ${bitten_slave_user} $logfile + /usr/sbin/daemon -cf -p ${pidfile} -u ${bitten_slave_user} ${command} ${command_args} +} + +bitten_cleanup() { + [ -f ${pidfile} ] && %%RM%% ${pidfile} +} + +run_rc_command "$1" diff --git a/devel/trac-bitten/files/bitten-slave.sample b/devel/trac-bitten/files/bitten-slave.sample new file mode 100644 index 000000000000..182ce235ca27 --- /dev/null +++ b/devel/trac-bitten/files/bitten-slave.sample @@ -0,0 +1,12 @@ +;[authentication] +; user/pass for login to Trac +;username = <user> +;password = <pass> + +[os] +name = @DISTRO@ +version = @DISTRO_VERSION@ + +;[package:some-package] +;version = 2.0 + diff --git a/devel/trac-bitten/files/patch-git b/devel/trac-bitten/files/patch-git new file mode 100644 index 000000000000..60c240f7ed2a --- /dev/null +++ b/devel/trac-bitten/files/patch-git @@ -0,0 +1,103 @@ +diff -urN Bitten-0.6dev-r777/bitten/build/gittools.py Bitten-0.6dev-r777.git/bitten/build/gittools.py +--- Bitten-0.6dev-r777/bitten/build/gittools.py 1970-01-01 01:00:00.000000000 +0100 ++++ Bitten-0.6dev-r777.git/bitten/build/gittools.py 2009-10-24 17:03:02.000000000 +0200 +@@ -0,0 +1,77 @@ ++# -*- coding: utf-8 -*- ++# Copyright (C) Tim Niemueller [www.niemueller.de] ++# Copyright (C) 2007 Edgewall Software ++# based on hgtools.py ++# ++# This software is licensed as described in the file COPYING, which ++# you should have received as part of this distribution. The terms ++# are also available at http://bitten.edgewall.org/wiki/License. ++ ++"""Recipe commands for git.""" ++ ++import logging ++ ++log = logging.getLogger('bitten.build.gittools') ++ ++__docformat__ = 'restructuredtext en' ++ ++def clone(ctxt, url, dir_='.'): ++ """pull and update the local working copy from the git repository. ++ ++ :param ctxt: the build context ++ :type ctxt: `Context` ++ :param url: the url of the repository to clone ++ :param dir\_: the name of a local subdirectory containing the working copy ++ """ ++ args = ['clone', url, dir_] ++ ++ from bitten.build import shtools ++ returncode = shtools.execute(ctxt, file_='git', args=args) ++ if returncode != 0: ++ ctxt.error('git clone failed (%s)' % returncode) ++ ++def pull(ctxt, revision, remote='origin', dir_='.'): ++ """pull and update the local working copy from the git repository. ++ ++ :param ctxt: the build context ++ :type ctxt: `Context` ++ :param remote: the remote repository to pull from ++ :param dir\_: the name of a local subdirectory containing the working copy ++ """ ++ args = ['pull', '-u', remote, revision] ++ ++ from bitten.build import shtools ++ returncode = shtools.execute(ctxt, file_='git', dir_=dir_, args=args) ++ if returncode != 0: ++ ctxt.error('git pull failed (%s)' % returncode) ++ ++def checkout(ctxt, branch, dir_='.'): ++ """checkout specific branch ++ ++ :param ctxt: the build context ++ :type ctxt: `Context` ++ :param branch: branch to checkout ++ :param dir\_: the name of a local subdirectory containing the working copy ++ """ ++ args = ['checkout', branch] ++ ++ from bitten.build import shtools ++ returncode = shtools.execute(ctxt, file_='git', dir_=dir_, args=args) ++ if returncode != 0: ++ ctxt.error('git branch failed (%s)' % returncode) ++ ++def reset(ctxt, revision, dir_='.'): ++ """reset git tree to given revision/commit ++ ++ :param ctxt: the build context ++ :type ctxt: `Context` ++ :param revision: the revision/commit to reset to ++ :param dir\_: the name of a local subdirectory containing the working copy ++ """ ++ args = ['reset', '--hard', revision] ++ ++ from bitten.build import shtools ++ returncode = shtools.execute(ctxt, file_='git', dir_=dir_, args=args) ++ if returncode != 0: ++ ctxt.error('git reset failed (%s)' % returncode) ++ +diff -urN Bitten-0.6dev-r777/setup.py Bitten-0.6dev-r777.git/setup.py +--- Bitten-0.6dev-r777/setup.py 2009-10-16 14:15:34.000000000 +0200 ++++ Bitten-0.6dev-r777.git/setup.py 2009-10-24 17:05:22.000000000 +0200 +@@ -55,6 +55,10 @@ + 'svn#export = bitten.build.svntools:export', + 'svn#update = bitten.build.svntools:update', + 'hg#pull = bitten.build.hgtools:pull', ++ 'git#clone = bitten.build.gittools:clone', ++ 'git#pull = bitten.build.gittools:pull', ++ 'git#reset = bitten.build.gittools:reset', ++ 'git#checkout = bitten.build.gittools:checkout', + 'xml#transform = bitten.build.xmltools:transform' + ] + recipe_commands = [NS_old + tool for tool in tools] \ +@@ -133,6 +137,7 @@ + "bitten.build.pythontools", + "bitten.build.shtools", + "bitten.build.svntools", ++ "bitten.build.gittools", + "bitten.build.xmltools", + "bitten.recipe", + "bitten.slave", diff --git a/devel/trac-bitten/files/pkg-message.in b/devel/trac-bitten/files/pkg-message.in new file mode 100644 index 000000000000..4505d999f444 --- /dev/null +++ b/devel/trac-bitten/files/pkg-message.in @@ -0,0 +1,12 @@ +If your system is the build master, i.e. it is the system that runs +the Trac instance and integrates with the SCM, you need to configure +Trac to load the Bitten plugin and give permissions to the build +slaves. + +To run a build slave (which can also be on the same host), you need +to configure it by editing %%ETCDIR%%/bitten-slave.conf. +It is recommended to use a password secured Trac instance and set +username and password appropriately for the build slaves. + +For more detailed instructions please have a look at the documentation +at http://bitten.edgewall.org/wiki/Documentation/install.html diff --git a/devel/trac-bitten/pkg-descr b/devel/trac-bitten/pkg-descr new file mode 100644 index 000000000000..4f9743ac27f5 --- /dev/null +++ b/devel/trac-bitten/pkg-descr @@ -0,0 +1,13 @@ +A continuous integration plugin for Trac. + +Bitten is a Python-based framework for collecting various software +metrics via continuous integration. It builds on Trac to provide +an integrated web-based user interface. Build slaves are usually +installed and run on multiple different systems to compile and test +the software on these platforms on new checkins. + +Set bitten_slave_enable to "yes" and bitten_slave_urls to contain +one or more Bitten build URLs. For form authentication add --form-auth +to flags. + +WWW: http://bitten.edgewall.org/ diff --git a/devel/trac-bitten/pkg-plist b/devel/trac-bitten/pkg-plist new file mode 100644 index 000000000000..3efe038c7e63 --- /dev/null +++ b/devel/trac-bitten/pkg-plist @@ -0,0 +1,139 @@ +bin/bitten-slave +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/PKG-INFO +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/SOURCES.txt +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/dependency_links.txt +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/entry_points.txt +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/not-zip-safe +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/top_level.txt +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/__init__.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/__init__.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/__init__.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/admin.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/admin.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/admin.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/api.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/api.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/api.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/__init__.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/__init__.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/__init__.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/api.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/api.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/api.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/config.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/config.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/config.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/ctools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/ctools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/ctools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/gittools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/gittools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/gittools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/hgtools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/hgtools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/hgtools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/javatools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/javatools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/javatools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/monotools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/monotools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/monotools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/phptools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/phptools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/phptools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/pythontools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/pythontools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/pythontools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/shtools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/shtools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/shtools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/svntools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/svntools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/svntools.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/xmltools.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/xmltools.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/xmltools.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/admin.css +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten.css +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten_build.png +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten_buildf.png +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten_coverage.css +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/excanvas.js +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/failure.png +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/jquery.flot.js +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/tabset.js +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/main.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/main.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/main.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/master.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/master.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/master.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/model.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/model.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/model.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/notify.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/notify.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/notify.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/queue.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/queue.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/queue.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/recipe.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/recipe.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/recipe.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/__init__.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/__init__.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/__init__.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/coverage.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/coverage.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/coverage.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/lint.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/lint.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/lint.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/testing.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/testing.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/testing.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/slave.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/slave.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/slave.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_admin_configs.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_admin_master.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_build.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_config.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_notify_email.txt +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_summary_coverage.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_summary_lint.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_summary_tests.html +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/json.txt +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/upgrades.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/upgrades.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/upgrades.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/__init__.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/__init__.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/__init__.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/compat.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/compat.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/compat.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/json.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/json.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/json.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/loc.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/loc.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/loc.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/testrunner.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/testrunner.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/testrunner.pyo +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/xmlio.py +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/xmlio.pyc +%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/xmlio.pyo +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/web_ui.py +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/web_ui.pyc +%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/web_ui.pyo +%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates +%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report +%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs +@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util +@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build +@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten +@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO +@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg +@unexec %%ECHO_MSG%% "===> If you will *NOT* use this package anymore, please remove the bitten-slave user and group manually." |