From 2a48f30f4376c4e52fd52f43013dcb3267d6979b Mon Sep 17 00:00:00 2001 From: Marien Zwart Date: Mon, 25 Sep 2006 17:42:37 +0000 Subject: -m New package, ebuild based on one by Michael Schmid . Closes bug #133004. Package-Manager: portage-2.1.2_pre1 --- dev-util/buildbot/ChangeLog | 13 ++++ dev-util/buildbot/Manifest | 42 ++++++++++++ dev-util/buildbot/buildbot-0.7.4.ebuild | 80 ++++++++++++++++++++++ .../buildbot/files/buildbot-0.7.4-svn-1.4.patch | 38 ++++++++++ dev-util/buildbot/files/buildbot.initd | 48 +++++++++++++ dev-util/buildbot/files/buildmaster.confd | 10 +++ dev-util/buildbot/files/buildslave.confd | 10 +++ dev-util/buildbot/files/digest-buildbot-0.7.4 | 3 + dev-util/buildbot/metadata.xml | 24 +++++++ 9 files changed, 268 insertions(+) create mode 100644 dev-util/buildbot/ChangeLog create mode 100644 dev-util/buildbot/Manifest create mode 100644 dev-util/buildbot/buildbot-0.7.4.ebuild create mode 100644 dev-util/buildbot/files/buildbot-0.7.4-svn-1.4.patch create mode 100644 dev-util/buildbot/files/buildbot.initd create mode 100644 dev-util/buildbot/files/buildmaster.confd create mode 100644 dev-util/buildbot/files/buildslave.confd create mode 100644 dev-util/buildbot/files/digest-buildbot-0.7.4 create mode 100644 dev-util/buildbot/metadata.xml 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 + +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 . + Closes bug #133004. + diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest new file mode 100644 index 000000000000..a9a383140908 --- /dev/null +++ b/dev-util/buildbot/Manifest @@ -0,0 +1,42 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +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 1211 RMD160 911959d36b903ebddbb97b4972adec3500755c16 SHA1 4829ccdc55d689f04cc80da9fae9b463db764834 SHA256 18795c57b46c88445d63b55c3aaeac07aea6c8763056c890a1d3f0296f924d2e +MD5 4d945ebf3ae4130bfb2e3c1701f73841 files/buildbot.initd 1211 +RMD160 911959d36b903ebddbb97b4972adec3500755c16 files/buildbot.initd 1211 +SHA256 18795c57b46c88445d63b55c3aaeac07aea6c8763056c890a1d3f0296f924d2e files/buildbot.initd 1211 +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 2238 RMD160 5e6621746047c7d53c0d05775fcca4c771e304d8 SHA1 16603be9fca5d2c01a87dc7418f6fe8702f27ed8 SHA256 8fe82c172785352198b8bbb7561f5f34743585d56c0525435513a69f2129877c +MD5 66aeac0139ec8d5ede399e966aa88a65 buildbot-0.7.4.ebuild 2238 +RMD160 5e6621746047c7d53c0d05775fcca4c771e304d8 buildbot-0.7.4.ebuild 2238 +SHA256 8fe82c172785352198b8bbb7561f5f34743585d56c0525435513a69f2129877c buildbot-0.7.4.ebuild 2238 +MISC ChangeLog 544 RMD160 a4a2634ae7f03e9ad073aa64962f3075a54299b2 SHA1 7db484b1d55f64e257ab5e62dc79f9009671cb7b SHA256 4a97999c9432801fba06deb17a2d3db2646f155b949b26c73e302a7b25d4d0a6 +MD5 92f1446335cb643ebf90507d08f702d3 ChangeLog 544 +RMD160 a4a2634ae7f03e9ad073aa64962f3075a54299b2 ChangeLog 544 +SHA256 4a97999c9432801fba06deb17a2d3db2646f155b949b26c73e302a7b25d4d0a6 ChangeLog 544 +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 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.5 (GNU/Linux) + +iD8DBQFFGBUWUElL7eJpfEQRAsgZAJ9W2SgGFg3OUAxCFGHr3DCyn7803QCfRxwd +gaKpm26rh5FF25mfTzt1NDU= +=VHAz +-----END PGP SIGNATURE----- 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 @@ + + + +python + + marienz@gentoo.org + + + 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 + + -- cgit v1.2.3-65-gdbad