summaryrefslogtreecommitdiff
path: root/dev-util/buildbot
diff options
context:
space:
mode:
authorBrian Dolbec <dolsen@gentoo.org>2016-08-09 15:46:55 -0700
committerBrian Dolbec <dolsen@gentoo.org>2016-08-09 16:47:21 -0700
commit6876c4d431ee294c53d563d6542f582da9722900 (patch)
treea73ef4dbbf01429b2cb10b71310dcd92a5e5b3af /dev-util/buildbot
parent78e6f61c22ee89726421a97373d47b4cd7a6e9c0 (diff)
downloadgentoo-6876c4d431ee294c53d563d6542f582da9722900.tar.gz
gentoo-6876c4d431ee294c53d563d6542f582da9722900.tar.xz
dev-util/buildbot: Version bump, update live ebuild
This version is a major change from previous version.
Diffstat (limited to 'dev-util/buildbot')
-rw-r--r--dev-util/buildbot/Manifest1
-rw-r--r--dev-util/buildbot/buildbot-0.9.0_rc1.ebuild161
-rw-r--r--dev-util/buildbot/buildbot-9999.ebuild145
-rw-r--r--dev-util/buildbot/files/buildbot9..service14
-rw-r--r--dev-util/buildbot/files/buildmaster.confd.910
-rw-r--r--dev-util/buildbot/files/buildmaster.initd.954
-rw-r--r--dev-util/buildbot/metadata.xml8
7 files changed, 345 insertions, 48 deletions
diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index eae5a7202c7..3f4671f2eef 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,2 +1,3 @@
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
+DIST buildbot-0.9.0rc1.tar.gz 3004783 SHA256 f089c4c6494c82ad8d42bf80a356eef62580054d864a9c8b2217adeeec53ba27 SHA512 4ec664f24f001c172d378d378ced95ad4507893a0f989178b078f4364fc9e52b2fb79196fc6f440f94f36cb14fd7b9e53530b4f5ee21fb81a0698789676be778 WHIRLPOOL 049f9c4efa37658bb2d5c9b04017f260c3d04e5b2df4a66eb3b3d99d6119343dcb5f78f50c8b00959932c323acf512729dbc5acd76d46eb418c6f120a8cba4b6
diff --git a/dev-util/buildbot/buildbot-0.9.0_rc1.ebuild b/dev-util/buildbot/buildbot-0.9.0_rc1.ebuild
new file mode 100644
index 00000000000..fcaba4052ea
--- /dev/null
+++ b/dev-util/buildbot/buildbot-0.9.0_rc1.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python2_7 )
+
+EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
+
+[[ ${PV} == *9999 ]] && inherit git-r3
+inherit readme.gentoo-r1 user systemd distutils-r1
+
+MY_PV="${PV/_p/p}"
+MY_V="0.9.0rc1"
+MY_P="${PN}-${MY_V}"
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="http://trac.buildbot.net/ https://github.com/buildbot/buildbot 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="~amd64"
+fi
+
+IUSE="crypt doc examples irc mail manhole test"
+
+RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+ || (
+ >=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
+ crypt? (
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}]
+ )
+ irc? (
+ || ( >=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ )
+ mail? (
+ || ( >=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ )
+ manhole? (
+ || ( >=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ )
+ dev-python/future[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+ >=dev-python/autobahn-0.10.2[${PYTHON_USEDEP}]
+ <dev-python/autobahn-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}] )
+ test? (
+ >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ || (
+ (
+ >=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
+ >=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
+ )
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/ramlfications[${PYTHON_USEDEP}]
+ dev-python/pyjade[${PYTHON_USEDEP}]
+ dev-python/txgithub[${PYTHON_USEDEP}]
+ dev-python/txrequests[${PYTHON_USEDEP}]
+ )"
+
+# still yet to be added deps
+# doc? ( 'sphinxcontrib-blockdiag',
+# 'sphinxcontrib-spelling',
+# 'pyenchant',
+# 'docutils>=0.8',
+# 'sphinx-jinja',)
+
+S=${WORKDIR}/${MY_P}
+[[ ${PV} == *9999 ]] && S=${S}/master
+
+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."
+}
+
+# docs generation is broken might need a separate ebuild
+#python_compile_all() {
+ #if use doc; then
+ #einfo "Generation of documentation"
+ ##'man' target is currently broken
+ #emake -C docs html
+ #fi
+#}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ 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.9 buildmaster
+ newinitd "${FILESDIR}"/buildmaster.initd.9 buildmaster
+ systemd_dounit "${FILESDIR}/${PN}9".service
+
+ # In case of multiple masters, it's possible to edit web files
+ # so all master can share the changes. So protect them!
+ # If something else need to be protected, please open a bug
+ # on http://bugs.gentoo.org
+ local cp
+ add_config_protect() {
+ cp+=" $(python_get_sitedir)/${PN}/status/web"
+ }
+ python_foreach_impl add_config_protect
+ echo "CONFIG_PROTECT=\"${cp}\"" \
+ > 85${PN} || die
+ doenvd 85${PN}
+
+ 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
index dbde043b37e..8a0d136f19c 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -1,52 +1,97 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
-PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python2_7 )
EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
-[[ ${PV} = 9999 ]] && inherit git-2
-inherit distutils-r1 readme.gentoo systemd user
+[[ ${PV} == *9999 ]] && inherit git-r3
+inherit readme.gentoo-r1 user systemd distutils-r1
MY_PV="${PV/_p/p}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="http://buildbot.net/ https://pypi.python.org/pypi/buildbot"
-[[ ${PV} = 9999 ]] || SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://trac.buildbot.net/ https://github.com/buildbot/buildbot 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
+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"
+ KEYWORDS="~amd64"
fi
-IUSE="doc examples irc mail manhole test"
+
+IUSE="crypt 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}] )
+ || (
+ >=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
+ crypt? (
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/service_identity[${PYTHON_USEDEP}]
+ )
+ irc? (
+ || ( >=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ )
+ mail? (
+ || ( >=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ )
+ manhole? (
+ || ( >=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ )
+ dev-python/future[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+ >=dev-python/autobahn-0.10.2[${PYTHON_USEDEP}]
+ <dev-python/autobahn-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+ "
+DEPEND="${RDEPEND}
+ >=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
+ doc? ( >=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}] )
test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-1.5[${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}]
+ || (
+ (
+ >=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
+ >=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
+ )
+ <dev-python/twisted-16.3.0[${PYTHON_USEDEP}]
+ )
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/ramlfications[${PYTHON_USEDEP}]
+ dev-python/pyjade[${PYTHON_USEDEP}]
+ dev-python/txgithub[${PYTHON_USEDEP}]
+ dev-python/txrequests[${PYTHON_USEDEP}]
)"
-S="${WORKDIR}/${MY_P}"
+# still yet to be added deps
+# doc? ( 'sphinxcontrib-blockdiag',
+# 'sphinxcontrib-spelling',
+# 'pyenchant',
+# 'docutils>=0.8',
+# 'sphinx-jinja',)
+
+S=${WORKDIR}/${MY_P}
+[[ ${PV} == *9999 ]] && S=${S}/master
pkg_setup() {
enewuser buildbot
@@ -60,38 +105,46 @@ pkg_setup() {
build master, just copy the scripts."
}
-src_compile() {
- [[ ${PV} = 9999 ]] && cd master/
- distutils-r1_src_compile
+# docs generation is broken might need a separate ebuild
+#python_compile_all() {
+ #if use doc; then
+ #einfo "Generation of documentation"
+ ##'man' target is currently broken
+ #emake -C docs html
+ #fi
+#}
- 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
+python_install_all() {
+ distutils-r1_python_install_all
doman docs/buildbot.1
- if use doc; then
- dohtml -r docs/_build/html/
- # TODO: install man pages
- fi
+ #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
+ newconfd "${FILESDIR}"/buildmaster.confd.9 buildmaster
+ newinitd "${FILESDIR}"/buildmaster.initd.9 buildmaster
+ systemd_dounit "${FILESDIR}/${PN}9".service
+
+ # In case of multiple masters, it's possible to edit web files
+ # so all master can share the changes. So protect them!
+ # If something else need to be protected, please open a bug
+ # on http://bugs.gentoo.org
+ local cp
+ add_config_protect() {
+ cp+=" $(python_get_sitedir)/${PN}/status/web"
+ }
+ python_foreach_impl add_config_protect
+ echo "CONFIG_PROTECT=\"${cp}\"" \
+ > 85${PN} || die
+ doenvd 85${PN}
readme.gentoo_create_doc
}
diff --git a/dev-util/buildbot/files/buildbot9..service b/dev-util/buildbot/files/buildbot9..service
new file mode 100644
index 00000000000..371d6e086de
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot9..service
@@ -0,0 +1,14 @@
+[Unit]
+Description=buildbot master daemon
+After=local-fs.target network.target
+
+[Service]
+Type=forking
+User=buildbot
+WorkingDirectory=/var/lib/buildmaster
+ExecStartPre=/usr/bin/buildbot checkconfig /var/lib/buildmaster
+ExecStart=/usr/bin/buildbot start /var/lib/buildmaster
+ExecStop=/usr/bin/buildbot stop /var/lib/buildmaster
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-util/buildbot/files/buildmaster.confd.9 b/dev-util/buildbot/files/buildmaster.confd.9
new file mode 100644
index 00000000000..e489d66f9d4
--- /dev/null
+++ b/dev-util/buildbot/files/buildmaster.confd.9
@@ -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.9 b/dev-util/buildbot/files/buildmaster.initd.9
new file mode 100644
index 00000000000..d146bff6c92
--- /dev/null
+++ b/dev-util/buildbot/files/buildmaster.initd.9
@@ -0,0 +1,54 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 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/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
index 9dc19b3eb0f..698b720ff3d 100644
--- a/dev-util/buildbot/metadata.xml
+++ b/dev-util/buildbot/metadata.xml
@@ -5,6 +5,10 @@
<email>hwoarang@gentoo.org</email>
<name>Markos Chandras</name>
</maintainer>
+ <maintainer type="person">
+ <email>dolsen@gentoo.org</email>
+ <name>Brian Dolbec</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:
@@ -25,8 +29,8 @@
</use>
<upstream>
<maintainer>
- <email>dustin@v.igoro.us</email>
- <name>Dustin J. Mitchell</name>
+ <email>devel@buildbot.net</email>
+ <name>Developers List</name>
</maintainer>
<remote-id type="pypi">buildbot</remote-id>
</upstream>