From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Nov 1 02:00:15 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DF3C1065697 for ; Sun, 1 Nov 2009 02:00:15 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 040F58FC27 for ; Sun, 1 Nov 2009 02:00:15 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nA1207Uu041892 for ; Sun, 1 Nov 2009 02:00:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nA12073i041891; Sun, 1 Nov 2009 02:00:07 GMT (envelope-from gnats) Resent-Date: Sun, 1 Nov 2009 02:00:07 GMT Resent-Message-Id: <200911010200.nA12073i041891@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Tim Niemueller Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D9BE1065676 for ; Sun, 1 Nov 2009 01:50:07 +0000 (UTC) (envelope-from tim@barbossa.informatik.rwth-aachen.de) Received: from barbossa.informatik.rwth-aachen.de (barbossa.informatik.RWTH-Aachen.DE [137.226.232.55]) by mx1.freebsd.org (Postfix) with ESMTP id 159CD8FC1C for ; Sun, 1 Nov 2009 01:50:05 +0000 (UTC) Received: from barbossa.informatik.rwth-aachen.de (localhost [127.0.0.1]) by barbossa.informatik.rwth-aachen.de (8.14.3/8.14.3) with ESMTP id nA11e3Zo005123 for ; Sun, 1 Nov 2009 02:40:03 +0100 (CET) (envelope-from tim@barbossa.informatik.rwth-aachen.de) Received: (from tim@localhost) by barbossa.informatik.rwth-aachen.de (8.14.3/8.14.3/Submit) id nA11e3X8005122; Sun, 1 Nov 2009 02:40:03 +0100 (CET) (envelope-from tim) Message-Id: <200911010140.nA11e3X8005122@barbossa.informatik.rwth-aachen.de> Date: Sun, 1 Nov 2009 02:40:03 +0100 (CET) From: Tim Niemueller To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/140157: New port: www/trac-bitten Continuous integration for Trac X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Tim Niemueller List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Nov 2009 02:00:15 -0000 >Number: 140157 >Category: ports >Synopsis: New port: www/trac-bitten Continuous integration for Trac >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Nov 01 02:00:07 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Tim Niemueller >Release: FreeBSD 7.2-RELEASE-p4 i386 >Organization: >Environment: System: FreeBSD barbossa 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #0: Fri Oct 2 12:21:39 UTC 2009 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386 >Description: New port for the Bitten continuous integration plugin for Trac. It includes the Trac master, which runs inside Trac and offers a web interface to manage and monitor builds, and a build slave which runs as a daemon on build machines which regularly checks for new pending builds and then executes them. The slave daemon runs as a specified user, hence the new UID/GID bitten-slave. Contains custom startup script and config file and the following patches: patch-0.6.x-r785: updates the base revision to tested stable svn version, required for proper operation patch-git: Add git specific recipe commands, patch sent upstream but not yet included patch-navtypo: Fixes simple typo, patch sent upstream The following extra files specific to FreeBSD are provided: bitten-slave.sample: example configuration, will be transformed to config file if none exists during installation bitten-slave.in: startup script for bitten slave daemon This is my first port, let me know what needs to be changed. >How-To-Repeat: >Fix: --- trac-bitten.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # /usr/ports/www/trac-bitten # /usr/ports/www/trac-bitten/Makefile # /usr/ports/www/trac-bitten/distinfo # /usr/ports/www/trac-bitten/pkg-descr # /usr/ports/www/trac-bitten/pkg-plist # /usr/ports/www/trac-bitten/pkg-install # /usr/ports/www/trac-bitten/files # /usr/ports/www/trac-bitten/files/patch-0.6.x-r785 # /usr/ports/www/trac-bitten/files/bitten-slave.sample # /usr/ports/www/trac-bitten/files/patch-git # /usr/ports/www/trac-bitten/files/patch-navtypo # /usr/ports/www/trac-bitten/files/bitten-slave.in # echo c - /usr/ports/www/trac-bitten mkdir -p /usr/ports/www/trac-bitten > /dev/null 2>&1 echo x - /usr/ports/www/trac-bitten/Makefile sed 's/^X//' >/usr/ports/www/trac-bitten/Makefile << '58227838cc4bf460f9feb849c662a44b' X# New ports collection makefile for: trac-bitten X# Date created: Oct 26 2009 X# Whom: Tim Niemueller X# X# $FreeBSD$ X# X XPORTNAME= bitten XPORTVERSION= 0.6b2 XCATEGORIES= www devel python XMASTER_SITES= http://ftp.edgewall.com/pub/bitten/ XPKGNAMEPREFIX= trac- XDISTNAME= Bitten-${PORTVERSION} X XMAINTAINER= tim@niemueller.de XCOMMENT= Continuous integration for Trac X XBITTENVERSION= 0.6 X XOPTIONS= BITTEN_MASTER "Build bitten master" ON X.include X XBUILD_DEPENDS+= easy_install:${PORTSDIR}/devel/py-setuptools X.if defined(WITH_BITTEN_MASTER) XRUN_DEPENDS+= tracd:${PORTSDIR}/www/trac X.endif X XWRKSRC= ${WRKDIR}/Bitten-${PORTVERSION} XNO_BUILD= yes XUSE_PYTHON= 2.3+ XUSE_PYDISTUTILS=yes XPLIST_SUB+= PORTVERSION=${BITTENVERSION} PYTHONVERSION=${_PYTHON_VERSION} XSUB_LIST+= PYTHON_CMD=${_PYTHON_CMD} XPYDISTUTILS_NOEGGINFO= yes XPYDISTUTILS_PKGNAME= Bitten XPATCH_STRIP= -p1 XUSE_RC_SUBR= bitten-slave X X.if defined(WITHOUT_BITTEN_MASTER) XPYDISTUTILS_EXTRA_INSTALLARGS=--without-master XPLIST_SUB+= MASTER_PORT="@comment " EGG_NAME="BittenSlave" X.else XPLIST_SUB+= EGG_NAME="Bitten" X.endif X Xpre-install: X @${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL X X# reproduce rule here with added PYDISTUTILS_EXTRA_INSTALLARGS Xdo-install: X @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_EXTRA_INSTALLARGS} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) X Xpost-install: X @if [ ! -f ${ETCDIR}/bitten-slave.conf ]; then \ X ${ECHO} Generating initial configuration in ${ETCDIR}/bitten-slave.conf; \ X ${MKDIR} ${ETCDIR}; \ X ${SED} -e 's/@DISTRO@/${OPSYS}/g' -e 's/@DISTRO_VERSION@/${OSREL}/g' ${FILESDIR}/bitten-slave.sample > ${ETCDIR}/bitten-slave.conf; \ X ${CP} ${FILESDIR}/bitten-slave.sample ${ETCDIR}; \ X fi X X.include 58227838cc4bf460f9feb849c662a44b echo x - /usr/ports/www/trac-bitten/distinfo sed 's/^X//' >/usr/ports/www/trac-bitten/distinfo << '3d8b62971e90c5aaf5cad5fb015c1d1f' XMD5 (Bitten-0.6b2.tar.gz) = bfc9ba5d723e76fe8492358f86b70a21 XSHA256 (Bitten-0.6b2.tar.gz) = 47f3a4d6031f67ce66edece38d56a9eae26a1b6b57df786b23a89aaa579f710c XSIZE (Bitten-0.6b2.tar.gz) = 355500 3d8b62971e90c5aaf5cad5fb015c1d1f echo x - /usr/ports/www/trac-bitten/pkg-descr sed 's/^X//' >/usr/ports/www/trac-bitten/pkg-descr << 'ab2732dc50d1b47325b519f1902760ba' XA continuous integration plugin for Trac. X XSet bitten_slave_enable to "yes" and bitten_slave_flags to contain one or more XBitten build URLs. For form authentication add --form-auth to flags. X XWWW: http://bitten.edgewall.org ab2732dc50d1b47325b519f1902760ba echo x - /usr/ports/www/trac-bitten/pkg-plist sed 's/^X//' >/usr/ports/www/trac-bitten/pkg-plist << 'a9212d56bf4c0114a8db181a646ee5b8' X@stopdaemon bitten-slave Xbin/bitten-slave X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/PKG-INFO X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/SOURCES.txt X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/dependency_links.txt X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/entry_points.txt X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/not-zip-safe X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO/top_level.txt X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/__init__.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/__init__.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/__init__.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/admin.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/admin.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/admin.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/api.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/api.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/api.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/__init__.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/__init__.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/__init__.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/api.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/api.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/api.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/config.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/config.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/config.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/ctools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/ctools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/ctools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/gittools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/gittools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/gittools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/hgtools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/hgtools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/hgtools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/javatools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/javatools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/javatools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/monotools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/monotools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/monotools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/phptools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/phptools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/phptools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/pythontools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/pythontools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/pythontools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/shtools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/shtools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/shtools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/svntools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/svntools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/svntools.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/xmltools.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/xmltools.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build/xmltools.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/admin.css X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten.css X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten.css.orig X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten_build.png X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten_buildf.png X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/bitten_coverage.css X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/arno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/arst.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/brfl.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/brno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/brst.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/cl3d.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/clfl.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/clno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/clp3.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/cls3.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/clst.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/cnno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/lnno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/mxno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/pi3d.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/pino.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library/scno.swf X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/failure.png X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/tabset.js X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/main.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/main.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/main.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/master.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/master.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/master.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/model.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/model.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/model.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/notify.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/notify.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/notify.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/queue.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/queue.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/queue.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/recipe.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/recipe.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/recipe.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/__init__.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/__init__.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/__init__.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/coverage.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/coverage.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/coverage.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/lint.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/lint.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/lint.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/testing.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/testing.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report/testing.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/slave.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/slave.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/slave.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_admin_configs.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_admin_master.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_build.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_chart_coverage.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_chart_lint.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_chart_tests.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_config.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_notify_email.txt X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_summary_coverage.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_summary_lint.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates/bitten_summary_tests.html X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/upgrades.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/upgrades.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/upgrades.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/__init__.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/__init__.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/__init__.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/loc.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/loc.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/loc.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/testrunner.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/testrunner.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/testrunner.pyo X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/xmlio.py X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/xmlio.pyc X%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util/xmlio.pyo X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/web_ui.py X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/web_ui.pyc X%%MASTER_PORT%%%%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/web_ui.pyo X%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/templates X%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/report X%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs/charts_library X%%MASTER_PORT%%@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/htdocs X@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/util X@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten/build X@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/bitten X@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg/EGG-INFO X@dirrm %%PYTHON_SITELIBDIR%%/%%EGG_NAME%%-%%PORTVERSION%%-py%%PYTHONVERSION%%.egg X@unexec echo "Warning: If you will *NOT* use this package anymore, please remove the bitten-slave user and group manually." a9212d56bf4c0114a8db181a646ee5b8 echo x - /usr/ports/www/trac-bitten/pkg-install sed 's/^X//' >/usr/ports/www/trac-bitten/pkg-install << '7c6b9eaba04aecb2e5633c8fe6de520c' X#!/bin/sh X XPATH=/bin:/usr/sbin X XUSER=bitten-slave XGROUP=bitten-slave XUID=212 XGID=212 X Xcase $2 in X PRE-INSTALL) X if pw group show "${GROUP}" 2>/dev/null; then X echo "You already have a group \"${GROUP}\", so I will use it." X else X if pw groupadd ${GROUP} -g ${GID}; then X echo "Added group \"${GROUP}\"." X else X echo "Adding group \"${GROUP}\" failed..." X exit 1 X fi X fi X X if pw user show "${USER}" 2>/dev/null; then X echo "You already have a user \"${USER}\", so I will use it." X else X if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ X -s /bin/sh -L daemon -m -d /var/lib/bitten-slave -c "bitten slave" X then X echo "Added user \"${USER}\"." X else X echo "Adding user \"${USER}\" failed..." X exit 1 X fi X fi X ;; Xesac X 7c6b9eaba04aecb2e5633c8fe6de520c echo c - /usr/ports/www/trac-bitten/files mkdir -p /usr/ports/www/trac-bitten/files > /dev/null 2>&1 echo x - /usr/ports/www/trac-bitten/files/patch-0.6.x-r785 sed 's/^X//' >/usr/ports/www/trac-bitten/files/patch-0.6.x-r785 << 'fd0562f82f97a0359e7ac199da5cba0a' Xdiff -urN --exclude=.svn 0.6b2/ChangeLog 0.6.x/ChangeLog X--- 0.6b2/ChangeLog 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/ChangeLog 2009-10-26 18:22:22.000000000 +0100 X@@ -1,3 +1,10 @@ X+Version 0.6 X+(???, from 0.6.x branch) X+http://svn.edgewall.org/repos/bitten/tags/0.6 X+ X+ * ??? X+ X+ X Version 0.6b2 X (12 September, from 0.6.x branch) X http://svn.edgewall.org/repos/bitten/tags/0.6b2 Xdiff -urN --exclude=.svn 0.6b2/bitten/build/api.py 0.6.x/bitten/build/api.py X--- 0.6b2/bitten/build/api.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/build/api.py 2009-10-26 18:22:21.000000000 +0100 X@@ -50,7 +50,7 @@ X class CommandLine(object): X """Simple helper for executing subprocesses.""" X X- def __init__(self, executable, args, input=None, cwd=None): X+ def __init__(self, executable, args, input=None, cwd=None, shell=False): X """Initialize the CommandLine object. X X :param executable: the name of the program to execute X@@ -66,6 +66,7 @@ X self.cwd = cwd X if self.cwd: X assert os.path.isdir(self.cwd) X+ self.shell = shell X self.returncode = None X X X@@ -102,7 +103,7 @@ X stdout=subprocess.PIPE, X stderr=subprocess.PIPE, X cwd=(self.cwd or None), X- shell=False, X+ shell=self.shell, X universal_newlines=True, X env=None) X except Exception, e: Xdiff -urN --exclude=.svn 0.6b2/bitten/build/javatools.py 0.6.x/bitten/build/javatools.py X--- 0.6b2/bitten/build/javatools.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/build/javatools.py 2009-10-26 18:22:21.000000000 +0100 X@@ -60,7 +60,12 @@ X if target: X args.append(target) X X- cmdline = CommandLine(executable, args, cwd=ctxt.basedir) X+ shell = False X+ if os.name == 'nt': X+ # Need to execute ant.bat through a shell on Windows X+ shell = True X+ X+ cmdline = CommandLine(executable, args, cwd=ctxt.basedir, shell=shell) X for out, err in cmdline.execute(): X if out is not None: X log.info(out) Xdiff -urN --exclude=.svn 0.6b2/bitten/build/shtools.py 0.6.x/bitten/build/shtools.py X--- 0.6b2/bitten/build/shtools.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/build/shtools.py 2009-10-26 18:22:21.000000000 +0100 X@@ -101,6 +101,12 @@ X if file_ and os.path.isfile(resolve(file_)): X file_ = resolve(file_) X X+ shell = False X+ X+ if file_ and os.name == 'nt': X+ # Need to execute script files through a shell on Windows X+ shell = True X+ X if executable is None: X executable = file_ X elif file_: X@@ -109,8 +115,7 @@ X # Support important Windows CMD.EXE built-ins (and it does its own quoting) X if os.name == 'nt' and executable.upper() in ['COPY', 'DIR', 'ECHO', X 'ERASE', 'DEL', 'MKDIR', 'MD', 'MOVE', 'RMDIR', 'RD', 'TYPE']: X- args = ['/C', executable] + [arg.strip('"') for arg in args] X- executable = os.environ['COMSPEC'] X+ shell = True X X if input_: X input_file = file(resolve(input_), 'r') X@@ -132,7 +137,7 @@ X X try: X cmdline = CommandLine(executable, args, input=input_file, X- cwd=dir_) X+ cwd=dir_, shell=shell) X log_elem = xmlio.Fragment() X for out, err in cmdline.execute(): X if out is not None: Xdiff -urN --exclude=.svn 0.6b2/bitten/htdocs/bitten.css 0.6.x/bitten/htdocs/bitten.css X--- 0.6b2/bitten/htdocs/bitten.css 2009-10-26 18:22:29.000000000 +0100 X+++ 0.6.x/bitten/htdocs/bitten.css 2009-10-26 18:22:20.000000000 +0100 X@@ -155,7 +155,6 @@ X #content.build tbody.totals td, #content.build tbody.totals th { X font-weight: bold; X } X-#content.build table.tests tr.failed { background: #d99; } X #content.build table.tests tr.failed th, X #content.build table.tests tr.failed td { font-weight: bold; } X #content.build table.tests tr.failed :link, X@@ -167,7 +166,8 @@ X margin: 0; padding-left: 32px; padding-top: 5px; text-align: left; font-weight: normal; X } X #content.build table.tests tr th p.details span { X- white-space: pre; font-family: monospace; font-weight: normal; color: #666; X+ white-space: pre; font-family: monospace; font-weight: normal; font-size: smaller; X+ color: #666; X } X #content.build table.tests .fixture { display: inline; } X #content.build table.tests tr.failed th .fixture a { Xdiff -urN --exclude=.svn 0.6b2/bitten/main.py 0.6.x/bitten/main.py X--- 0.6b2/bitten/main.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/main.py 2009-10-26 18:22:21.000000000 +0100 X@@ -127,7 +127,7 @@ X **kwargs): X config_name, build_id = self._parse_resource(resource.id) X config = BuildConfig.fetch(self.env, config_name) X- config_label = config.label or config_name X+ config_label = config and config.label and config.label or config_name X if context: X if build_id: X return tag.a('Build %d ("%s")' % (build_id, config_label), Xdiff -urN --exclude=.svn 0.6b2/bitten/master.py 0.6.x/bitten/master.py X--- 0.6b2/bitten/master.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/master.py 2009-10-26 18:22:21.000000000 +0100 X@@ -138,6 +138,7 @@ X """ Formats and sends the response, raising ``RequestDone``. """ X req.send_response(code) X headers = headers or {} X+ headers.setdefault('Content-Length', len(body)) X for header in headers: X req.send_header(header, headers[header]) X req.write(body) Xdiff -urN --exclude=.svn 0.6b2/bitten/report/coverage.py 0.6.x/bitten/report/coverage.py X--- 0.6b2/bitten/report/coverage.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/report/coverage.py 2009-10-26 18:22:21.000000000 +0100 X@@ -187,7 +187,7 @@ X title='Annotate file with test coverage ' X 'data (if available)', X href=req.href.browser(resource.id, X- annotate='coverage', rev=data.get('rev'))) X+ annotate='coverage', rev=resource.version)) X return template, data, content_type X X # IHTMLPreviewAnnotator methods Xdiff -urN --exclude=.svn 0.6b2/bitten/report/lint.py 0.6.x/bitten/report/lint.py X--- 0.6b2/bitten/report/lint.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/report/lint.py 2009-10-26 18:22:21.000000000 +0100 X@@ -45,7 +45,7 @@ X from bitten_report as report X left outer join bitten_build as build ON (report.build=build.id) X where build.config='%s' and report.category='lint' X-group by build.rev_time, build.rev, build.platform X+group by build.rev_time, build.rev, build.platform, report.id X order by build.rev_time;""" % (config.name,) X X #self.log.debug('sql=\'%s\'' % (query,)) Xdiff -urN --exclude=.svn 0.6b2/bitten/templates/bitten_summary_lint.html 0.6.x/bitten/templates/bitten_summary_lint.html X--- 0.6b2/bitten/templates/bitten_summary_lint.html 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/templates/bitten_summary_lint.html 2009-10-26 18:22:20.000000000 +0100 X@@ -2,7 +2,9 @@ X PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" X "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> X X+ xmlns:py="http://genshi.edgewall.org/" X+ py:strip=""> X+ X X

Code Lint

X X@@ -43,4 +45,5 @@ X X
X X+ X Xdiff -urN --exclude=.svn 0.6b2/bitten/tests/queue.py 0.6.x/bitten/tests/queue.py X--- 0.6b2/bitten/tests/queue.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/bitten/tests/queue.py 2009-10-26 18:22:21.000000000 +0100 X@@ -291,7 +291,9 @@ X X thread1 = threading.Thread(target=build_populator) X thread2 = threading.Thread(target=build_populator) X- thread1.start(); thread2.start() X+ # tiny sleep is to avoid odd segementation faults X+ # (on Linux) and bus errors (on Mac OS X) X+ thread1.start(); time.sleep(0.01); thread2.start() X thread1.join(); thread2.join() X X # check builds got added Xdiff -urN --exclude=.svn 0.6b2/doc/recipes.txt 0.6.x/doc/recipes.txt X--- 0.6b2/doc/recipes.txt 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/doc/recipes.txt 2009-10-26 18:22:21.000000000 +0100 X@@ -125,3 +125,6 @@ X X X This will pass 3 arguments: ``o\ne`` + ``4 2`` + ``"hi there"``. X+ X+**Note:** On Windows, batch scripts and built-ins will execute through a shell. X+This may affect quoting of arguments. Xdiff -urN --exclude=.svn 0.6b2/setup.cfg 0.6.x/setup.cfg X--- 0.6b2/setup.cfg 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/setup.cfg 2009-10-26 18:22:22.000000000 +0100 X@@ -1,3 +1,7 @@ X+[egg_info] X+tag_build = dev X+tag_svn_revision = true X+ X [unittest] X xml_output = build/test-results.xml X coverage_summary = build/test-coverage.txt Xdiff -urN --exclude=.svn 0.6b2/setup.py 0.6.x/setup.py X--- 0.6b2/setup.py 2009-10-26 18:22:30.000000000 +0100 X+++ 0.6.x/setup.py 2009-10-26 18:22:22.000000000 +0100 X@@ -110,7 +110,7 @@ X X setup( X name = 'BittenSlave', X- version = '0.6b2', X+ version = '0.6', X author = 'Edgewall Software', X author_email = 'info@edgewall.org', X license = 'BSD', fd0562f82f97a0359e7ac199da5cba0a echo x - /usr/ports/www/trac-bitten/files/bitten-slave.sample sed 's/^X//' >/usr/ports/www/trac-bitten/files/bitten-slave.sample << 'd64adc5ca0a90af51f8f43ecccbf57d0' X;[authentication] X; user/pass for login to Trac X;username = X;password = X X[os] Xname = @DISTRO@ Xversion = @DISTRO_VERSION@ X X;[package:some-package] X;version = 2.0 X d64adc5ca0a90af51f8f43ecccbf57d0 echo x - /usr/ports/www/trac-bitten/files/patch-git sed 's/^X//' >/usr/ports/www/trac-bitten/files/patch-git << 'a012ae9b761fe12c67aa8799093090de' Xdiff -urN Bitten-0.6dev-r777/bitten/build/gittools.py Bitten-0.6dev-r777.git/bitten/build/gittools.py X--- Bitten-0.6dev-r777/bitten/build/gittools.py 1970-01-01 01:00:00.000000000 +0100 X+++ Bitten-0.6dev-r777.git/bitten/build/gittools.py 2009-10-24 17:03:02.000000000 +0200 X@@ -0,0 +1,77 @@ X+# -*- coding: utf-8 -*- X+# Copyright (C) Tim Niemueller [www.niemueller.de] X+# Copyright (C) 2007 Edgewall Software X+# based on hgtools.py X+# X+# This software is licensed as described in the file COPYING, which X+# you should have received as part of this distribution. The terms X+# are also available at http://bitten.edgewall.org/wiki/License. X+ X+"""Recipe commands for git.""" X+ X+import logging X+ X+log = logging.getLogger('bitten.build.gittools') X+ X+__docformat__ = 'restructuredtext en' X+ X+def clone(ctxt, url, dir_='.'): X+ """pull and update the local working copy from the git repository. X+ X+ :param ctxt: the build context X+ :type ctxt: `Context` X+ :param url: the url of the repository to clone X+ :param dir\_: the name of a local subdirectory containing the working copy X+ """ X+ args = ['clone', url, dir_] X+ X+ from bitten.build import shtools X+ returncode = shtools.execute(ctxt, file_='git', args=args) X+ if returncode != 0: X+ ctxt.error('git clone failed (%s)' % returncode) X+ X+def pull(ctxt, revision, remote='origin', dir_='.'): X+ """pull and update the local working copy from the git repository. X+ X+ :param ctxt: the build context X+ :type ctxt: `Context` X+ :param remote: the remote repository to pull from X+ :param dir\_: the name of a local subdirectory containing the working copy X+ """ X+ args = ['pull', '-u', remote, revision] X+ X+ from bitten.build import shtools X+ returncode = shtools.execute(ctxt, file_='git', dir_=dir_, args=args) X+ if returncode != 0: X+ ctxt.error('git pull failed (%s)' % returncode) X+ X+def checkout(ctxt, branch, dir_='.'): X+ """checkout specific branch X+ X+ :param ctxt: the build context X+ :type ctxt: `Context` X+ :param branch: branch to checkout X+ :param dir\_: the name of a local subdirectory containing the working copy X+ """ X+ args = ['checkout', branch] X+ X+ from bitten.build import shtools X+ returncode = shtools.execute(ctxt, file_='git', dir_=dir_, args=args) X+ if returncode != 0: X+ ctxt.error('git branch failed (%s)' % returncode) X+ X+def reset(ctxt, revision, dir_='.'): X+ """reset git tree to given revision/commit X+ X+ :param ctxt: the build context X+ :type ctxt: `Context` X+ :param revision: the revision/commit to reset to X+ :param dir\_: the name of a local subdirectory containing the working copy X+ """ X+ args = ['reset', '--hard', revision] X+ X+ from bitten.build import shtools X+ returncode = shtools.execute(ctxt, file_='git', dir_=dir_, args=args) X+ if returncode != 0: X+ ctxt.error('git reset failed (%s)' % returncode) X+ Xdiff -urN Bitten-0.6dev-r777/setup.py Bitten-0.6dev-r777.git/setup.py X--- Bitten-0.6dev-r777/setup.py 2009-10-16 14:15:34.000000000 +0200 X+++ Bitten-0.6dev-r777.git/setup.py 2009-10-24 17:05:22.000000000 +0200 X@@ -55,6 +55,10 @@ X 'svn#export = bitten.build.svntools:export', X 'svn#update = bitten.build.svntools:update', X 'hg#pull = bitten.build.hgtools:pull', X+ 'git#clone = bitten.build.gittools:clone', X+ 'git#pull = bitten.build.gittools:pull', X+ 'git#reset = bitten.build.gittools:reset', X+ 'git#checkout = bitten.build.gittools:checkout', X 'xml#transform = bitten.build.xmltools:transform' X ] X recipe_commands = [NS_old + tool for tool in tools] \ X@@ -133,6 +137,7 @@ X "bitten.build.pythontools", X "bitten.build.shtools", X "bitten.build.svntools", X+ "bitten.build.gittools", X "bitten.build.xmltools", X "bitten.recipe", X "bitten.slave", a012ae9b761fe12c67aa8799093090de echo x - /usr/ports/www/trac-bitten/files/patch-navtypo sed 's/^X//' >/usr/ports/www/trac-bitten/files/patch-navtypo << '3f06bf672860abb437bf85e39aa05fb6' Xdiff -urN Bitten-0.6dev-r777/bitten/web_ui.py Bitten-0.6dev-r777.typo/bitten/web_ui.py X--- Bitten-0.6dev-r777/bitten/web_ui.py 2009-10-16 14:15:34.000000000 +0200 X+++ Bitten-0.6dev-r777.typo/bitten/web_ui.py 2009-10-24 16:49:58.000000000 +0200 X@@ -109,7 +109,7 @@ X if not status: X status='bittenpending' X yield ('mainnav', 'build', X- tag.a('Builds Status', href=req.href.build(), accesskey=5, X+ tag.a('Build Status', href=req.href.build(), accesskey=5, X class_=status)) X X # ITemplatesProvider methods 3f06bf672860abb437bf85e39aa05fb6 echo x - /usr/ports/www/trac-bitten/files/bitten-slave.in sed 's/^X//' >/usr/ports/www/trac-bitten/files/bitten-slave.in << '365fd87f488a5693894e621e1c551ee8' X#!/bin/sh X# X# $FreeBSD$ X# X# PROVIDE: bitten-slave X# REQUIRE: DAEMON X# KEYWORD: FreeBSD X# X# Bitten continuous integration build slave X# X X. %%RC_SUBR%% X Xname=bitten_slave Xrcvar=`set_rcvar` Xlogfile=/var/log/bitten-slave.log Xconffile=/usr/local/etc/bitten/bitten-slave.conf Xworkdir=/var/lib/bitten-slave X Xload_rc_config ${name} X Xcommand=/usr/local/bin/bitten-slave Xcommand_args="-f ${conffile} -d ${workdir} --log=${logfile} ${bitten_slave_urls} >/dev/null &" Xcommand_interpreter=%%PYTHON_CMD%% Xstart_precmd="touch $logfile && chown bitten-slave $logfile" Xbitten_slave_user=bitten-slave Xbitten_slave_group=bitten-slave X Xrun_rc_command "$1" X 365fd87f488a5693894e621e1c551ee8 exit --- trac-bitten.shar ends here --- --- UIDs.patch begins here --- --- UIDs 2009-11-01 02:07:56.000000000 +0100 +++ UIDs.bitten 2009-11-01 02:07:44.000000000 +0100 @@ -93,6 +93,7 @@ dspam:*:202:202::0:0:Dspam:/nonexistent:/usr/sbin/nologin shoutcast:*:210:210::0:0:Shoutcast sandbox:/nonexistent:/bin/sh git:*:211:211:gitosis user:/usr/local/git:/bin/sh +bitten-slave:*:212:212:bitten slave:/var/lib/bitten-slave:/bin/sh bs:*:220:220::0:0:Big Sister:/usr/local/bigsister:/bin/sh postgrey:*:225:225::0:0:Postgrey Owner:/nonexistent:/usr/sbin/nologin aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh --- UIDs.patch ends here --- --- GIDs.patch begins here --- --- GIDs 2009-11-01 02:08:01.000000000 +0100 +++ GIDs.bitten 2009-11-01 02:07:50.000000000 +0100 @@ -83,6 +83,7 @@ sympa:*:200: dspam:*:202: git:*:211: +bitten-slave:*:212: bs:*:220: postgrey:*:225: aprsd:*:240: --- GIDs.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: