diff options
author | Brian Dolbec <dolsen@gentoo.org> | 2016-08-09 15:46:55 -0700 |
---|---|---|
committer | Brian Dolbec <dolsen@gentoo.org> | 2016-08-09 16:47:21 -0700 |
commit | 6876c4d431ee294c53d563d6542f582da9722900 (patch) | |
tree | a73ef4dbbf01429b2cb10b71310dcd92a5e5b3af /dev-util | |
parent | dev-python/future: Add ~x86 keyword (diff) | |
download | gentoo-6876c4d431ee294c53d563d6542f582da9722900.tar.gz gentoo-6876c4d431ee294c53d563d6542f582da9722900.tar.bz2 gentoo-6876c4d431ee294c53d563d6542f582da9722900.zip |
dev-util/buildbot: Version bump, update live ebuild
This version is a major change from previous version.
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/buildbot/Manifest | 1 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-0.9.0_rc1.ebuild | 161 | ||||
-rw-r--r-- | dev-util/buildbot/buildbot-9999.ebuild | 145 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildbot9..service | 14 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildmaster.confd.9 | 10 | ||||
-rw-r--r-- | dev-util/buildbot/files/buildmaster.initd.9 | 54 | ||||
-rw-r--r-- | 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 eae5a7202c72..3f4671f2eef4 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 000000000000..fcaba4052ea9 --- /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 dbde043b37ec..8a0d136f19c9 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 000000000000..371d6e086de9 --- /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 000000000000..e489d66f9d4b --- /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 000000000000..d146bff6c926 --- /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 9dc19b3eb0fc..698b720ff3da 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> |