diff options
author | Marien Zwart <marienz@gentoo.org> | 2006-09-25 17:42:37 +0000 |
---|---|---|
committer | Marien Zwart <marienz@gentoo.org> | 2006-09-25 17:42:37 +0000 |
commit | 9bb229d8afd22be6f690e3fb68394d06a40a8758 (patch) | |
tree | 7dd70c8ab3996ef342991fd6acbe27521d554d6f /dev-util/buildbot | |
parent | Stable on ppc wrt bug 149049 (diff) | |
download | gentoo-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/ChangeLog | 13 | ||||
-rw-r--r-- | dev-util/buildbot/Manifest | 32 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-0.7.4.ebuild | 80 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildbot-0.7.4-svn-1.4.patch | 38 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildbot.initd | 48 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildmaster.confd | 10 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildslave.confd | 10 | ||||
-rw-r--r-- | dev-util/buildbot/files/digest-buildbot-0.7.4 | 3 | ||||
-rw-r--r-- | dev-util/buildbot/metadata.xml | 24 |
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> |