commit:     6876c4d431ee294c53d563d6542f582da9722900
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Tue Aug  9 22:46:55 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Tue Aug  9 23:47:21 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6876c4d4

dev-util/buildbot: Version bump, update live ebuild

This version is a major change from previous version.

 dev-util/buildbot/Manifest                  |   1 +
 dev-util/buildbot/buildbot-0.9.0_rc1.ebuild | 161 ++++++++++++++++++++++++++++
 dev-util/buildbot/buildbot-9999.ebuild      | 145 +++++++++++++++++--------
 dev-util/buildbot/files/buildbot9..service  |  14 +++
 dev-util/buildbot/files/buildmaster.confd.9 |  10 ++
 dev-util/buildbot/files/buildmaster.initd.9 |  54 ++++++++++
 dev-util/buildbot/metadata.xml              |   8 +-
 7 files changed, 345 insertions(+), 48 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index eae5a72..3f4671f 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 0000000..fcaba40
--- /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 dbde043..8a0d136 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 0000000..371d6e0
--- /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 0000000..e489d66
--- /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 0000000..d146bff
--- /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 9dc19b3..698b720 100644
--- a/dev-util/buildbot/metadata.xml
+++ b/dev-util/buildbot/metadata.xml
@@ -5,6 +5,10 @@
                <email>hwoar...@gentoo.org</email>
                <name>Markos Chandras</name>
        </maintainer>
+       <maintainer type="person">
+               <email>dol...@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>dus...@v.igoro.us</email>
-                       <name>Dustin J. Mitchell</name>
+                       <email>de...@buildbot.net</email>
+                       <name>Developers List</name>
                </maintainer>
                <remote-id type="pypi">buildbot</remote-id>
        </upstream>

Reply via email to