summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarien Zwart <marienz@gentoo.org>2006-09-25 17:42:37 +0000
committerMarien Zwart <marienz@gentoo.org>2006-09-25 17:42:37 +0000
commit9bb229d8afd22be6f690e3fb68394d06a40a8758 (patch)
tree7dd70c8ab3996ef342991fd6acbe27521d554d6f /dev-util/buildbot
parentStable on ppc wrt bug 149049 (diff)
downloadgentoo-2-9bb229d8afd22be6f690e3fb68394d06a40a8758.tar.gz
gentoo-2-9bb229d8afd22be6f690e3fb68394d06a40a8758.tar.bz2
gentoo-2-9bb229d8afd22be6f690e3fb68394d06a40a8758.zip
-m New package, ebuild based on one by Michael Schmid <meheschmid@gmx.ch>. Closes bug #133004.
(Portage version: 2.1.2_pre1)
Diffstat (limited to 'dev-util/buildbot')
-rw-r--r--dev-util/buildbot/ChangeLog13
-rw-r--r--dev-util/buildbot/Manifest32
-rw-r--r--dev-util/buildbot/buildbot-0.7.4.ebuild80
-rw-r--r--dev-util/buildbot/files/buildbot-0.7.4-svn-1.4.patch38
-rw-r--r--dev-util/buildbot/files/buildbot.initd48
-rw-r--r--dev-util/buildbot/files/buildmaster.confd10
-rw-r--r--dev-util/buildbot/files/buildslave.confd10
-rw-r--r--dev-util/buildbot/files/digest-buildbot-0.7.43
-rw-r--r--dev-util/buildbot/metadata.xml24
9 files changed, 258 insertions, 0 deletions
diff --git a/dev-util/buildbot/ChangeLog b/dev-util/buildbot/ChangeLog
new file mode 100644
index 000000000000..657f57eaf31a
--- /dev/null
+++ b/dev-util/buildbot/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for dev-util/buildbot
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/buildbot/ChangeLog,v 1.1 2006/09/25 17:42:37 marienz Exp $
+
+*buildbot-0.7.4 (25 Sep 2006)
+
+ 25 Sep 2006; Marien Zwart <marienz@gentoo.org>
+ +files/buildbot-0.7.4-svn-1.4.patch, +files/buildbot.initd,
+ +files/buildmaster.confd, +files/buildslave.confd, +metadata.xml,
+ +buildbot-0.7.4.ebuild:
+ -m New package, ebuild based on one by Michael Schmid <meheschmid@gmx.ch>.
+ Closes bug #133004.
+
diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
new file mode 100644
index 000000000000..51c958411bfd
--- /dev/null
+++ b/dev-util/buildbot/Manifest
@@ -0,0 +1,32 @@
+AUX buildbot-0.7.4-svn-1.4.patch 1551 RMD160 43c38ca11f1e1cb24d4f91619f2b02c3deec2ed1 SHA1 c133fdffcfc27a9c712c6915e31cd8f979f21a1e SHA256 5dc4efac0c94baafb22cd102f1b8006db67d62d7a6a02a4c2c0d58cf8dd2b6d0
+MD5 b161bc2b612cd2eb758208f570df0d95 files/buildbot-0.7.4-svn-1.4.patch 1551
+RMD160 43c38ca11f1e1cb24d4f91619f2b02c3deec2ed1 files/buildbot-0.7.4-svn-1.4.patch 1551
+SHA256 5dc4efac0c94baafb22cd102f1b8006db67d62d7a6a02a4c2c0d58cf8dd2b6d0 files/buildbot-0.7.4-svn-1.4.patch 1551
+AUX buildbot.initd 1110 RMD160 2bb4fb53c8e9ffd4f06b4adf46fb4d9169a34a0a SHA1 4da9b49fca604d41460524d5c59ce49c0e3acef0 SHA256 522854c4632e81087fd35eb98f7c876ea060f2689c6c065f7667970901737479
+MD5 761e50f6cb33d6c6642fad410812a129 files/buildbot.initd 1110
+RMD160 2bb4fb53c8e9ffd4f06b4adf46fb4d9169a34a0a files/buildbot.initd 1110
+SHA256 522854c4632e81087fd35eb98f7c876ea060f2689c6c065f7667970901737479 files/buildbot.initd 1110
+AUX buildmaster.confd 218 RMD160 a8f6893aa83c0c169f493104e1c6f023ec45f787 SHA1 8dc5e868092a8ea90c0cec5650ba85e412295968 SHA256 bb7f93e3867b32a25e2445a66d40573fa5073a80e73e35ae2a904db715f870c6
+MD5 b3cd43ecb53b66433e0384ad922ffde1 files/buildmaster.confd 218
+RMD160 a8f6893aa83c0c169f493104e1c6f023ec45f787 files/buildmaster.confd 218
+SHA256 bb7f93e3867b32a25e2445a66d40573fa5073a80e73e35ae2a904db715f870c6 files/buildmaster.confd 218
+AUX buildslave.confd 215 RMD160 ffe7545a43c10a9f3e9798f23ba6a32ab47c137b SHA1 8c57893b6ef370a98f4af552d91e1b702b89abd6 SHA256 5d0ab58d0808ccfa2d594b22047dfca9167c855ff749d34523177cefb307f76a
+MD5 f1c9cf5c02a9eb77d6793099cb472c8d files/buildslave.confd 215
+RMD160 ffe7545a43c10a9f3e9798f23ba6a32ab47c137b files/buildslave.confd 215
+SHA256 5d0ab58d0808ccfa2d594b22047dfca9167c855ff749d34523177cefb307f76a files/buildslave.confd 215
+DIST buildbot-0.7.4.tar.gz 862827 RMD160 8b7ec0dd615209b5ab976cb2da195249ce147189 SHA1 d661b0058188ed92cc7ae8e8b0a76704d7581ca5 SHA256 d9b1ff5bfcf746be348d75096e9a4824b9b6f02eccdc8b53402d3944898c298e
+EBUILD buildbot-0.7.4.ebuild 2136 RMD160 cfc458f422d3f66737a3153aac9e23fb83cf3fad SHA1 91d80b1e5a36812f35ad294370fb5220a32357cf SHA256 bed83e6342861bd89cd8c64011b28ff4c59e92412f18e2b77d4d11f7f46b667f
+MD5 f910ecd2585433eeefc92a35eb86cf25 buildbot-0.7.4.ebuild 2136
+RMD160 cfc458f422d3f66737a3153aac9e23fb83cf3fad buildbot-0.7.4.ebuild 2136
+SHA256 bed83e6342861bd89cd8c64011b28ff4c59e92412f18e2b77d4d11f7f46b667f buildbot-0.7.4.ebuild 2136
+MISC ChangeLog 454 RMD160 dcee6069c986f3516be44b26eaf718955ea6d209 SHA1 29fafb373e2be7eb42278dfce343c9fcc3329090 SHA256 bc92e520042d094747dbbc272142ed3fa736a3e77262d27f6df5a752ebddfa4c
+MD5 f0402cd6adb88a70cad4577c032ac0ee ChangeLog 454
+RMD160 dcee6069c986f3516be44b26eaf718955ea6d209 ChangeLog 454
+SHA256 bc92e520042d094747dbbc272142ed3fa736a3e77262d27f6df5a752ebddfa4c ChangeLog 454
+MISC metadata.xml 958 RMD160 9d7be621968219470c6fb4e66c55e91d3d7765b6 SHA1 d8a978793941a2a566dcbc9364d09e22ae54d256 SHA256 f61483b7976a1fc93cda8f8cc6d23e744f8f3ae765b385d35246be3a2ef87d76
+MD5 374d908b2008bc1082871d993dd850b8 metadata.xml 958
+RMD160 9d7be621968219470c6fb4e66c55e91d3d7765b6 metadata.xml 958
+SHA256 f61483b7976a1fc93cda8f8cc6d23e744f8f3ae765b385d35246be3a2ef87d76 metadata.xml 958
+MD5 33ccef0af85edbd9b3c6df85859b1f03 files/digest-buildbot-0.7.4 244
+RMD160 dd44adf4445fb0b1c4d0fea1dec6599fb5074b21 files/digest-buildbot-0.7.4 244
+SHA256 4155c34310889f8ffb5cc8a610a6bfb7c8eeb7d13fbaf3553c963d1fd6347d96 files/digest-buildbot-0.7.4 244
diff --git a/dev-util/buildbot/buildbot-0.7.4.ebuild b/dev-util/buildbot/buildbot-0.7.4.ebuild
new file mode 100644
index 000000000000..2b5e52b10781
--- /dev/null
+++ b/dev-util/buildbot/buildbot-0.7.4.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/buildbot/buildbot-0.7.4.ebuild,v 1.1 2006/09/25 17:42:37 marienz Exp $
+
+inherit distutils eutils
+
+DESCRIPTION="A Python system to automate the compile/test cycle to validate code changes. Similar to Tinderbox, but simpler."
+HOMEPAGE="http://buildbot.sourceforge.net/"
+SRC_URI="mirror://sourceforge/buildbot/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="doc irc mail web"
+
+commondepend=">=dev-lang/python-2.3
+ >=dev-python/twisted-2.0.1"
+RDEPEND="${commondepend}
+ mail? ( dev-python/twisted-mail )
+ irc? ( dev-python/twisted-words )
+ web? ( dev-python/twisted-web )"
+DEPEND="${commondepend}
+ doc? ( dev-python/epydoc )"
+
+
+pkg_setup(){
+ enewuser buildbot
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-svn-1.4.patch"
+}
+
+src_compile() {
+ distutils_src_compile
+ if use doc; then
+ "${python}" docs/epyrun -o docs/reference || die "epyrun failed"
+ fi
+}
+
+src_test() {
+ local trialopts
+ if ! has_version ">=dev-python/twisted-2.2"; then
+ trialopts=-R
+ fi
+ trial ${trialopts} buildbot || die "tests failed!"
+}
+
+src_install() {
+ distutils_src_install
+ doinfo docs/buildbot.info
+ dohtml -r docs/buildbot.html docs/images
+
+ insinto /usr/share/doc/${PF}
+ doins -r docs/examples
+
+ if use doc; then
+ doins -r docs/reference
+ fi
+
+ newconfd "${FILESDIR}/buildslave.confd" buildslave
+ newinitd "${FILESDIR}/buildbot.initd" buildslave
+ newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+ newinitd "${FILESDIR}/buildbot.initd" buildmaster
+}
+
+pkg_postinst() {
+ einfo 'The "buildbot" user and the "buildmaster" and "buildslave" init'
+ einfo "scripts were added to support starting buildbot through gentoo's"
+ einfo "init system. To use this set up your build master or build slave"
+ einfo "following the buildbot documentation, make sure the resulting"
+ einfo 'directories are owned by the "buildbot" user and point'
+ einfo "${ROOT}etc/conf.d/buildmaster or ${ROOT}etc/conf.d/buildslave"
+ einfo "at the right location. The scripts can run as a different user"
+ einfo "if desired. If you need to run more than one master or slave"
+ einfo "just copy the scripts."
+}
diff --git a/dev-util/buildbot/files/buildbot-0.7.4-svn-1.4.patch b/dev-util/buildbot/files/buildbot-0.7.4-svn-1.4.patch
new file mode 100644
index 000000000000..993f988c3300
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot-0.7.4-svn-1.4.patch
@@ -0,0 +1,38 @@
+Index: test_vc.py
+===================================================================
+RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_vc.py,v
+retrieving revision 1.68
+retrieving revision 1.69
+diff -u -d -r1.68 -r1.69
+--- buildbot/test/test_vc.py 15 Sep 2006 14:47:41 -0000 1.68
++++ buildbot/test/test_vc.py 18 Sep 2006 02:14:45 -0000 1.69
+@@ -499,6 +499,15 @@
+ self.fail("build did not succeed")
+ return bs
+
++ def printLogs(self, bs):
++ for s in bs.getSteps():
++ for l in s.getLogs():
++ print "--- START step %s / log %s ---" % (s.getName(),
++ l.getName())
++ print l.getTextWithHeaders()
++ print "--- STOP ---"
++ print
++
+ def touch(self, d, f):
+ open(os.path.join(d,f),"w").close()
+ def shouldExist(self, *args):
+@@ -666,7 +675,12 @@
+ d.addCallback(self._do_vctest_update_retry_1)
+ return d
+ def _do_vctest_update_retry_1(self, bs):
+- self.shouldNotExist(self.workdir, "newfile")
++ # SVN-1.4.0 doesn't seem to have any problem with the
++ # file-turned-directory issue (although older versions did). So don't
++ # actually check that the tree was clobbered.. as long as the update
++ # succeeded (checked by doBuild), that should be good enough.
++ #self.shouldNotExist(self.workdir, "newfile")
++ pass
+
+ def _do_vctest_copy(self, res):
+ d = self.doBuild() # copy rebuild clobbers new files
diff --git a/dev-util/buildbot/files/buildbot.initd b/dev-util/buildbot/files/buildbot.initd
new file mode 100644
index 000000000000..26fe8b7902bc
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot.initd
@@ -0,0 +1,48 @@
+#!/sbin/runscript
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/buildbot/files/buildbot.initd,v 1.1 2006/09/25 17:42:37 marienz Exp $
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [[ -z "${BASEDIR}" ]]; then
+ eerror "BASEDIR not set"
+ return 1
+ fi
+ if [[ -z "${USERNAME}" ]]; then
+ eerror "USERNAME not set"
+ return 1
+ fi
+ if [[ ! -d "${BASEDIR}" ]]; then
+ eerror "${BASEDIR} is not a directory"
+ return 1
+ fi
+ if [[ ! -e "${BASEDIR}/buildbot.tac" ]]; then
+ eerror "${BASEDIR} does not contain buildbot.tac"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting buildslave in ${BASEDIR}"
+ # We set HOME here to make something valid show up in the env of child
+ # processes spawned by the buildslave.
+ start-stop-daemon --start -c "${USERNAME}" --quiet \
+ --env HOME="${BASEDIR}" \
+ --exec /usr/bin/twistd -- \
+ --no_save \
+ --logfile="${BASEDIR}/twistd.log" \
+ --pidfile="${BASEDIR}/twistd.pid" \
+ --python="${BASEDIR}/buildbot.tac"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping buildslave in ${BASEDIR}"
+ start-stop-daemon --stop --quiet --pidfile "${BASEDIR}/twistd.pid"
+ eend $?
+}
diff --git a/dev-util/buildbot/files/buildmaster.confd b/dev-util/buildbot/files/buildmaster.confd
new file mode 100644
index 000000000000..e489d66f9d4b
--- /dev/null
+++ b/dev-util/buildbot/files/buildmaster.confd
@@ -0,0 +1,10 @@
+
+# Path to the build master's basedir.
+BASEDIR=/var/lib/buildmaster
+
+# User account for the buildmaster.
+# The basedir should be owned by this user.
+USERNAME=buildbot
+
+# Extra options to pass to twistd.
+TWISTD_OPTS=""
diff --git a/dev-util/buildbot/files/buildslave.confd b/dev-util/buildbot/files/buildslave.confd
new file mode 100644
index 000000000000..a168b02bffc7
--- /dev/null
+++ b/dev-util/buildbot/files/buildslave.confd
@@ -0,0 +1,10 @@
+
+# Path to the build slave's basedir.
+BASEDIR=/var/lib/buildslave
+
+# User account for the buildslave.
+# The basedir should be owned by this user.
+USERNAME=buildbot
+
+# Extra options to pass to twistd.
+TWISTD_OPTS=""
diff --git a/dev-util/buildbot/files/digest-buildbot-0.7.4 b/dev-util/buildbot/files/digest-buildbot-0.7.4
new file mode 100644
index 000000000000..b1e888a340dd
--- /dev/null
+++ b/dev-util/buildbot/files/digest-buildbot-0.7.4
@@ -0,0 +1,3 @@
+MD5 a311b9c9b283acc8e6fa8770d099bae7 buildbot-0.7.4.tar.gz 862827
+RMD160 8b7ec0dd615209b5ab976cb2da195249ce147189 buildbot-0.7.4.tar.gz 862827
+SHA256 d9b1ff5bfcf746be348d75096e9a4824b9b6f02eccdc8b53402d3944898c298e buildbot-0.7.4.tar.gz 862827
diff --git a/dev-util/buildbot/metadata.xml b/dev-util/buildbot/metadata.xml
new file mode 100644
index 000000000000..c43f6f85538e
--- /dev/null
+++ b/dev-util/buildbot/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>python</herd>
+<maintainer>
+ <email>marienz@gentoo.org</email>
+</maintainer>
+<longdescription>
+ The BuildBot is a system to automate the compile/test cycle required
+ by most software projects to validate code changes.
+
+ Features:
+
+ * run builds on a variety of slave platforms
+ * arbitrary build process: handles projects using C, Python, whatever
+ * minimal host requirements: python and Twisted
+ * slaves can be behind a firewall if they can still do checkout
+ * status delivery through web page, email, IRC, other protocols
+ * track builds in progress, provide estimated completion time
+ * flexible configuration by subclassing generic build process classes
+ * debug tools to force a new build, submit fake Changes, query slave status
+ * released under the GPL
+</longdescription>
+</pkgmetadata>