summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-util/buildbot
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-util/buildbot')
-rw-r--r--dev-util/buildbot/Manifest2
-rw-r--r--dev-util/buildbot/buildbot-0.8.10.ebuild98
-rw-r--r--dev-util/buildbot/buildbot-0.8.12.ebuild98
-rw-r--r--dev-util/buildbot/buildbot-9999.ebuild107
-rw-r--r--dev-util/buildbot/files/buildbot.service16
-rw-r--r--dev-util/buildbot/files/buildmaster.confd10
-rw-r--r--dev-util/buildbot/files/buildmaster.initd54
-rw-r--r--dev-util/buildbot/metadata.xml33
8 files changed, 418 insertions, 0 deletions
diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
new file mode 100644
index 000000000000..eae5a7202c72
--- /dev/null
+++ b/dev-util/buildbot/Manifest
@@ -0,0 +1,2 @@
+DIST buildbot-0.8.10.tar.gz 4822307 SHA256 c4964d2ebd81cb80a14cb058fb2aab0572a1d8d86672d514e775b42deb08a5f4 SHA512 e148a1670a56837587d858d1697fe117661cbbfedab42bf7be905f9e8e4266e4ff0170b0cd81aed61234d30497a05427061c3084033f09811d0bc306b200661b WHIRLPOOL 26397b6f914266201aba4feb4df7353facad4fd0f51bdf7e35cf25205c45eadcf83f24c265e540b13d327750ce9561362be6a5aa237152cf1298d970c504f76c
+DIST buildbot-0.8.12.tar.gz 4834352 SHA256 c6b66976dff712268566574d57131ec15e5682f6d4390cd5c8559bab0980c4d6 SHA512 18c5144132fb033f3581d3c494d5e8ff35d3e8b1548764452ce9ae543d710e58a2c6e3e8e46a0ef237804f9a6a45485890ae4616ab655fb00d4ccf328d6f6645 WHIRLPOOL 5754b7c0278fb5e7da8a7dd66253f6f4d12f54c125f6a78aa9018a2b6b22fd88a27e79e6821ab05e4cd9e87bf0dd08c3c73c7914d4c499ac13c48ca232ed21c8
diff --git a/dev-util/buildbot/buildbot-0.8.10.ebuild b/dev-util/buildbot/buildbot-0.8.10.ebuild
new file mode 100644
index 000000000000..0b4328197706
--- /dev/null
+++ b/dev-util/buildbot/buildbot-0.8.10.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 readme.gentoo systemd user
+
+MY_PV="${PV/_p/p}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="http://buildbot.net/ http://pypi.python.org/pypi/buildbot"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+IUSE="doc examples irc mail manhole test"
+
+RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.7.10-r999[${PYTHON_USEDEP}]
+ ~dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ irc? ( dev-python/twisted-words[${PYTHON_USEDEP}] )
+ mail? ( dev-python/twisted-mail[${PYTHON_USEDEP}] )
+ manhole? ( dev-python/twisted-conch[${PYTHON_USEDEP}] )"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/twisted-mail[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ dev-python/twisted-words[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewuser buildbot
+
+ DOC_CONTENTS="The \"buildbot\" user and the \"buildmaster\" init script has been added
+ to support starting buildbot through Gentoo's init system. To use this,
+ set up your build master following the documentation, make sure the
+ resulting directories are owned by the \"buildbot\" user and point
+ \"${EROOT}etc/conf.d/buildmaster\" at the right location. The scripts can
+ run as a different user if desired. If you need to run more than one
+ build master, just copy the scripts."
+}
+
+src_compile() {
+ distutils-r1_src_compile
+
+ if use doc; then
+ einfo "Generation of documentation"
+ pushd docs > /dev/null
+ #'man' target is currently broken
+ emake html
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ doman docs/buildbot.1
+
+ if use doc; then
+ dohtml -r docs/_build/html/
+ # TODO: install man pages
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib docs/examples
+ fi
+
+ newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+ newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+ systemd_dounit "${FILESDIR}"/${PN}.service
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ elog
+ elog "Upstream recommends the following when upgrading:"
+ elog "Each time you install a new version of Buildbot, you should run the"
+ elog "\"buildbot upgrade-master\" command on each of your pre-existing build masters."
+ elog "This will add files and fix (or at least detect) incompatibilities between"
+ elog "your old config and the new code."
+}
diff --git a/dev-util/buildbot/buildbot-0.8.12.ebuild b/dev-util/buildbot/buildbot-0.8.12.ebuild
new file mode 100644
index 000000000000..0b4328197706
--- /dev/null
+++ b/dev-util/buildbot/buildbot-0.8.12.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 readme.gentoo systemd user
+
+MY_PV="${PV/_p/p}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="http://buildbot.net/ http://pypi.python.org/pypi/buildbot"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+IUSE="doc examples irc mail manhole test"
+
+RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.7.10-r999[${PYTHON_USEDEP}]
+ ~dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ irc? ( dev-python/twisted-words[${PYTHON_USEDEP}] )
+ mail? ( dev-python/twisted-mail[${PYTHON_USEDEP}] )
+ manhole? ( dev-python/twisted-conch[${PYTHON_USEDEP}] )"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/twisted-mail[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ dev-python/twisted-words[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewuser buildbot
+
+ DOC_CONTENTS="The \"buildbot\" user and the \"buildmaster\" init script has been added
+ to support starting buildbot through Gentoo's init system. To use this,
+ set up your build master following the documentation, make sure the
+ resulting directories are owned by the \"buildbot\" user and point
+ \"${EROOT}etc/conf.d/buildmaster\" at the right location. The scripts can
+ run as a different user if desired. If you need to run more than one
+ build master, just copy the scripts."
+}
+
+src_compile() {
+ distutils-r1_src_compile
+
+ if use doc; then
+ einfo "Generation of documentation"
+ pushd docs > /dev/null
+ #'man' target is currently broken
+ emake html
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ doman docs/buildbot.1
+
+ if use doc; then
+ dohtml -r docs/_build/html/
+ # TODO: install man pages
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib docs/examples
+ fi
+
+ newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+ newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+ systemd_dounit "${FILESDIR}"/${PN}.service
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ elog
+ elog "Upstream recommends the following when upgrading:"
+ elog "Each time you install a new version of Buildbot, you should run the"
+ elog "\"buildbot upgrade-master\" command on each of your pre-existing build masters."
+ elog "This will add files and fix (or at least detect) incompatibilities between"
+ elog "your old config and the new code."
+}
diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
new file mode 100644
index 000000000000..db790c18eaac
--- /dev/null
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="sqlite"
+
+EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
+
+[[ ${PV} = 9999 ]] && inherit git-2
+inherit distutils-r1 readme.gentoo systemd user
+
+MY_PV="${PV/_p/p}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="http://buildbot.net/ http://pypi.python.org/pypi/buildbot"
+[[ ${PV} = 9999 ]] || SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+if [[ ${PV} == 9999 ]]; then
+ KEYWORDS=""
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-interix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris"
+fi
+IUSE="doc examples irc mail manhole test"
+
+RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ <=dev-python/sqlalchemy-0.7.10-r999[${PYTHON_USEDEP}]
+ ~dev-python/sqlalchemy-migrate-0.7.2[${PYTHON_USEDEP}]
+ irc? ( dev-python/twisted-words[${PYTHON_USEDEP}] )
+ mail? ( dev-python/twisted-mail[${PYTHON_USEDEP}] )
+ manhole? ( dev-python/twisted-conch[${PYTHON_USEDEP}] )"
+DEPEND="${DEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/twisted-mail[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ dev-python/twisted-words[${PYTHON_USEDEP}]
+ )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ enewuser buildbot
+
+ DOC_CONTENTS="The \"buildbot\" user and the \"buildmaster\" init script has been added
+ to support starting buildbot through Gentoo's init system. To use this,
+ set up your build master following the documentation, make sure the
+ resulting directories are owned by the \"buildbot\" user and point
+ \"${EROOT}etc/conf.d/buildmaster\" at the right location. The scripts can
+ run as a different user if desired. If you need to run more than one
+ build master, just copy the scripts."
+}
+
+src_compile() {
+ [[ ${PV} = 9999 ]] && cd master/
+ distutils-r1_src_compile
+
+ if use doc; then
+ einfo "Generation of documentation"
+ pushd docs > /dev/null
+ #'man' target is currently broken
+ emake html
+ popd > /dev/null
+ fi
+}
+
+src_install() {
+ [[ ${PV} = 9999 ]] && cd master/
+ distutils-r1_src_install
+
+ doman docs/buildbot.1
+
+ if use doc; then
+ dohtml -r docs/_build/html/
+ # TODO: install man pages
+ fi
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib docs/examples
+ fi
+
+ newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+ newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+ systemd_dounit "${FILESDIR}"/${PN}.service
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+ elog
+ elog "Upstream recommends the following when upgrading:"
+ elog "Each time you install a new version of Buildbot, you should run the"
+ elog "\"buildbot upgrade-master\" command on each of your pre-existing build masters."
+ elog "This will add files and fix (or at least detect) incompatibilities between"
+ elog "your old config and the new code."
+}
diff --git a/dev-util/buildbot/files/buildbot.service b/dev-util/buildbot/files/buildbot.service
new file mode 100644
index 000000000000..4581a13a0c48
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=buildbot master daemon
+After=local-fs.target network.target
+
+[Service]
+Type=forking
+User=buildbot
+WorkingDirectory=/var/lib/buildmaster
+# The following assume there is a 'master' directory
+# in $WorkingDirectory with the master configuration files
+ExecStartPre=/usr/bin/buildbot checkconfig master
+ExecStart=/usr/bin/buildbot start master
+ExecStop=/usr/bin/buildbot stop master
+
+[Install]
+WantedBy=multi-user.target
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/buildmaster.initd b/dev-util/buildbot/files/buildmaster.initd
new file mode 100644
index 000000000000..313365f3a676
--- /dev/null
+++ b/dev-util/buildbot/files/buildmaster.initd
@@ -0,0 +1,54 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+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 buildmaster in ${BASEDIR}"
+ start-stop-daemon --start -u "${USERNAME}" \
+ --pidfile "${BASEDIR}/buildmaster.pid" \
+ --exec /usr/bin/python -- /usr/bin/twistd \
+ --no_save \
+ --logfile="${BASEDIR}/twistd.log" \
+ --pidfile="${BASEDIR}/buildmaster.pid" \
+ --python="${BASEDIR}/buildbot.tac"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping buildmaster in ${BASEDIR}"
+ start-stop-daemon --stop --pidfile "${BASEDIR}/buildmaster.pid"
+ eend $?
+}
+
+reload() {
+ ebegin "Reconfiguring buildmaster in ${BASEDIR}"
+ start-stop-daemon --signal HUP --pidfile \
+ "${BASEDIR}"/buildmaster.pid
+ eend $?
+}
diff --git a/dev-util/buildbot/metadata.xml b/dev-util/buildbot/metadata.xml
new file mode 100644
index 000000000000..1cd84ffdae76
--- /dev/null
+++ b/dev-util/buildbot/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+ <longdescription lang="en">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>
+ <use>
+ <flag name="irc">Add support for status delivery through an ircbot.</flag>
+ <flag name="mail">Add support for watching a maildir for commits.</flag>
+ <flag name="manhole">Add support for manhole (debug over ssh)</flag>
+ </use>
+ <upstream>
+ <maintainer>
+ <email>dustin@v.igoro.us</email>
+ <name>Dustin J. Mitchell</name>
+ </maintainer>
+ <remote-id type="pypi">buildbot</remote-id>
+ </upstream>
+</pkgmetadata>