public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2016-08-09 23:52 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2016-08-09 23:52 UTC (permalink / raw
  To: gentoo-commits

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>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>


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2016-08-17 17:00 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2016-08-17 17:00 UTC (permalink / raw
  To: gentoo-commits

commit:     287bcb661fdc07ef7405d7f664bb55e9e2005d8c
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 17 16:54:34 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Wed Aug 17 16:59:18 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=287bcb66

dev-util/buildbot: Use python2 in the buildmaster.initd startup (bug 591150)

This allows a proper startup if a python3 version is the system default.

Package-Manager: portage-2.3.0
Signed-off-by: Brian Dolbec <dolsen <AT> gentoo.org>

 .../buildbot/{buildbot-0.8.12-r2.ebuild => buildbot-0.8.12-r3.ebuild}   | 0
 .../{buildbot-0.9.0_rc1-r1.ebuild => buildbot-0.9.0_rc1-r2.ebuild}      | 0
 dev-util/buildbot/files/buildmaster.initd                               | 2 +-
 3 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/dev-util/buildbot/buildbot-0.8.12-r2.ebuild b/dev-util/buildbot/buildbot-0.8.12-r3.ebuild
similarity index 100%
rename from dev-util/buildbot/buildbot-0.8.12-r2.ebuild
rename to dev-util/buildbot/buildbot-0.8.12-r3.ebuild

diff --git a/dev-util/buildbot/buildbot-0.9.0_rc1-r1.ebuild b/dev-util/buildbot/buildbot-0.9.0_rc1-r2.ebuild
similarity index 100%
rename from dev-util/buildbot/buildbot-0.9.0_rc1-r1.ebuild
rename to dev-util/buildbot/buildbot-0.9.0_rc1-r2.ebuild

diff --git a/dev-util/buildbot/files/buildmaster.initd b/dev-util/buildbot/files/buildmaster.initd
index 7997d0b..29fd444 100644
--- a/dev-util/buildbot/files/buildmaster.initd
+++ b/dev-util/buildbot/files/buildmaster.initd
@@ -39,7 +39,7 @@ start() {
 	ebegin "Starting buildmaster in ${BUILDMASTER_PATH}"
 	start-stop-daemon --start -u "${USERNAME}" \
 		--pidfile "${BUILDMASTER_PATH}/buildmaster.pid" \
-		--exec /usr/bin/python -- /usr/bin/twistd \
+		--exec /usr/bin/python2 -- /usr/bin/twistd \
 		--no_save \
 		--logfile="${BUILDMASTER_PATH}/twistd.log" \
 		--pidfile="${BUILDMASTER_PATH}/buildmaster.pid" \


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2017-01-13  0:04 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2017-01-13  0:04 UTC (permalink / raw
  To: gentoo-commits

commit:     3fdb5fb3659bcd5f8cc440413706aabfb5febf80
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 12 23:38:59 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Jan 12 23:59:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fdb5fb3

dev-util/buildbot: Version bump, update 9999, clean old release

Package-Manager: Portage-2.3.3_p23, Repoman-2.3.1_p16

 dev-util/buildbot/Manifest                         |    2 +-
 ...ldbot-0.9.0_p1.ebuild => buildbot-0.9.3.ebuild} |   18 +-
 dev-util/buildbot/buildbot-9999.ebuild             |   10 +-
 .../files/buildbot-0.9.3-json-import.patch         | 1000 ++++++++++++++++++++
 4 files changed, 1023 insertions(+), 7 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index 623b6d0..8a67937 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,6 +1,6 @@
 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.0.post1.tar.gz 3013406 SHA256 afd8229c9fd33daa6d8227cd665c75b1b25c47ffcc4046ab5fd5b290ccd536a3 SHA512 0b171ca6ed15b15b4df23d0618cb7d98f6ae922efaa1e35a9458efaaf676b80a6ff3be36231b8ca31cadf89c3968425c560a0bff3630e8792d179462eba0da67 WHIRLPOOL e440826e4a027b42d28c0f3a0afca3c46ec5dc0b4d629fcef75de4b3350cffa2208e0024983f0ffebd1df38a5d860c6bd541fc1c3e28f8b6669ee93a4d4be8b4
 DIST buildbot-0.9.1.tar.gz 3051975 SHA256 a9f385f66f5cc3021f4cbfce92496673ebf9171578fa9e5ae4f66732276d64ce SHA512 c3b845a3607c5eaa0a5076755bc0e285ba7c6809f9d7934fab7c6cf8299610e921034656cf3792113961176a821138c6d069122d4d1f1698f16badf3ef9a0dea WHIRLPOOL 6767878665f09ff7b6219ddcda73487b441f3e33ce580fc2df2f16d430217d4ac38b93e22a3f3abd9c8380ac6e6c93de6767faec1aa5615f82fbe8d8e20759e1
 DIST buildbot-0.9.2.tar.gz 3026977 SHA256 d33ec059941cf830c8f7b7f336a76e32e7122e2690a27b784efeddc6dbf4564a SHA512 a1c6345bcceb5c8f4ed600542625eee81e59af00a1b12054fe77e3b4ed5536b7004fcbd07cfc96baa3061193eb79e4290e056cf7157b71831370654c057a2c57 WHIRLPOOL 075a00d85df5321180345348a02ac12cc8a1bea36d6e60617ebe54de71ce5a989fcf009822834dad1994a6f83ebb5c6132f350902fd31d5b279c5c13014bb4b9
+DIST buildbot-0.9.3.tar.gz 3031033 SHA256 c2bc6a8139b0f97d304bfa047a4c414e42ea12ba94e34d82ae7cb356a69d87fb SHA512 a6f18e88c33fe1eafe0b9b154fb77f0d93db71145faab527ecd5ce53fcbbff48b915de4a02461da87eefbd58a649a56d3a9b16ba759d978e70a70898a15681b7 WHIRLPOOL b62fd5bea0b647b703674024e50731e7713e9488dec570d8e42beabaa2135a81349b955164cf01898b12ab0123d9a8f3b76e3364f65003b8af85a54755b6ad22
 DIST buildbot-test_templates.tar.xz 304 SHA256 3d581b74c21f88119f7e5f93f381f2004662ca7219aae9a05f0bd3f8cae48317 SHA512 87ba914896d86f70e2e4b24a51248c475bf24fad4c02e3a99d6d7fa41b5a57f369865b20a7c30dafa3162ba50ccb04de1809b0cf9d53e45537738e4821229866 WHIRLPOOL 151dc42ceed8e90c96cdd0b6e937f13019c0d6cd5e2e878ee971cbc69ce4ea56b240b58fa743766bd0d71cafa38279e37be077324eb5ece7b99df46eaf566dfe

diff --git a/dev-util/buildbot/buildbot-0.9.0_p1.ebuild b/dev-util/buildbot/buildbot-0.9.3.ebuild
similarity index 95%
rename from dev-util/buildbot/buildbot-0.9.0_p1.ebuild
rename to dev-util/buildbot/buildbot-0.9.3.ebuild
index c6c4f43..915e721 100644
--- a/dev-util/buildbot/buildbot-0.9.0_p1.ebuild
+++ b/dev-util/buildbot/buildbot-0.9.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -11,8 +11,8 @@ EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
 [[ ${PV} == *9999 ]] && inherit git-r3
 inherit readme.gentoo-r1 user systemd distutils-r1
 
-MY_V="0.9.0.post1"
-MY_P="${PN}-${MY_V}"
+MY_PV="${PV/_p/p}"
+MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
 HOMEPAGE="http://trac.buildbot.net/ https://github.com/buildbot/buildbot http://pypi.python.org/pypi/buildbot"
@@ -66,7 +66,7 @@ DEPEND="${RDEPEND}
 	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/mock-2.0.0[${PYTHON_USEDEP}]
 		|| (
 			>=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
 			(
@@ -102,6 +102,10 @@ pkg_setup() {
 		The scripts can	run as a different user if desired."
 }
 
+src_prepare() {
+	epatch "${FILESDIR}"/buildbot-0.9.3-json-import.patch
+	}
+
 src_compile() {
 	distutils-r1_src_compile
 
@@ -138,6 +142,12 @@ src_install() {
 	readme.gentoo_create_doc
 }
 
+python_test() {
+	distutils_install_for_testing
+
+	esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
 pkg_postinst() {
 	readme.gentoo_print_elog
 

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
index 9bf2d9d..2183d71 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -66,7 +66,7 @@ DEPEND="${RDEPEND}
 	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/mock-2.0.0[${PYTHON_USEDEP}]
 		|| (
 			>=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
 			(
@@ -138,6 +138,12 @@ src_install() {
 	readme.gentoo_create_doc
 }
 
+python_test() {
+	distutils_install_for_testing
+
+	esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
 pkg_postinst() {
 	readme.gentoo_print_elog
 

diff --git a/dev-util/buildbot/files/buildbot-0.9.3-json-import.patch b/dev-util/buildbot/files/buildbot-0.9.3-json-import.patch
new file mode 100644
index 00000000..6c3cb14
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot-0.9.3-json-import.patch
@@ -0,0 +1,1000 @@
+From 9e7a734c260b4f473eee11ff7a08b5064ff34e22 Mon Sep 17 00:00:00 2001
+From: Tom Prince <tom.prince@twistedmatrix.com>
+Date: Thu, 12 Jan 2017 11:54:19 -0700
+Subject: [PATCH] Import `json` directly.
+
+Emit deprecation warning.
+Update documentation.
+Fix tests.
+Lint fix.
+---
+ master/buildbot/changes/bitbucket.py               |  3 +-
+ master/buildbot/changes/gerritchangesource.py      |  2 +-
+ master/buildbot/clients/tryclient.py               |  3 +-
+ master/buildbot/data/types.py                      |  2 +-
+ master/buildbot/db/builds.py                       |  4 ++-
+ master/buildbot/db/buildsets.py                    |  3 +-
+ master/buildbot/db/changes.py                      |  3 +-
+ master/buildbot/db/state.py                        |  4 ++-
+ master/buildbot/db/steps.py                        |  4 ++-
+ master/buildbot/db/types/json.py                   |  7 +++--
+ master/buildbot/newsfragments/json.removal         |  1 +
+ master/buildbot/process/properties.py              |  2 +-
+ master/buildbot/schedulers/trysched.py             |  3 +-
+ master/buildbot/scripts/dataspec.py                |  3 +-
+ master/buildbot/scripts/processwwwindex.py         |  2 +-
+ master/buildbot/steps/transfer.py                  |  3 +-
+ master/buildbot/test/fake/fakedata.py              |  3 +-
+ master/buildbot/test/fake/fakedb.py                |  2 +-
+ master/buildbot/test/integration/test_www.py       |  4 ++-
+ .../test/unit/test_changes_gerritchangesource.py   |  2 +-
+ .../buildbot/test/unit/test_clients_tryclient.py   |  4 ++-
+ master/buildbot/test/unit/test_db_buildsets.py     |  3 +-
+ master/buildbot/test/unit/test_mq_wamp.py          |  3 +-
+ .../test/unit/test_schedulers_forcesched.py        |  3 +-
+ .../buildbot/test/unit/test_schedulers_trysched.py |  3 +-
+ .../test/unit/test_scripts_processwwwindex.py      |  3 +-
+ master/buildbot/test/unit/test_steps_transfer.py   |  3 +-
+ master/buildbot/test/unit/test_www_oauth.py        |  4 +--
+ master/buildbot/test/unit/test_www_rest.py         |  2 +-
+ master/buildbot/test/unit/test_www_sse.py          |  2 +-
+ master/buildbot/test/unit/test_www_ws.py           |  4 ++-
+ master/buildbot/test/util/validation.py            |  2 +-
+ master/buildbot/test/util/www.py                   |  2 +-
+ master/buildbot/util/__init__.py                   | 32 ++++++++--------------
+ master/buildbot/worker/docker.py                   |  2 +-
+ master/buildbot/www/config.py                      |  3 +-
+ master/buildbot/www/hooks/base.py                  |  3 +-
+ master/buildbot/www/hooks/gitlab.py                |  4 +--
+ master/buildbot/www/hooks/googlecode.py            |  4 +--
+ master/buildbot/www/oauth2.py                      |  2 +-
+ master/buildbot/www/rest.py                        |  2 +-
+ master/buildbot/www/sse.py                         |  3 +-
+ master/buildbot/www/ws.py                          |  3 +-
+ master/docs/developer/utils.rst                    | 12 --------
+ 44 files changed, 91 insertions(+), 77 deletions(-)
+ create mode 100644 master/buildbot/newsfragments/json.removal
+
+diff --git a/master/buildbot/changes/bitbucket.py b/master/buildbot/changes/bitbucket.py
+index 746d85398..3d5b57380 100644
+--- a/master/buildbot/changes/bitbucket.py
++++ b/master/buildbot/changes/bitbucket.py
+@@ -12,6 +12,8 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import time
+ from datetime import datetime
+ 
+@@ -25,7 +27,6 @@ from buildbot.util import ascii2unicode
+ from buildbot.util import datetime2epoch
+ from buildbot.util import deferredLocked
+ from buildbot.util import epoch2datetime
+-from buildbot.util import json
+ 
+ 
+ class BitbucketPullrequestPoller(base.PollingChangeSource):
+diff --git a/master/buildbot/changes/gerritchangesource.py b/master/buildbot/changes/gerritchangesource.py
+index 036071bbf..5e1dd0e58 100644
+--- a/master/buildbot/changes/gerritchangesource.py
++++ b/master/buildbot/changes/gerritchangesource.py
+@@ -15,6 +15,7 @@
+ from future.utils import iteritems
+ 
+ import datetime
++import json
+ 
+ from twisted.internet import defer
+ from twisted.internet import reactor
+@@ -26,7 +27,6 @@ from buildbot import util
+ from buildbot.changes import base
+ from buildbot.changes.filter import ChangeFilter
+ from buildbot.util import httpclientservice
+-from buildbot.util import json
+ 
+ 
+ class GerritChangeFilter(ChangeFilter):
+diff --git a/master/buildbot/clients/tryclient.py b/master/buildbot/clients/tryclient.py
+index bee4f3462..3f59a3cd6 100644
+--- a/master/buildbot/clients/tryclient.py
++++ b/master/buildbot/clients/tryclient.py
+@@ -12,6 +12,8 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import os
+ import random
+ import re
+@@ -32,7 +34,6 @@ from twisted.python.procutils import which
+ from twisted.spread import pb
+ 
+ from buildbot.status import builder
+-from buildbot.util import json
+ from buildbot.util import now
+ from buildbot.util.eventual import fireEventually
+ 
+diff --git a/master/buildbot/data/types.py b/master/buildbot/data/types.py
+index 6372303cd..c0dfc3587 100644
+--- a/master/buildbot/data/types.py
++++ b/master/buildbot/data/types.py
+@@ -19,10 +19,10 @@ from future.utils import iteritems
+ from future.utils import text_type
+ 
+ import datetime
++import json
+ import re
+ 
+ from buildbot import util
+-from buildbot.util import json
+ 
+ 
+ class Type(object):
+diff --git a/master/buildbot/db/builds.py b/master/buildbot/db/builds.py
+index a716cb603..cd9dabc5d 100644
+--- a/master/buildbot/db/builds.py
++++ b/master/buildbot/db/builds.py
+@@ -12,6 +12,9 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
++
+ import sqlalchemy as sa
+ 
+ from twisted.internet import defer
+@@ -20,7 +23,6 @@ from twisted.internet import reactor
+ from buildbot.db import NULL
+ from buildbot.db import base
+ from buildbot.util import epoch2datetime
+-from buildbot.util import json
+ 
+ 
+ class BuildsConnectorComponent(base.DBConnectorComponent):
+diff --git a/master/buildbot/db/buildsets.py b/master/buildbot/db/buildsets.py
+index 4bac6da5c..1288b57f4 100644
+--- a/master/buildbot/db/buildsets.py
++++ b/master/buildbot/db/buildsets.py
+@@ -18,6 +18,8 @@ Support for buildsets in the database
+ from future.utils import integer_types
+ from future.utils import iteritems
+ 
++import json
++
+ import sqlalchemy as sa
+ 
+ from twisted.internet import defer
+@@ -27,7 +29,6 @@ from buildbot.db import NULL
+ from buildbot.db import base
+ from buildbot.util import datetime2epoch
+ from buildbot.util import epoch2datetime
+-from buildbot.util import json
+ 
+ 
+ class BsDict(dict):
+diff --git a/master/buildbot/db/changes.py b/master/buildbot/db/changes.py
+index caa643fa7..004995753 100644
+--- a/master/buildbot/db/changes.py
++++ b/master/buildbot/db/changes.py
+@@ -19,6 +19,8 @@ Support for changes in the database
+ from future.utils import iteritems
+ from future.utils import itervalues
+ 
++import json
++
+ import sqlalchemy as sa
+ 
+ from twisted.internet import defer
+@@ -28,7 +30,6 @@ from twisted.python import log
+ from buildbot.db import base
+ from buildbot.util import datetime2epoch
+ from buildbot.util import epoch2datetime
+-from buildbot.util import json
+ 
+ 
+ class ChDict(dict):
+diff --git a/master/buildbot/db/state.py b/master/buildbot/db/state.py
+index 6ba143cfa..e572eab62 100644
+--- a/master/buildbot/db/state.py
++++ b/master/buildbot/db/state.py
+@@ -12,11 +12,13 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
++
+ import sqlalchemy as sa
+ import sqlalchemy.exc
+ 
+ from buildbot.db import base
+-from buildbot.util import json
+ 
+ 
+ class _IdNotFoundError(Exception):
+diff --git a/master/buildbot/db/steps.py b/master/buildbot/db/steps.py
+index f5e1c82bd..d0fbb52e3 100644
+--- a/master/buildbot/db/steps.py
++++ b/master/buildbot/db/steps.py
+@@ -12,6 +12,9 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
++
+ import sqlalchemy as sa
+ 
+ from twisted.internet import defer
+@@ -19,7 +22,6 @@ from twisted.internet import reactor
+ 
+ from buildbot.db import base
+ from buildbot.util import epoch2datetime
+-from buildbot.util import json
+ 
+ 
+ class StepsConnectorComponent(base.DBConnectorComponent):
+diff --git a/master/buildbot/db/types/json.py b/master/buildbot/db/types/json.py
+index ee105269d..932218135 100644
+--- a/master/buildbot/db/types/json.py
++++ b/master/buildbot/db/types/json.py
+@@ -12,11 +12,14 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++from __future__ import absolute_import
++
++import json
++
+ from sqlalchemy.types import Text
+ from sqlalchemy.types import TypeDecorator
+ 
+-from buildbot.util import json
+-
+ 
+ class JsonObject(TypeDecorator):
+ 
+diff --git a/master/buildbot/newsfragments/json.removal b/master/buildbot/newsfragments/json.removal
+new file mode 100644
+index 000000000..9fc57b91e
+--- /dev/null
++++ b/master/buildbot/newsfragments/json.removal
+@@ -0,0 +1 @@
++:py:data:`buildbot.util.json` has been deprecated in favor of the standard library :py:mod:`json`.
+diff --git a/master/buildbot/process/properties.py b/master/buildbot/process/properties.py
+index 82954a1cb..9b336c2d9 100644
+--- a/master/buildbot/process/properties.py
++++ b/master/buildbot/process/properties.py
+@@ -16,6 +16,7 @@ from future.builtins import range
+ from future.utils import iteritems
+ 
+ import collections
++import json
+ import re
+ import weakref
+ 
+@@ -28,7 +29,6 @@ from buildbot import util
+ from buildbot.interfaces import IProperties
+ from buildbot.interfaces import IRenderable
+ from buildbot.util import flatten
+-from buildbot.util import json
+ from buildbot.worker_transition import reportDeprecatedWorkerNameUsage
+ 
+ 
+diff --git a/master/buildbot/schedulers/trysched.py b/master/buildbot/schedulers/trysched.py
+index 3b700d871..60d17c269 100644
+--- a/master/buildbot/schedulers/trysched.py
++++ b/master/buildbot/schedulers/trysched.py
+@@ -12,8 +12,10 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ from future.utils import iteritems
+ 
++import json
+ import os
+ 
+ from twisted.internet import defer
+@@ -25,7 +27,6 @@ from buildbot import pbutil
+ from buildbot.process.properties import Properties
+ from buildbot.schedulers import base
+ from buildbot.util import ascii2unicode
+-from buildbot.util import json
+ from buildbot.util import netstrings
+ from buildbot.util.maildir import MaildirService
+ 
+diff --git a/master/buildbot/scripts/dataspec.py b/master/buildbot/scripts/dataspec.py
+index 047aa297e..a3017db82 100644
+--- a/master/buildbot/scripts/dataspec.py
++++ b/master/buildbot/scripts/dataspec.py
+@@ -12,6 +12,8 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import os
+ import sys
+ 
+@@ -20,7 +22,6 @@ from twisted.internet import defer
+ from buildbot.data import connector
+ from buildbot.test.fake import fakemaster
+ from buildbot.util import in_reactor
+-from buildbot.util import json
+ 
+ 
+ @in_reactor
+diff --git a/master/buildbot/scripts/processwwwindex.py b/master/buildbot/scripts/processwwwindex.py
+index 57db423c9..e7180f623 100644
+--- a/master/buildbot/scripts/processwwwindex.py
++++ b/master/buildbot/scripts/processwwwindex.py
+@@ -15,6 +15,7 @@
+ from __future__ import division
+ from __future__ import print_function
+ 
++import json
+ import os
+ 
+ import jinja2
+@@ -23,7 +24,6 @@ from twisted.internet import defer
+ 
+ from buildbot.test.fake import fakemaster
+ from buildbot.util import in_reactor
+-from buildbot.util import json
+ from buildbot.www import auth
+ from buildbot.www.config import IndexResource
+ from buildbot.www.service import WWWService
+diff --git a/master/buildbot/steps/transfer.py b/master/buildbot/steps/transfer.py
+index a3d423848..5dfb3b6a9 100644
+--- a/master/buildbot/steps/transfer.py
++++ b/master/buildbot/steps/transfer.py
+@@ -12,6 +12,8 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import os
+ import stat
+ 
+@@ -26,7 +28,6 @@ from buildbot.process.buildstep import FAILURE
+ from buildbot.process.buildstep import SKIPPED
+ from buildbot.process.buildstep import SUCCESS
+ from buildbot.process.buildstep import BuildStep
+-from buildbot.util import json
+ from buildbot.util.eventual import eventually
+ from buildbot.worker_transition import WorkerAPICompatMixin
+ from buildbot.worker_transition import reportDeprecatedWorkerNameUsage
+diff --git a/master/buildbot/test/fake/fakedata.py b/master/buildbot/test/fake/fakedata.py
+index b5a2ef58c..92bfd5c7b 100644
+--- a/master/buildbot/test/fake/fakedata.py
++++ b/master/buildbot/test/fake/fakedata.py
+@@ -16,6 +16,8 @@ from future.utils import iteritems
+ from future.utils import itervalues
+ from future.utils import text_type
+ 
++import json
++
+ from twisted.internet import defer
+ from twisted.internet import reactor
+ from twisted.python import failure
+@@ -23,7 +25,6 @@ from twisted.python import failure
+ from buildbot.data import connector
+ from buildbot.db.buildrequests import AlreadyClaimedError
+ from buildbot.test.util import validation
+-from buildbot.util import json
+ from buildbot.util import service
+ 
+ 
+diff --git a/master/buildbot/test/fake/fakedb.py b/master/buildbot/test/fake/fakedb.py
+index 740e6b1e3..47340ef63 100644
+--- a/master/buildbot/test/fake/fakedb.py
++++ b/master/buildbot/test/fake/fakedb.py
+@@ -25,6 +25,7 @@ from future.utils import text_type
+ import base64
+ import copy
+ import hashlib
++import json
+ 
+ from twisted.internet import defer
+ from twisted.internet import reactor
+@@ -35,7 +36,6 @@ from buildbot.db import changesources
+ from buildbot.db import schedulers
+ from buildbot.test.util import validation
+ from buildbot.util import datetime2epoch
+-from buildbot.util import json
+ from buildbot.util import service
+ 
+ 
+diff --git a/master/buildbot/test/integration/test_www.py b/master/buildbot/test/integration/test_www.py
+index de8805f35..fcfc6b549 100644
+--- a/master/buildbot/test/integration/test_www.py
++++ b/master/buildbot/test/integration/test_www.py
+@@ -12,6 +12,9 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
++
+ import mock
+ 
+ from twisted.internet import defer
+@@ -27,7 +30,6 @@ from buildbot.test.fake import fakedb
+ from buildbot.test.fake import fakemaster
+ from buildbot.test.util import db
+ from buildbot.test.util import www
+-from buildbot.util import json
+ from buildbot.www import service as wwwservice
+ from buildbot.www import auth
+ from buildbot.www import authz
+diff --git a/master/buildbot/test/unit/test_changes_gerritchangesource.py b/master/buildbot/test/unit/test_changes_gerritchangesource.py
+index fe00fcf58..b5c939065 100644
+--- a/master/buildbot/test/unit/test_changes_gerritchangesource.py
++++ b/master/buildbot/test/unit/test_changes_gerritchangesource.py
+@@ -15,6 +15,7 @@
+ from future.utils import iteritems
+ 
+ import datetime
++import json
+ import types
+ 
+ from twisted.internet import defer
+@@ -25,7 +26,6 @@ from buildbot.test.fake import httpclientservice as fakehttpclientservice
+ from buildbot.test.fake import fakedb
+ from buildbot.test.fake.change import Change
+ from buildbot.test.util import changesource
+-from buildbot.util import json
+ 
+ 
+ class TestGerritHelpers(unittest.TestCase):
+diff --git a/master/buildbot/test/unit/test_clients_tryclient.py b/master/buildbot/test/unit/test_clients_tryclient.py
+index 765d6444f..13adbf8cd 100644
+--- a/master/buildbot/test/unit/test_clients_tryclient.py
++++ b/master/buildbot/test/unit/test_clients_tryclient.py
+@@ -12,10 +12,12 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
++
+ from twisted.trial import unittest
+ 
+ from buildbot.clients import tryclient
+-from buildbot.util import json
+ 
+ 
+ class createJobfile(unittest.TestCase):
+diff --git a/master/buildbot/test/unit/test_db_buildsets.py b/master/buildbot/test/unit/test_db_buildsets.py
+index 5acea7a54..49c64790a 100644
+--- a/master/buildbot/test/unit/test_db_buildsets.py
++++ b/master/buildbot/test/unit/test_db_buildsets.py
+@@ -12,7 +12,9 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ import datetime
++import json
+ 
+ import mock
+ 
+@@ -30,7 +32,6 @@ from buildbot.test.util import validation
+ from buildbot.util import UTC
+ from buildbot.util import datetime2epoch
+ from buildbot.util import epoch2datetime
+-from buildbot.util import json
+ 
+ 
+ class Tests(interfaces.InterfaceTests):
+diff --git a/master/buildbot/test/unit/test_mq_wamp.py b/master/buildbot/test/unit/test_mq_wamp.py
+index 3ad41ae7d..55a9bf95f 100644
+--- a/master/buildbot/test/unit/test_mq_wamp.py
++++ b/master/buildbot/test/unit/test_mq_wamp.py
+@@ -12,8 +12,10 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ from future.builtins import range
+ 
++import json
+ import os
+ import textwrap
+ 
+@@ -26,7 +28,6 @@ from twisted.trial import unittest
+ 
+ from buildbot.mq import wamp
+ from buildbot.test.fake import fakemaster
+-from buildbot.util import json
+ from buildbot.wamp import connector
+ 
+ 
+diff --git a/master/buildbot/test/unit/test_schedulers_forcesched.py b/master/buildbot/test/unit/test_schedulers_forcesched.py
+index 72e19a830..22f3dea31 100644
+--- a/master/buildbot/test/unit/test_schedulers_forcesched.py
++++ b/master/buildbot/test/unit/test_schedulers_forcesched.py
+@@ -16,6 +16,8 @@ from __future__ import division
+ from __future__ import print_function
+ from future.utils import iteritems
+ 
++import json
++
+ from twisted.internet import defer
+ from twisted.trial import unittest
+ 
+@@ -36,7 +38,6 @@ from buildbot.schedulers.forcesched import oneCodebase
+ from buildbot.test.util import scheduler
+ from buildbot.test.util.config import ConfigErrorsMixin
+ from buildbot.test.util.warnings import assertProducesWarning
+-from buildbot.util import json
+ from buildbot.worker_transition import DeprecatedWorkerNameWarning
+ 
+ 
+diff --git a/master/buildbot/test/unit/test_schedulers_trysched.py b/master/buildbot/test/unit/test_schedulers_trysched.py
+index c5f9f347e..439ce5d2d 100644
+--- a/master/buildbot/test/unit/test_schedulers_trysched.py
++++ b/master/buildbot/test/unit/test_schedulers_trysched.py
+@@ -12,7 +12,9 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ import cStringIO as StringIO
++import json
+ import os
+ import shutil
+ import sys
+@@ -27,7 +29,6 @@ from twisted.trial import unittest
+ from buildbot.schedulers import trysched
+ from buildbot.test.util import dirs
+ from buildbot.test.util import scheduler
+-from buildbot.util import json
+ 
+ 
+ class TryBase(unittest.TestCase):
+diff --git a/master/buildbot/test/unit/test_scripts_processwwwindex.py b/master/buildbot/test/unit/test_scripts_processwwwindex.py
+index db01a5239..c265b8ab7 100644
+--- a/master/buildbot/test/unit/test_scripts_processwwwindex.py
++++ b/master/buildbot/test/unit/test_scripts_processwwwindex.py
+@@ -12,12 +12,13 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import tempfile
+ 
+ from twisted.trial import unittest
+ 
+ from buildbot.scripts import processwwwindex
+-from buildbot.util import json
+ 
+ 
+ class TestUsersClient(unittest.TestCase):
+diff --git a/master/buildbot/test/unit/test_steps_transfer.py b/master/buildbot/test/unit/test_steps_transfer.py
+index ee70af830..c91f0dfac 100644
+--- a/master/buildbot/test/unit/test_steps_transfer.py
++++ b/master/buildbot/test/unit/test_steps_transfer.py
+@@ -12,8 +12,10 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ from future.utils import iteritems
+ 
++import json
+ import os
+ import shutil
+ import stat
+@@ -38,7 +40,6 @@ from buildbot.test.fake.remotecommand import ExpectRemoteRef
+ from buildbot.test.util import steps
+ from buildbot.test.util.warnings import assertNotProducesWarnings
+ from buildbot.test.util.warnings import assertProducesWarning
+-from buildbot.util import json
+ from buildbot.worker_transition import DeprecatedWorkerAPIWarning
+ from buildbot.worker_transition import DeprecatedWorkerNameWarning
+ 
+diff --git a/master/buildbot/test/unit/test_www_oauth.py b/master/buildbot/test/unit/test_www_oauth.py
+index 177385cb0..ba7310bf8 100644
+--- a/master/buildbot/test/unit/test_www_oauth.py
++++ b/master/buildbot/test/unit/test_www_oauth.py
+@@ -12,6 +12,8 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import os
+ import webbrowser
+ 
+@@ -26,7 +28,6 @@ from twisted.web.resource import Resource
+ from twisted.web.server import Site
+ 
+ from buildbot.test.util import www
+-from buildbot.util import json
+ 
+ try:
+     import requests
+@@ -277,7 +278,6 @@ class OAuth2AuthGitHubE2E(www.WwwTestMixin, unittest.TestCase):
+             raise unittest.SkipTest(
+                 "Need to pass OAUTHCONF path to json file via environ to run this e2e test")
+ 
+-        import json
+         config = json.load(open(os.environ['OAUTHCONF']))[self.authClass]
+         from buildbot.www import oauth2
+         self.auth = self._instantiateAuth(
+diff --git a/master/buildbot/test/unit/test_www_rest.py b/master/buildbot/test/unit/test_www_rest.py
+index c0e1a2680..2b87e4d0d 100644
+--- a/master/buildbot/test/unit/test_www_rest.py
++++ b/master/buildbot/test/unit/test_www_rest.py
+@@ -18,6 +18,7 @@ from future.utils import itervalues
+ from future.utils import string_types
+ from future.utils import text_type
+ 
++import json
+ import re
+ 
+ import mock
+@@ -27,7 +28,6 @@ from twisted.trial import unittest
+ 
+ from buildbot.test.fake import endpoint
+ from buildbot.test.util import www
+-from buildbot.util import json
+ from buildbot.www import authz
+ from buildbot.www import rest
+ from buildbot.www.rest import JSONRPC_CODES
+diff --git a/master/buildbot/test/unit/test_www_sse.py b/master/buildbot/test/unit/test_www_sse.py
+index ba2a1f0a9..3eac07047 100644
+--- a/master/buildbot/test/unit/test_www_sse.py
++++ b/master/buildbot/test/unit/test_www_sse.py
+@@ -13,13 +13,13 @@
+ #
+ # Copyright Buildbot Team Members
+ import datetime
++import json
+ 
+ from twisted.trial import unittest
+ 
+ from buildbot.test.unit import test_data_changes
+ from buildbot.test.util import www
+ from buildbot.util import datetime2epoch
+-from buildbot.util import json
+ from buildbot.www import sse
+ 
+ 
+diff --git a/master/buildbot/test/unit/test_www_ws.py b/master/buildbot/test/unit/test_www_ws.py
+index a40393556..91051b21d 100644
+--- a/master/buildbot/test/unit/test_www_ws.py
++++ b/master/buildbot/test/unit/test_www_ws.py
+@@ -12,12 +12,14 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
++
+ from mock import Mock
+ 
+ from twisted.trial import unittest
+ 
+ from buildbot.test.util import www
+-from buildbot.util import json
+ from buildbot.www import ws
+ 
+ 
+diff --git a/master/buildbot/test/util/validation.py b/master/buildbot/test/util/validation.py
+index 13647a63b..292e72bee 100644
+--- a/master/buildbot/test/util/validation.py
++++ b/master/buildbot/test/util/validation.py
+@@ -19,10 +19,10 @@ from future.utils import iteritems
+ from future.utils import text_type
+ 
+ import datetime
++import json
+ import re
+ 
+ from buildbot.util import UTC
+-from buildbot.util import json
+ 
+ # Base class
+ 
+diff --git a/master/buildbot/test/util/www.py b/master/buildbot/test/util/www.py
+index 5fe38e268..d737327dd 100644
+--- a/master/buildbot/test/util/www.py
++++ b/master/buildbot/test/util/www.py
+@@ -17,6 +17,7 @@ from future.utils import integer_types
+ from future.utils import iteritems
+ 
+ import cgi
++import json
+ import os
+ import pkg_resources
+ from cStringIO import StringIO
+@@ -28,7 +29,6 @@ from twisted.internet import defer
+ from twisted.web import server
+ 
+ from buildbot.test.fake import fakemaster
+-from buildbot.util import json
+ from buildbot.www import auth
+ from buildbot.www import authz
+ 
+diff --git a/master/buildbot/util/__init__.py b/master/buildbot/util/__init__.py
+index ed78bf25f..3a9d55ca5 100644
+--- a/master/buildbot/util/__init__.py
++++ b/master/buildbot/util/__init__.py
+@@ -12,6 +12,7 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ from __future__ import division
+ from __future__ import print_function
+ 
+@@ -28,9 +29,12 @@ import locale
+ import re
+ import textwrap
+ import time
++import json
+ 
+ from future.utils import text_type
+ from twisted.python import reflect
++from twisted.python.versions import Version
++from twisted.python.deprecate import deprecatedModuleAttribute
+ 
+ from zope.interface import implementer
+ 
+@@ -181,26 +185,14 @@ def ascii2unicode(x):
+         return x
+     return text_type(x, 'ascii')
+ 
++_hush_pyflakes = [json]
+ 
+-# place a working json module at 'buildbot.util.json'.  Code is adapted from
+-# Paul Wise <pabs@debian.org>:
+-#   http://lists.debian.org/debian-python/2010/02/msg00016.html
+-# json doesn't exist as a standard module until python2.6
+-# However python2.6's json module is much slower than simplejson, so we prefer
+-# to use simplejson if available.
+-try:
+-    import simplejson as json
+-    assert json
+-except ImportError:
+-    import json  # python 2.6 or 2.7
+-try:
+-    _tmp = json.loads
+-except AttributeError:
+-    import warnings
+-    import sys
+-    warnings.warn("Use simplejson, not the old json module.")
+-    sys.modules.pop('json')  # get rid of the bad json module
+-    import simplejson as json
++deprecatedModuleAttribute(
++    Version("buildbot", 0, 9, 4),
++    message="Use json from the standard library instead.",
++    moduleName="buildbot.util",
++    name="json",
++)
+ 
+ 
+ def toJson(obj):
+@@ -432,7 +424,7 @@ def dictionary_merge(a, b):
+ 
+ 
+ __all__ = [
+-    'naturalSort', 'now', 'formatInterval', 'ComparableMixin', 'json',
++    'naturalSort', 'now', 'formatInterval', 'ComparableMixin',
+     'safeTranslate', 'none_or_str',
+     'NotABranch', 'deferredLocked', 'UTC',
+     'diffSets', 'makeList', 'in_reactor', 'string2boolean',
+diff --git a/master/buildbot/worker/docker.py b/master/buildbot/worker/docker.py
+index f39132737..a91424f1a 100644
+--- a/master/buildbot/worker/docker.py
++++ b/master/buildbot/worker/docker.py
+@@ -19,6 +19,7 @@ from __future__ import division
+ from __future__ import print_function
+ 
+ import hashlib
++import json
+ import socket
+ from io import BytesIO
+ 
+@@ -28,7 +29,6 @@ from twisted.python import log
+ 
+ from buildbot import config
+ from buildbot.interfaces import LatentWorkerFailedToSubstantiate
+-from buildbot.util import json
+ from buildbot.worker import AbstractLatentWorker
+ 
+ try:
+diff --git a/master/buildbot/www/config.py b/master/buildbot/www/config.py
+index e3f6f6214..4030e8e73 100644
+--- a/master/buildbot/www/config.py
++++ b/master/buildbot/www/config.py
+@@ -12,6 +12,8 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import os
+ import posixpath
+ 
+@@ -22,7 +24,6 @@ from twisted.python import log
+ from twisted.web.error import Error
+ 
+ from buildbot.interfaces import IConfigured
+-from buildbot.util import json
+ from buildbot.www import resource
+ 
+ 
+diff --git a/master/buildbot/www/hooks/base.py b/master/buildbot/www/hooks/base.py
+index 149c3f925..9255be44a 100644
+--- a/master/buildbot/www/hooks/base.py
++++ b/master/buildbot/www/hooks/base.py
+@@ -17,7 +17,8 @@
+ #  and inspired from code from the Chromium project
+ # otherwise, Andrew Melo <andrew.melo@gmail.com> wrote the rest
+ # but "the rest" is pretty minimal
+-from buildbot.util import json
++
++import json
+ 
+ 
+ def getChanges(request, options=None):
+diff --git a/master/buildbot/www/hooks/gitlab.py b/master/buildbot/www/hooks/gitlab.py
+index c7663a63a..ab1b65690 100644
+--- a/master/buildbot/www/hooks/gitlab.py
++++ b/master/buildbot/www/hooks/gitlab.py
+@@ -12,14 +12,14 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
++import json
+ import re
+ 
+ from dateutil.parser import parse as dateparse
+ 
+ from twisted.python import log
+ 
+-from buildbot.util import json
+-
+ 
+ def _process_change(payload, user, repo, repo_url, project, codebase=None):
+     """
+diff --git a/master/buildbot/www/hooks/googlecode.py b/master/buildbot/www/hooks/googlecode.py
+index b8709bb4d..2a370e4f9 100644
+--- a/master/buildbot/www/hooks/googlecode.py
++++ b/master/buildbot/www/hooks/googlecode.py
+@@ -14,12 +14,12 @@
+ # Copyright 2011, Louis Opter <kalessin@kalessin.fr>
+ #
+ # Quite inspired from the github hook.
++
+ import hmac
++import json
+ 
+ from twisted.python import log
+ 
+-from buildbot.util import json
+-
+ 
+ class GoogleCodeAuthFailed(Exception):
+     pass
+diff --git a/master/buildbot/www/oauth2.py b/master/buildbot/www/oauth2.py
+index 1d1ea4efd..baa9dab25 100644
+--- a/master/buildbot/www/oauth2.py
++++ b/master/buildbot/www/oauth2.py
+@@ -17,6 +17,7 @@ from future.moves.urllib.parse import urlencode
+ from future.utils import iteritems
+ from future.utils import string_types
+ 
++import json
+ from posixpath import join
+ 
+ import requests
+@@ -24,7 +25,6 @@ import requests
+ from twisted.internet import defer
+ from twisted.internet import threads
+ 
+-from buildbot.util import json
+ from buildbot.www import auth
+ from buildbot.www import resource
+ 
+diff --git a/master/buildbot/www/rest.py b/master/buildbot/www/rest.py
+index 3147a33b7..30f79d6ea 100644
+--- a/master/buildbot/www/rest.py
++++ b/master/buildbot/www/rest.py
+@@ -19,6 +19,7 @@ from future.utils import text_type
+ import cgi
+ import datetime
+ import fnmatch
++import json
+ import re
+ from contextlib import contextmanager
+ 
+@@ -28,7 +29,6 @@ from twisted.web.error import Error
+ 
+ from buildbot.data import exceptions
+ from buildbot.data import resultspec
+-from buildbot.util import json
+ from buildbot.util import toJson
+ from buildbot.www import resource
+ from buildbot.www.authz import Forbidden
+diff --git a/master/buildbot/www/sse.py b/master/buildbot/www/sse.py
+index df076195e..741328844 100644
+--- a/master/buildbot/www/sse.py
++++ b/master/buildbot/www/sse.py
+@@ -12,8 +12,10 @@
+ # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ #
+ # Copyright Buildbot Team Members
++
+ from future.utils import itervalues
+ 
++import json
+ import uuid
+ 
+ from twisted.python import log
+@@ -21,7 +23,6 @@ from twisted.web import resource
+ from twisted.web import server
+ 
+ from buildbot.data.exceptions import InvalidPathError
+-from buildbot.util import json
+ from buildbot.util import toJson
+ 
+ 
+diff --git a/master/buildbot/www/ws.py b/master/buildbot/www/ws.py
+index ed7bcad8f..1e48ec553 100644
+--- a/master/buildbot/www/ws.py
++++ b/master/buildbot/www/ws.py
+@@ -15,13 +15,14 @@
+ from future.utils import itervalues
+ from future.utils import string_types
+ 
++import json
++
+ from autobahn.twisted.resource import WebSocketResource
+ from autobahn.twisted.websocket import WebSocketServerFactory
+ from autobahn.twisted.websocket import WebSocketServerProtocol
+ from twisted.internet import defer
+ from twisted.python import log
+ 
+-from buildbot.util import json
+ from buildbot.util import toJson
+ 
+ 
+diff --git a/master/docs/developer/utils.rst b/master/docs/developer/utils.rst
+index e1e64503a..2470330bd 100644
+--- a/master/docs/developer/utils.rst
++++ b/master/docs/developer/utils.rst
+@@ -506,18 +506,6 @@ The ``@poll.method`` decorator makes this behavior easy and reliable.
+         Force a call to the decorated method now.
+         If the decorated method is currently running, another call will begin as soon as it completes.
+ 
+-:py:mod:`buildbot.util.json`
+-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-
+-.. py:module:: buildbot.util.json
+-
+-This package is just an import of the best available JSON module.
+-Use it instead of a more complex conditional import of :mod:`simplejson` or :mod:`json`:
+-
+-.. code-block:: python
+-
+-    from buildbot.util import json
+-
+ :py:mod:`buildbot.util.maildir`
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ 
+-- 
+2.11.0
+


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2017-05-16  2:10 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2017-05-16  2:10 UTC (permalink / raw
  To: gentoo-commits

commit:     30e15e5008438c36161855ff0a51ad1c637a50e6
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Tue May 16 01:57:21 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Tue May 16 02:07:12 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30e15e50

dev-util/buildbot: Version bump, adds py3.5 capability

Clean older versions.

Package-Manager: Portage-2.3.5, Repoman-2.3.2_p30

 dev-util/buildbot/Manifest                         |    6 +-
 dev-util/buildbot/buildbot-0.9.0_p1.ebuild         |  199 ----
 dev-util/buildbot/buildbot-0.9.1.ebuild            |  199 ----
 dev-util/buildbot/buildbot-0.9.2.ebuild            |  222 -----
 dev-util/buildbot/buildbot-0.9.4.ebuild            |    4 +-
 ...buildbot-0.9.3.ebuild => buildbot-0.9.7.ebuild} |   70 +-
 dev-util/buildbot/buildbot-9999.ebuild             |   44 +-
 .../files/buildbot-0.9.3-json-import.patch         | 1000 --------------------
 .../buildbot-0.9.Addmissedtestingtemplates.patch   |   25 -
 9 files changed, 43 insertions(+), 1726 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index d8f979ee5da..6dc7554013d 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,9 +1,5 @@
 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.0.post1.tar.gz 3013406 SHA256 afd8229c9fd33daa6d8227cd665c75b1b25c47ffcc4046ab5fd5b290ccd536a3 SHA512 0b171ca6ed15b15b4df23d0618cb7d98f6ae922efaa1e35a9458efaaf676b80a6ff3be36231b8ca31cadf89c3968425c560a0bff3630e8792d179462eba0da67 WHIRLPOOL e440826e4a027b42d28c0f3a0afca3c46ec5dc0b4d629fcef75de4b3350cffa2208e0024983f0ffebd1df38a5d860c6bd541fc1c3e28f8b6669ee93a4d4be8b4
-DIST buildbot-0.9.1.tar.gz 3051975 SHA256 a9f385f66f5cc3021f4cbfce92496673ebf9171578fa9e5ae4f66732276d64ce SHA512 c3b845a3607c5eaa0a5076755bc0e285ba7c6809f9d7934fab7c6cf8299610e921034656cf3792113961176a821138c6d069122d4d1f1698f16badf3ef9a0dea WHIRLPOOL 6767878665f09ff7b6219ddcda73487b441f3e33ce580fc2df2f16d430217d4ac38b93e22a3f3abd9c8380ac6e6c93de6767faec1aa5615f82fbe8d8e20759e1
-DIST buildbot-0.9.2.tar.gz 3026977 SHA256 d33ec059941cf830c8f7b7f336a76e32e7122e2690a27b784efeddc6dbf4564a SHA512 a1c6345bcceb5c8f4ed600542625eee81e59af00a1b12054fe77e3b4ed5536b7004fcbd07cfc96baa3061193eb79e4290e056cf7157b71831370654c057a2c57 WHIRLPOOL 075a00d85df5321180345348a02ac12cc8a1bea36d6e60617ebe54de71ce5a989fcf009822834dad1994a6f83ebb5c6132f350902fd31d5b279c5c13014bb4b9
-DIST buildbot-0.9.3.tar.gz 3031033 SHA256 c2bc6a8139b0f97d304bfa047a4c414e42ea12ba94e34d82ae7cb356a69d87fb SHA512 a6f18e88c33fe1eafe0b9b154fb77f0d93db71145faab527ecd5ce53fcbbff48b915de4a02461da87eefbd58a649a56d3a9b16ba759d978e70a70898a15681b7 WHIRLPOOL b62fd5bea0b647b703674024e50731e7713e9488dec570d8e42beabaa2135a81349b955164cf01898b12ab0123d9a8f3b76e3364f65003b8af85a54755b6ad22
 DIST buildbot-0.9.4.docs.tar.xz 69224 SHA256 69fc33762a885568b02c42954a64d62d28bcb750b3aed011c3da8a9f84c13371 SHA512 906e551e0db32c8a0b4010b3b8b00c4776e3d1b7d7381e4dc0ccf01d361184e4605c3ab0ecaf4e42207bd73c3e72f8a570a4d4c29db72f4d68241abf48741d7e WHIRLPOOL 95f263e0b9ab22a649118f362d866b08cbdf62511f2a1f9bd6a7265103f174e35d0c8d86ad6a3b7dd5fd0b4277d60dbd25801c5e6f7e414e7fa634c241dae987
 DIST buildbot-0.9.4.tar.gz 3020851 SHA256 068161cd9ada10b87f40117c768a37ce796ebf5e7bf08f224f4c7ded88cd7472 SHA512 938a94192560b989a277d9650c50781d7e7c116bc5e2010ccb2e655df757de0ee254369531b2f432c835c0285c724e52d999a393d0ce1b104d4b9dcc5c6687da WHIRLPOOL 0ffe61b82ee93b78cdb3cb74ef96d5a3547e0fcab9ec8093b59a7212c5e2a1ad16eff046306bffcc0ea63b2e0bf2df1e54b5a0874dc78e27744db2088ccac804
-DIST buildbot-test_templates.tar.xz 304 SHA256 3d581b74c21f88119f7e5f93f381f2004662ca7219aae9a05f0bd3f8cae48317 SHA512 87ba914896d86f70e2e4b24a51248c475bf24fad4c02e3a99d6d7fa41b5a57f369865b20a7c30dafa3162ba50ccb04de1809b0cf9d53e45537738e4821229866 WHIRLPOOL 151dc42ceed8e90c96cdd0b6e937f13019c0d6cd5e2e878ee971cbc69ce4ea56b240b58fa743766bd0d71cafa38279e37be077324eb5ece7b99df46eaf566dfe
+DIST buildbot-0.9.7.tar.gz 3092434 SHA256 8fcbf0e6536e5d60407f59d14f96d5f8386cd91846a4fa47b4336d71551a9e33 SHA512 3fd2b488cabac37e297bb1a475cdb115f261324a22ec4d6fbcf8dc5bfb6ee135fab3763998433be8795581d476f69e2adb6f42d248bf2131a42eecfc1667202a WHIRLPOOL 427d4c1c452f767550a3d2731b2e34480c399dcf50e57d4fb69f0a350f381e3e7ecc47d712fc8fbb99afcf8b230c7bd3afe8437ec3b24bf9ddbf7d35b4d1caad

diff --git a/dev-util/buildbot/buildbot-0.9.0_p1.ebuild b/dev-util/buildbot/buildbot-0.9.0_p1.ebuild
deleted file mode 100644
index 00fe2ca44be..00000000000
--- a/dev-util/buildbot/buildbot-0.9.0_p1.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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_V="0.9.0.post1"
-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-16.0.0[${PYTHON_USEDEP}]
-		>=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
-	)
-	>=dev-python/autobahn-0.16.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/txrequests[${PYTHON_USEDEP}]
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	mail? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	manhole? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${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-16.0.0[${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/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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-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}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-0.9.1.ebuild b/dev-util/buildbot/buildbot-0.9.1.ebuild
deleted file mode 100644
index 4da7f74abcb..00000000000
--- a/dev-util/buildbot/buildbot-0.9.1.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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_V="0.9.1"
-MY_P="${PN}-${MY_V}"
-
-DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="http://buildbot.net/ https://github.com/buildbot/buildbot https://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-16.0.0[${PYTHON_USEDEP}]
-		>=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
-	)
-	>=dev-python/autobahn-0.16.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/txrequests[${PYTHON_USEDEP}]
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	mail? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	manhole? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${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-16.0.0[${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/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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-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}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-0.9.2.ebuild b/dev-util/buildbot/buildbot-0.9.2.ebuild
deleted file mode 100644
index d68e544a5ae..00000000000
--- a/dev-util/buildbot/buildbot-0.9.2.ebuild
+++ /dev/null
@@ -1,222 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-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_P="${PN}-${MY_PV}"
-
-DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="http://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
-if [[ ${PV} != *9999 ]]; then
-	SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
-		http://dev.gentoo.org/~dolsen/distfiles/buildbot-test_templates.tar.xz"
-fi
-
-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-16.0.0[${PYTHON_USEDEP}]
-		>=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
-	)
-	>=dev-python/autobahn-0.16.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/txrequests[${PYTHON_USEDEP}]
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	mail? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	manhole? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${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/httpretty-0.8.10[${PYTHON_USEDEP}]
-		|| (
-			>=dev-python/twisted-16.0.0[${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/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}]
-		>=dev-python/treq-16.0.0[${PYTHON_USEDEP}]
-		dev-python/setuptools_trial[${PYTHON_USEDEP}]
-		~dev-util/buildbot-www-${PV}[${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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-src_unpack() {
-	unpack ${MY_P}.tar.gz
-	cd ${MY_P}/buildbot/test/unit
-	unpack buildbot-test_templates.tar.xz
-}
-
-src_prepare() {
-	epatch "${FILESDIR}"/buildbot-0.9.Addmissedtestingtemplates.patch
-	}
-
-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}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-python_test() {
-	distutils_install_for_testing
-
-	esetup.py test || die "Tests failed under ${EPYTHON}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-0.9.4.ebuild b/dev-util/buildbot/buildbot-0.9.4.ebuild
index 5981c020593..4ee67e152c9 100644
--- a/dev-util/buildbot/buildbot-0.9.4.ebuild
+++ b/dev-util/buildbot/buildbot-0.9.4.ebuild
@@ -13,10 +13,10 @@ MY_PV="${PV/_p/p}"
 MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="http://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
+HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
 SRC_URI="
 	mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
-	http://dev.gentoo.org/~dolsen/distfiles/buildbot-0.9.4.docs.tar.xz
+	https://dev.gentoo.org/~dolsen/distfiles/buildbot-0.9.4.docs.tar.xz
 "
 
 LICENSE="GPL-2"

diff --git a/dev-util/buildbot/buildbot-0.9.3.ebuild b/dev-util/buildbot/buildbot-0.9.7.ebuild
similarity index 81%
rename from dev-util/buildbot/buildbot-0.9.3.ebuild
rename to dev-util/buildbot/buildbot-0.9.7.ebuild
index 176bd7ef1bc..bfcbf1aa17e 100644
--- a/dev-util/buildbot/buildbot-0.9.3.ebuild
+++ b/dev-util/buildbot/buildbot-0.9.7.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="5"
 PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python2_7 python3_5 )
 
 EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
 
@@ -14,7 +14,7 @@ MY_PV="${PV/_p/p}"
 MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="http://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
+HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
 [[ ${PV} == *9999 ]] || SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
 
 LICENSE="GPL-2"
@@ -25,70 +25,57 @@ else
 	KEYWORDS="~amd64"
 fi
 
-IUSE="crypt doc examples irc mail manhole test"
+IUSE="crypt doc examples irc test"
 
-RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	|| (
-		>=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-		>=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
-	)
+RDEPEND="
+	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+	>=dev-python/twisted-17.1.0[${PYTHON_USEDEP}]
 	>=dev-python/autobahn-0.16.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/twisted-17.1.0[${PYTHON_USEDEP},crypt]
+		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
 		dev-python/idna[${PYTHON_USEDEP}]
 		dev-python/service_identity[${PYTHON_USEDEP}]
 	)
 	irc? (
 		dev-python/txrequests[${PYTHON_USEDEP}]
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	mail? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	manhole? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
-		)
 	)
 	dev-python/future[${PYTHON_USEDEP}]
 	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
-	"
+	dev-python/pyjwt[${PYTHON_USEDEP}]
+	dev-python/distro[${PYTHON_USEDEP}]
+	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
+	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
+"
 DEPEND="${RDEPEND}
 	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
-	doc? ( >=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}] )
+	doc? (
+		>=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}]
+		dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
+		dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
+		dev-python/pyenchant[${PYTHON_USEDEP}]
+		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+		<dev-python/docutils-0.13.0[${PYTHON_USEDEP}]
+		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
+		dev-python/ramlfications[${PYTHON_USEDEP}]
+	)
 	test? (
 		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
-		|| (
-			>=dev-python/twisted-16.0.0[${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/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}]
+		dev-python/lz4[${PYTHON_USEDEP}]
+		dev-python/treq[${PYTHON_USEDEP}]
+		~dev-util/buildbot-worker-${PV}[${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
 
@@ -101,10 +88,6 @@ pkg_setup() {
 		The scripts can	run as a different user if desired."
 }
 
-src_prepare() {
-	epatch "${FILESDIR}"/buildbot-0.9.3-json-import.patch
-	}
-
 src_compile() {
 	distutils-r1_src_compile
 
@@ -143,6 +126,7 @@ src_install() {
 
 python_test() {
 	distutils_install_for_testing
+	export TEST_HYPER=1
 
 	esetup.py test || die "Tests failed under ${EPYTHON}"
 }

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
index cd94d2d541a..834f434691d 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="5"
 PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python2_7 )
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
 
 EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
 
@@ -14,7 +14,7 @@ MY_PV="${PV/_p/p}"
 MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="http://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
+HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
 [[ ${PV} == *9999 ]] || SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
 
 LICENSE="GPL-2"
@@ -25,42 +25,30 @@ else
 	KEYWORDS="~amd64"
 fi
 
-IUSE="crypt doc examples irc mail manhole test"
+IUSE="crypt doc examples irc test"
 
-RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	|| (
-		>=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-		>=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
-	)
+RDEPEND="
+	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+	$(python_gen_cond_dep '>=dev-python/twisted-16.0.0[${PYTHON_USEDEP},crypt?]' python2_7 )
+	$(python_gen_cond_dep '>=dev-python/twisted-17.1.0[${PYTHON_USEDEP},crypt?]' python3_5 python3_6 )
 	>=dev-python/autobahn-0.16.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/pyopenssl-16.0.0[${PYTHON_USEDEP}]
 		dev-python/idna[${PYTHON_USEDEP}]
 		dev-python/service_identity[${PYTHON_USEDEP}]
 	)
 	irc? (
 		dev-python/txrequests[${PYTHON_USEDEP}]
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	mail? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	manhole? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
-		)
 	)
 	dev-python/future[${PYTHON_USEDEP}]
 	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
 	dev-python/pyjwt[${PYTHON_USEDEP}]
-	"
+	dev-python/distro[${PYTHON_USEDEP}]
+	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
+"
 DEPEND="${RDEPEND}
 	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
 	doc? (
@@ -69,19 +57,13 @@ DEPEND="${RDEPEND}
 		dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
 		dev-python/pyenchant[${PYTHON_USEDEP}]
 		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+		<dev-python/docutils-0.13.0[${PYTHON_USEDEP}]
 		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
+		dev-python/ramlfications[${PYTHON_USEDEP}]
 	)
 	test? (
 		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
-		|| (
-			>=dev-python/twisted-16.0.0[${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/moto[${PYTHON_USEDEP}]
 		dev-python/boto3[${PYTHON_USEDEP}]
 		dev-python/ramlfications[${PYTHON_USEDEP}]

diff --git a/dev-util/buildbot/files/buildbot-0.9.3-json-import.patch b/dev-util/buildbot/files/buildbot-0.9.3-json-import.patch
deleted file mode 100644
index 6c3cb14ed58..00000000000
--- a/dev-util/buildbot/files/buildbot-0.9.3-json-import.patch
+++ /dev/null
@@ -1,1000 +0,0 @@
-From 9e7a734c260b4f473eee11ff7a08b5064ff34e22 Mon Sep 17 00:00:00 2001
-From: Tom Prince <tom.prince@twistedmatrix.com>
-Date: Thu, 12 Jan 2017 11:54:19 -0700
-Subject: [PATCH] Import `json` directly.
-
-Emit deprecation warning.
-Update documentation.
-Fix tests.
-Lint fix.
----
- master/buildbot/changes/bitbucket.py               |  3 +-
- master/buildbot/changes/gerritchangesource.py      |  2 +-
- master/buildbot/clients/tryclient.py               |  3 +-
- master/buildbot/data/types.py                      |  2 +-
- master/buildbot/db/builds.py                       |  4 ++-
- master/buildbot/db/buildsets.py                    |  3 +-
- master/buildbot/db/changes.py                      |  3 +-
- master/buildbot/db/state.py                        |  4 ++-
- master/buildbot/db/steps.py                        |  4 ++-
- master/buildbot/db/types/json.py                   |  7 +++--
- master/buildbot/newsfragments/json.removal         |  1 +
- master/buildbot/process/properties.py              |  2 +-
- master/buildbot/schedulers/trysched.py             |  3 +-
- master/buildbot/scripts/dataspec.py                |  3 +-
- master/buildbot/scripts/processwwwindex.py         |  2 +-
- master/buildbot/steps/transfer.py                  |  3 +-
- master/buildbot/test/fake/fakedata.py              |  3 +-
- master/buildbot/test/fake/fakedb.py                |  2 +-
- master/buildbot/test/integration/test_www.py       |  4 ++-
- .../test/unit/test_changes_gerritchangesource.py   |  2 +-
- .../buildbot/test/unit/test_clients_tryclient.py   |  4 ++-
- master/buildbot/test/unit/test_db_buildsets.py     |  3 +-
- master/buildbot/test/unit/test_mq_wamp.py          |  3 +-
- .../test/unit/test_schedulers_forcesched.py        |  3 +-
- .../buildbot/test/unit/test_schedulers_trysched.py |  3 +-
- .../test/unit/test_scripts_processwwwindex.py      |  3 +-
- master/buildbot/test/unit/test_steps_transfer.py   |  3 +-
- master/buildbot/test/unit/test_www_oauth.py        |  4 +--
- master/buildbot/test/unit/test_www_rest.py         |  2 +-
- master/buildbot/test/unit/test_www_sse.py          |  2 +-
- master/buildbot/test/unit/test_www_ws.py           |  4 ++-
- master/buildbot/test/util/validation.py            |  2 +-
- master/buildbot/test/util/www.py                   |  2 +-
- master/buildbot/util/__init__.py                   | 32 ++++++++--------------
- master/buildbot/worker/docker.py                   |  2 +-
- master/buildbot/www/config.py                      |  3 +-
- master/buildbot/www/hooks/base.py                  |  3 +-
- master/buildbot/www/hooks/gitlab.py                |  4 +--
- master/buildbot/www/hooks/googlecode.py            |  4 +--
- master/buildbot/www/oauth2.py                      |  2 +-
- master/buildbot/www/rest.py                        |  2 +-
- master/buildbot/www/sse.py                         |  3 +-
- master/buildbot/www/ws.py                          |  3 +-
- master/docs/developer/utils.rst                    | 12 --------
- 44 files changed, 91 insertions(+), 77 deletions(-)
- create mode 100644 master/buildbot/newsfragments/json.removal
-
-diff --git a/master/buildbot/changes/bitbucket.py b/master/buildbot/changes/bitbucket.py
-index 746d85398..3d5b57380 100644
---- a/master/buildbot/changes/bitbucket.py
-+++ b/master/buildbot/changes/bitbucket.py
-@@ -12,6 +12,8 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import time
- from datetime import datetime
- 
-@@ -25,7 +27,6 @@ from buildbot.util import ascii2unicode
- from buildbot.util import datetime2epoch
- from buildbot.util import deferredLocked
- from buildbot.util import epoch2datetime
--from buildbot.util import json
- 
- 
- class BitbucketPullrequestPoller(base.PollingChangeSource):
-diff --git a/master/buildbot/changes/gerritchangesource.py b/master/buildbot/changes/gerritchangesource.py
-index 036071bbf..5e1dd0e58 100644
---- a/master/buildbot/changes/gerritchangesource.py
-+++ b/master/buildbot/changes/gerritchangesource.py
-@@ -15,6 +15,7 @@
- from future.utils import iteritems
- 
- import datetime
-+import json
- 
- from twisted.internet import defer
- from twisted.internet import reactor
-@@ -26,7 +27,6 @@ from buildbot import util
- from buildbot.changes import base
- from buildbot.changes.filter import ChangeFilter
- from buildbot.util import httpclientservice
--from buildbot.util import json
- 
- 
- class GerritChangeFilter(ChangeFilter):
-diff --git a/master/buildbot/clients/tryclient.py b/master/buildbot/clients/tryclient.py
-index bee4f3462..3f59a3cd6 100644
---- a/master/buildbot/clients/tryclient.py
-+++ b/master/buildbot/clients/tryclient.py
-@@ -12,6 +12,8 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import os
- import random
- import re
-@@ -32,7 +34,6 @@ from twisted.python.procutils import which
- from twisted.spread import pb
- 
- from buildbot.status import builder
--from buildbot.util import json
- from buildbot.util import now
- from buildbot.util.eventual import fireEventually
- 
-diff --git a/master/buildbot/data/types.py b/master/buildbot/data/types.py
-index 6372303cd..c0dfc3587 100644
---- a/master/buildbot/data/types.py
-+++ b/master/buildbot/data/types.py
-@@ -19,10 +19,10 @@ from future.utils import iteritems
- from future.utils import text_type
- 
- import datetime
-+import json
- import re
- 
- from buildbot import util
--from buildbot.util import json
- 
- 
- class Type(object):
-diff --git a/master/buildbot/db/builds.py b/master/buildbot/db/builds.py
-index a716cb603..cd9dabc5d 100644
---- a/master/buildbot/db/builds.py
-+++ b/master/buildbot/db/builds.py
-@@ -12,6 +12,9 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
-+
- import sqlalchemy as sa
- 
- from twisted.internet import defer
-@@ -20,7 +23,6 @@ from twisted.internet import reactor
- from buildbot.db import NULL
- from buildbot.db import base
- from buildbot.util import epoch2datetime
--from buildbot.util import json
- 
- 
- class BuildsConnectorComponent(base.DBConnectorComponent):
-diff --git a/master/buildbot/db/buildsets.py b/master/buildbot/db/buildsets.py
-index 4bac6da5c..1288b57f4 100644
---- a/master/buildbot/db/buildsets.py
-+++ b/master/buildbot/db/buildsets.py
-@@ -18,6 +18,8 @@ Support for buildsets in the database
- from future.utils import integer_types
- from future.utils import iteritems
- 
-+import json
-+
- import sqlalchemy as sa
- 
- from twisted.internet import defer
-@@ -27,7 +29,6 @@ from buildbot.db import NULL
- from buildbot.db import base
- from buildbot.util import datetime2epoch
- from buildbot.util import epoch2datetime
--from buildbot.util import json
- 
- 
- class BsDict(dict):
-diff --git a/master/buildbot/db/changes.py b/master/buildbot/db/changes.py
-index caa643fa7..004995753 100644
---- a/master/buildbot/db/changes.py
-+++ b/master/buildbot/db/changes.py
-@@ -19,6 +19,8 @@ Support for changes in the database
- from future.utils import iteritems
- from future.utils import itervalues
- 
-+import json
-+
- import sqlalchemy as sa
- 
- from twisted.internet import defer
-@@ -28,7 +30,6 @@ from twisted.python import log
- from buildbot.db import base
- from buildbot.util import datetime2epoch
- from buildbot.util import epoch2datetime
--from buildbot.util import json
- 
- 
- class ChDict(dict):
-diff --git a/master/buildbot/db/state.py b/master/buildbot/db/state.py
-index 6ba143cfa..e572eab62 100644
---- a/master/buildbot/db/state.py
-+++ b/master/buildbot/db/state.py
-@@ -12,11 +12,13 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
-+
- import sqlalchemy as sa
- import sqlalchemy.exc
- 
- from buildbot.db import base
--from buildbot.util import json
- 
- 
- class _IdNotFoundError(Exception):
-diff --git a/master/buildbot/db/steps.py b/master/buildbot/db/steps.py
-index f5e1c82bd..d0fbb52e3 100644
---- a/master/buildbot/db/steps.py
-+++ b/master/buildbot/db/steps.py
-@@ -12,6 +12,9 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
-+
- import sqlalchemy as sa
- 
- from twisted.internet import defer
-@@ -19,7 +22,6 @@ from twisted.internet import reactor
- 
- from buildbot.db import base
- from buildbot.util import epoch2datetime
--from buildbot.util import json
- 
- 
- class StepsConnectorComponent(base.DBConnectorComponent):
-diff --git a/master/buildbot/db/types/json.py b/master/buildbot/db/types/json.py
-index ee105269d..932218135 100644
---- a/master/buildbot/db/types/json.py
-+++ b/master/buildbot/db/types/json.py
-@@ -12,11 +12,14 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+from __future__ import absolute_import
-+
-+import json
-+
- from sqlalchemy.types import Text
- from sqlalchemy.types import TypeDecorator
- 
--from buildbot.util import json
--
- 
- class JsonObject(TypeDecorator):
- 
-diff --git a/master/buildbot/newsfragments/json.removal b/master/buildbot/newsfragments/json.removal
-new file mode 100644
-index 000000000..9fc57b91e
---- /dev/null
-+++ b/master/buildbot/newsfragments/json.removal
-@@ -0,0 +1 @@
-+:py:data:`buildbot.util.json` has been deprecated in favor of the standard library :py:mod:`json`.
-diff --git a/master/buildbot/process/properties.py b/master/buildbot/process/properties.py
-index 82954a1cb..9b336c2d9 100644
---- a/master/buildbot/process/properties.py
-+++ b/master/buildbot/process/properties.py
-@@ -16,6 +16,7 @@ from future.builtins import range
- from future.utils import iteritems
- 
- import collections
-+import json
- import re
- import weakref
- 
-@@ -28,7 +29,6 @@ from buildbot import util
- from buildbot.interfaces import IProperties
- from buildbot.interfaces import IRenderable
- from buildbot.util import flatten
--from buildbot.util import json
- from buildbot.worker_transition import reportDeprecatedWorkerNameUsage
- 
- 
-diff --git a/master/buildbot/schedulers/trysched.py b/master/buildbot/schedulers/trysched.py
-index 3b700d871..60d17c269 100644
---- a/master/buildbot/schedulers/trysched.py
-+++ b/master/buildbot/schedulers/trysched.py
-@@ -12,8 +12,10 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- from future.utils import iteritems
- 
-+import json
- import os
- 
- from twisted.internet import defer
-@@ -25,7 +27,6 @@ from buildbot import pbutil
- from buildbot.process.properties import Properties
- from buildbot.schedulers import base
- from buildbot.util import ascii2unicode
--from buildbot.util import json
- from buildbot.util import netstrings
- from buildbot.util.maildir import MaildirService
- 
-diff --git a/master/buildbot/scripts/dataspec.py b/master/buildbot/scripts/dataspec.py
-index 047aa297e..a3017db82 100644
---- a/master/buildbot/scripts/dataspec.py
-+++ b/master/buildbot/scripts/dataspec.py
-@@ -12,6 +12,8 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import os
- import sys
- 
-@@ -20,7 +22,6 @@ from twisted.internet import defer
- from buildbot.data import connector
- from buildbot.test.fake import fakemaster
- from buildbot.util import in_reactor
--from buildbot.util import json
- 
- 
- @in_reactor
-diff --git a/master/buildbot/scripts/processwwwindex.py b/master/buildbot/scripts/processwwwindex.py
-index 57db423c9..e7180f623 100644
---- a/master/buildbot/scripts/processwwwindex.py
-+++ b/master/buildbot/scripts/processwwwindex.py
-@@ -15,6 +15,7 @@
- from __future__ import division
- from __future__ import print_function
- 
-+import json
- import os
- 
- import jinja2
-@@ -23,7 +24,6 @@ from twisted.internet import defer
- 
- from buildbot.test.fake import fakemaster
- from buildbot.util import in_reactor
--from buildbot.util import json
- from buildbot.www import auth
- from buildbot.www.config import IndexResource
- from buildbot.www.service import WWWService
-diff --git a/master/buildbot/steps/transfer.py b/master/buildbot/steps/transfer.py
-index a3d423848..5dfb3b6a9 100644
---- a/master/buildbot/steps/transfer.py
-+++ b/master/buildbot/steps/transfer.py
-@@ -12,6 +12,8 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import os
- import stat
- 
-@@ -26,7 +28,6 @@ from buildbot.process.buildstep import FAILURE
- from buildbot.process.buildstep import SKIPPED
- from buildbot.process.buildstep import SUCCESS
- from buildbot.process.buildstep import BuildStep
--from buildbot.util import json
- from buildbot.util.eventual import eventually
- from buildbot.worker_transition import WorkerAPICompatMixin
- from buildbot.worker_transition import reportDeprecatedWorkerNameUsage
-diff --git a/master/buildbot/test/fake/fakedata.py b/master/buildbot/test/fake/fakedata.py
-index b5a2ef58c..92bfd5c7b 100644
---- a/master/buildbot/test/fake/fakedata.py
-+++ b/master/buildbot/test/fake/fakedata.py
-@@ -16,6 +16,8 @@ from future.utils import iteritems
- from future.utils import itervalues
- from future.utils import text_type
- 
-+import json
-+
- from twisted.internet import defer
- from twisted.internet import reactor
- from twisted.python import failure
-@@ -23,7 +25,6 @@ from twisted.python import failure
- from buildbot.data import connector
- from buildbot.db.buildrequests import AlreadyClaimedError
- from buildbot.test.util import validation
--from buildbot.util import json
- from buildbot.util import service
- 
- 
-diff --git a/master/buildbot/test/fake/fakedb.py b/master/buildbot/test/fake/fakedb.py
-index 740e6b1e3..47340ef63 100644
---- a/master/buildbot/test/fake/fakedb.py
-+++ b/master/buildbot/test/fake/fakedb.py
-@@ -25,6 +25,7 @@ from future.utils import text_type
- import base64
- import copy
- import hashlib
-+import json
- 
- from twisted.internet import defer
- from twisted.internet import reactor
-@@ -35,7 +36,6 @@ from buildbot.db import changesources
- from buildbot.db import schedulers
- from buildbot.test.util import validation
- from buildbot.util import datetime2epoch
--from buildbot.util import json
- from buildbot.util import service
- 
- 
-diff --git a/master/buildbot/test/integration/test_www.py b/master/buildbot/test/integration/test_www.py
-index de8805f35..fcfc6b549 100644
---- a/master/buildbot/test/integration/test_www.py
-+++ b/master/buildbot/test/integration/test_www.py
-@@ -12,6 +12,9 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
-+
- import mock
- 
- from twisted.internet import defer
-@@ -27,7 +30,6 @@ from buildbot.test.fake import fakedb
- from buildbot.test.fake import fakemaster
- from buildbot.test.util import db
- from buildbot.test.util import www
--from buildbot.util import json
- from buildbot.www import service as wwwservice
- from buildbot.www import auth
- from buildbot.www import authz
-diff --git a/master/buildbot/test/unit/test_changes_gerritchangesource.py b/master/buildbot/test/unit/test_changes_gerritchangesource.py
-index fe00fcf58..b5c939065 100644
---- a/master/buildbot/test/unit/test_changes_gerritchangesource.py
-+++ b/master/buildbot/test/unit/test_changes_gerritchangesource.py
-@@ -15,6 +15,7 @@
- from future.utils import iteritems
- 
- import datetime
-+import json
- import types
- 
- from twisted.internet import defer
-@@ -25,7 +26,6 @@ from buildbot.test.fake import httpclientservice as fakehttpclientservice
- from buildbot.test.fake import fakedb
- from buildbot.test.fake.change import Change
- from buildbot.test.util import changesource
--from buildbot.util import json
- 
- 
- class TestGerritHelpers(unittest.TestCase):
-diff --git a/master/buildbot/test/unit/test_clients_tryclient.py b/master/buildbot/test/unit/test_clients_tryclient.py
-index 765d6444f..13adbf8cd 100644
---- a/master/buildbot/test/unit/test_clients_tryclient.py
-+++ b/master/buildbot/test/unit/test_clients_tryclient.py
-@@ -12,10 +12,12 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
-+
- from twisted.trial import unittest
- 
- from buildbot.clients import tryclient
--from buildbot.util import json
- 
- 
- class createJobfile(unittest.TestCase):
-diff --git a/master/buildbot/test/unit/test_db_buildsets.py b/master/buildbot/test/unit/test_db_buildsets.py
-index 5acea7a54..49c64790a 100644
---- a/master/buildbot/test/unit/test_db_buildsets.py
-+++ b/master/buildbot/test/unit/test_db_buildsets.py
-@@ -12,7 +12,9 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- import datetime
-+import json
- 
- import mock
- 
-@@ -30,7 +32,6 @@ from buildbot.test.util import validation
- from buildbot.util import UTC
- from buildbot.util import datetime2epoch
- from buildbot.util import epoch2datetime
--from buildbot.util import json
- 
- 
- class Tests(interfaces.InterfaceTests):
-diff --git a/master/buildbot/test/unit/test_mq_wamp.py b/master/buildbot/test/unit/test_mq_wamp.py
-index 3ad41ae7d..55a9bf95f 100644
---- a/master/buildbot/test/unit/test_mq_wamp.py
-+++ b/master/buildbot/test/unit/test_mq_wamp.py
-@@ -12,8 +12,10 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- from future.builtins import range
- 
-+import json
- import os
- import textwrap
- 
-@@ -26,7 +28,6 @@ from twisted.trial import unittest
- 
- from buildbot.mq import wamp
- from buildbot.test.fake import fakemaster
--from buildbot.util import json
- from buildbot.wamp import connector
- 
- 
-diff --git a/master/buildbot/test/unit/test_schedulers_forcesched.py b/master/buildbot/test/unit/test_schedulers_forcesched.py
-index 72e19a830..22f3dea31 100644
---- a/master/buildbot/test/unit/test_schedulers_forcesched.py
-+++ b/master/buildbot/test/unit/test_schedulers_forcesched.py
-@@ -16,6 +16,8 @@ from __future__ import division
- from __future__ import print_function
- from future.utils import iteritems
- 
-+import json
-+
- from twisted.internet import defer
- from twisted.trial import unittest
- 
-@@ -36,7 +38,6 @@ from buildbot.schedulers.forcesched import oneCodebase
- from buildbot.test.util import scheduler
- from buildbot.test.util.config import ConfigErrorsMixin
- from buildbot.test.util.warnings import assertProducesWarning
--from buildbot.util import json
- from buildbot.worker_transition import DeprecatedWorkerNameWarning
- 
- 
-diff --git a/master/buildbot/test/unit/test_schedulers_trysched.py b/master/buildbot/test/unit/test_schedulers_trysched.py
-index c5f9f347e..439ce5d2d 100644
---- a/master/buildbot/test/unit/test_schedulers_trysched.py
-+++ b/master/buildbot/test/unit/test_schedulers_trysched.py
-@@ -12,7 +12,9 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- import cStringIO as StringIO
-+import json
- import os
- import shutil
- import sys
-@@ -27,7 +29,6 @@ from twisted.trial import unittest
- from buildbot.schedulers import trysched
- from buildbot.test.util import dirs
- from buildbot.test.util import scheduler
--from buildbot.util import json
- 
- 
- class TryBase(unittest.TestCase):
-diff --git a/master/buildbot/test/unit/test_scripts_processwwwindex.py b/master/buildbot/test/unit/test_scripts_processwwwindex.py
-index db01a5239..c265b8ab7 100644
---- a/master/buildbot/test/unit/test_scripts_processwwwindex.py
-+++ b/master/buildbot/test/unit/test_scripts_processwwwindex.py
-@@ -12,12 +12,13 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import tempfile
- 
- from twisted.trial import unittest
- 
- from buildbot.scripts import processwwwindex
--from buildbot.util import json
- 
- 
- class TestUsersClient(unittest.TestCase):
-diff --git a/master/buildbot/test/unit/test_steps_transfer.py b/master/buildbot/test/unit/test_steps_transfer.py
-index ee70af830..c91f0dfac 100644
---- a/master/buildbot/test/unit/test_steps_transfer.py
-+++ b/master/buildbot/test/unit/test_steps_transfer.py
-@@ -12,8 +12,10 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- from future.utils import iteritems
- 
-+import json
- import os
- import shutil
- import stat
-@@ -38,7 +40,6 @@ from buildbot.test.fake.remotecommand import ExpectRemoteRef
- from buildbot.test.util import steps
- from buildbot.test.util.warnings import assertNotProducesWarnings
- from buildbot.test.util.warnings import assertProducesWarning
--from buildbot.util import json
- from buildbot.worker_transition import DeprecatedWorkerAPIWarning
- from buildbot.worker_transition import DeprecatedWorkerNameWarning
- 
-diff --git a/master/buildbot/test/unit/test_www_oauth.py b/master/buildbot/test/unit/test_www_oauth.py
-index 177385cb0..ba7310bf8 100644
---- a/master/buildbot/test/unit/test_www_oauth.py
-+++ b/master/buildbot/test/unit/test_www_oauth.py
-@@ -12,6 +12,8 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import os
- import webbrowser
- 
-@@ -26,7 +28,6 @@ from twisted.web.resource import Resource
- from twisted.web.server import Site
- 
- from buildbot.test.util import www
--from buildbot.util import json
- 
- try:
-     import requests
-@@ -277,7 +278,6 @@ class OAuth2AuthGitHubE2E(www.WwwTestMixin, unittest.TestCase):
-             raise unittest.SkipTest(
-                 "Need to pass OAUTHCONF path to json file via environ to run this e2e test")
- 
--        import json
-         config = json.load(open(os.environ['OAUTHCONF']))[self.authClass]
-         from buildbot.www import oauth2
-         self.auth = self._instantiateAuth(
-diff --git a/master/buildbot/test/unit/test_www_rest.py b/master/buildbot/test/unit/test_www_rest.py
-index c0e1a2680..2b87e4d0d 100644
---- a/master/buildbot/test/unit/test_www_rest.py
-+++ b/master/buildbot/test/unit/test_www_rest.py
-@@ -18,6 +18,7 @@ from future.utils import itervalues
- from future.utils import string_types
- from future.utils import text_type
- 
-+import json
- import re
- 
- import mock
-@@ -27,7 +28,6 @@ from twisted.trial import unittest
- 
- from buildbot.test.fake import endpoint
- from buildbot.test.util import www
--from buildbot.util import json
- from buildbot.www import authz
- from buildbot.www import rest
- from buildbot.www.rest import JSONRPC_CODES
-diff --git a/master/buildbot/test/unit/test_www_sse.py b/master/buildbot/test/unit/test_www_sse.py
-index ba2a1f0a9..3eac07047 100644
---- a/master/buildbot/test/unit/test_www_sse.py
-+++ b/master/buildbot/test/unit/test_www_sse.py
-@@ -13,13 +13,13 @@
- #
- # Copyright Buildbot Team Members
- import datetime
-+import json
- 
- from twisted.trial import unittest
- 
- from buildbot.test.unit import test_data_changes
- from buildbot.test.util import www
- from buildbot.util import datetime2epoch
--from buildbot.util import json
- from buildbot.www import sse
- 
- 
-diff --git a/master/buildbot/test/unit/test_www_ws.py b/master/buildbot/test/unit/test_www_ws.py
-index a40393556..91051b21d 100644
---- a/master/buildbot/test/unit/test_www_ws.py
-+++ b/master/buildbot/test/unit/test_www_ws.py
-@@ -12,12 +12,14 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
-+
- from mock import Mock
- 
- from twisted.trial import unittest
- 
- from buildbot.test.util import www
--from buildbot.util import json
- from buildbot.www import ws
- 
- 
-diff --git a/master/buildbot/test/util/validation.py b/master/buildbot/test/util/validation.py
-index 13647a63b..292e72bee 100644
---- a/master/buildbot/test/util/validation.py
-+++ b/master/buildbot/test/util/validation.py
-@@ -19,10 +19,10 @@ from future.utils import iteritems
- from future.utils import text_type
- 
- import datetime
-+import json
- import re
- 
- from buildbot.util import UTC
--from buildbot.util import json
- 
- # Base class
- 
-diff --git a/master/buildbot/test/util/www.py b/master/buildbot/test/util/www.py
-index 5fe38e268..d737327dd 100644
---- a/master/buildbot/test/util/www.py
-+++ b/master/buildbot/test/util/www.py
-@@ -17,6 +17,7 @@ from future.utils import integer_types
- from future.utils import iteritems
- 
- import cgi
-+import json
- import os
- import pkg_resources
- from cStringIO import StringIO
-@@ -28,7 +29,6 @@ from twisted.internet import defer
- from twisted.web import server
- 
- from buildbot.test.fake import fakemaster
--from buildbot.util import json
- from buildbot.www import auth
- from buildbot.www import authz
- 
-diff --git a/master/buildbot/util/__init__.py b/master/buildbot/util/__init__.py
-index ed78bf25f..3a9d55ca5 100644
---- a/master/buildbot/util/__init__.py
-+++ b/master/buildbot/util/__init__.py
-@@ -12,6 +12,7 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- from __future__ import division
- from __future__ import print_function
- 
-@@ -28,9 +29,12 @@ import locale
- import re
- import textwrap
- import time
-+import json
- 
- from future.utils import text_type
- from twisted.python import reflect
-+from twisted.python.versions import Version
-+from twisted.python.deprecate import deprecatedModuleAttribute
- 
- from zope.interface import implementer
- 
-@@ -181,26 +185,14 @@ def ascii2unicode(x):
-         return x
-     return text_type(x, 'ascii')
- 
-+_hush_pyflakes = [json]
- 
--# place a working json module at 'buildbot.util.json'.  Code is adapted from
--# Paul Wise <pabs@debian.org>:
--#   http://lists.debian.org/debian-python/2010/02/msg00016.html
--# json doesn't exist as a standard module until python2.6
--# However python2.6's json module is much slower than simplejson, so we prefer
--# to use simplejson if available.
--try:
--    import simplejson as json
--    assert json
--except ImportError:
--    import json  # python 2.6 or 2.7
--try:
--    _tmp = json.loads
--except AttributeError:
--    import warnings
--    import sys
--    warnings.warn("Use simplejson, not the old json module.")
--    sys.modules.pop('json')  # get rid of the bad json module
--    import simplejson as json
-+deprecatedModuleAttribute(
-+    Version("buildbot", 0, 9, 4),
-+    message="Use json from the standard library instead.",
-+    moduleName="buildbot.util",
-+    name="json",
-+)
- 
- 
- def toJson(obj):
-@@ -432,7 +424,7 @@ def dictionary_merge(a, b):
- 
- 
- __all__ = [
--    'naturalSort', 'now', 'formatInterval', 'ComparableMixin', 'json',
-+    'naturalSort', 'now', 'formatInterval', 'ComparableMixin',
-     'safeTranslate', 'none_or_str',
-     'NotABranch', 'deferredLocked', 'UTC',
-     'diffSets', 'makeList', 'in_reactor', 'string2boolean',
-diff --git a/master/buildbot/worker/docker.py b/master/buildbot/worker/docker.py
-index f39132737..a91424f1a 100644
---- a/master/buildbot/worker/docker.py
-+++ b/master/buildbot/worker/docker.py
-@@ -19,6 +19,7 @@ from __future__ import division
- from __future__ import print_function
- 
- import hashlib
-+import json
- import socket
- from io import BytesIO
- 
-@@ -28,7 +29,6 @@ from twisted.python import log
- 
- from buildbot import config
- from buildbot.interfaces import LatentWorkerFailedToSubstantiate
--from buildbot.util import json
- from buildbot.worker import AbstractLatentWorker
- 
- try:
-diff --git a/master/buildbot/www/config.py b/master/buildbot/www/config.py
-index e3f6f6214..4030e8e73 100644
---- a/master/buildbot/www/config.py
-+++ b/master/buildbot/www/config.py
-@@ -12,6 +12,8 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import os
- import posixpath
- 
-@@ -22,7 +24,6 @@ from twisted.python import log
- from twisted.web.error import Error
- 
- from buildbot.interfaces import IConfigured
--from buildbot.util import json
- from buildbot.www import resource
- 
- 
-diff --git a/master/buildbot/www/hooks/base.py b/master/buildbot/www/hooks/base.py
-index 149c3f925..9255be44a 100644
---- a/master/buildbot/www/hooks/base.py
-+++ b/master/buildbot/www/hooks/base.py
-@@ -17,7 +17,8 @@
- #  and inspired from code from the Chromium project
- # otherwise, Andrew Melo <andrew.melo@gmail.com> wrote the rest
- # but "the rest" is pretty minimal
--from buildbot.util import json
-+
-+import json
- 
- 
- def getChanges(request, options=None):
-diff --git a/master/buildbot/www/hooks/gitlab.py b/master/buildbot/www/hooks/gitlab.py
-index c7663a63a..ab1b65690 100644
---- a/master/buildbot/www/hooks/gitlab.py
-+++ b/master/buildbot/www/hooks/gitlab.py
-@@ -12,14 +12,14 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
-+import json
- import re
- 
- from dateutil.parser import parse as dateparse
- 
- from twisted.python import log
- 
--from buildbot.util import json
--
- 
- def _process_change(payload, user, repo, repo_url, project, codebase=None):
-     """
-diff --git a/master/buildbot/www/hooks/googlecode.py b/master/buildbot/www/hooks/googlecode.py
-index b8709bb4d..2a370e4f9 100644
---- a/master/buildbot/www/hooks/googlecode.py
-+++ b/master/buildbot/www/hooks/googlecode.py
-@@ -14,12 +14,12 @@
- # Copyright 2011, Louis Opter <kalessin@kalessin.fr>
- #
- # Quite inspired from the github hook.
-+
- import hmac
-+import json
- 
- from twisted.python import log
- 
--from buildbot.util import json
--
- 
- class GoogleCodeAuthFailed(Exception):
-     pass
-diff --git a/master/buildbot/www/oauth2.py b/master/buildbot/www/oauth2.py
-index 1d1ea4efd..baa9dab25 100644
---- a/master/buildbot/www/oauth2.py
-+++ b/master/buildbot/www/oauth2.py
-@@ -17,6 +17,7 @@ from future.moves.urllib.parse import urlencode
- from future.utils import iteritems
- from future.utils import string_types
- 
-+import json
- from posixpath import join
- 
- import requests
-@@ -24,7 +25,6 @@ import requests
- from twisted.internet import defer
- from twisted.internet import threads
- 
--from buildbot.util import json
- from buildbot.www import auth
- from buildbot.www import resource
- 
-diff --git a/master/buildbot/www/rest.py b/master/buildbot/www/rest.py
-index 3147a33b7..30f79d6ea 100644
---- a/master/buildbot/www/rest.py
-+++ b/master/buildbot/www/rest.py
-@@ -19,6 +19,7 @@ from future.utils import text_type
- import cgi
- import datetime
- import fnmatch
-+import json
- import re
- from contextlib import contextmanager
- 
-@@ -28,7 +29,6 @@ from twisted.web.error import Error
- 
- from buildbot.data import exceptions
- from buildbot.data import resultspec
--from buildbot.util import json
- from buildbot.util import toJson
- from buildbot.www import resource
- from buildbot.www.authz import Forbidden
-diff --git a/master/buildbot/www/sse.py b/master/buildbot/www/sse.py
-index df076195e..741328844 100644
---- a/master/buildbot/www/sse.py
-+++ b/master/buildbot/www/sse.py
-@@ -12,8 +12,10 @@
- # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- #
- # Copyright Buildbot Team Members
-+
- from future.utils import itervalues
- 
-+import json
- import uuid
- 
- from twisted.python import log
-@@ -21,7 +23,6 @@ from twisted.web import resource
- from twisted.web import server
- 
- from buildbot.data.exceptions import InvalidPathError
--from buildbot.util import json
- from buildbot.util import toJson
- 
- 
-diff --git a/master/buildbot/www/ws.py b/master/buildbot/www/ws.py
-index ed7bcad8f..1e48ec553 100644
---- a/master/buildbot/www/ws.py
-+++ b/master/buildbot/www/ws.py
-@@ -15,13 +15,14 @@
- from future.utils import itervalues
- from future.utils import string_types
- 
-+import json
-+
- from autobahn.twisted.resource import WebSocketResource
- from autobahn.twisted.websocket import WebSocketServerFactory
- from autobahn.twisted.websocket import WebSocketServerProtocol
- from twisted.internet import defer
- from twisted.python import log
- 
--from buildbot.util import json
- from buildbot.util import toJson
- 
- 
-diff --git a/master/docs/developer/utils.rst b/master/docs/developer/utils.rst
-index e1e64503a..2470330bd 100644
---- a/master/docs/developer/utils.rst
-+++ b/master/docs/developer/utils.rst
-@@ -506,18 +506,6 @@ The ``@poll.method`` decorator makes this behavior easy and reliable.
-         Force a call to the decorated method now.
-         If the decorated method is currently running, another call will begin as soon as it completes.
- 
--:py:mod:`buildbot.util.json`
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
--.. py:module:: buildbot.util.json
--
--This package is just an import of the best available JSON module.
--Use it instead of a more complex conditional import of :mod:`simplejson` or :mod:`json`:
--
--.. code-block:: python
--
--    from buildbot.util import json
--
- :py:mod:`buildbot.util.maildir`
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 
--- 
-2.11.0
-

diff --git a/dev-util/buildbot/files/buildbot-0.9.Addmissedtestingtemplates.patch b/dev-util/buildbot/files/buildbot-0.9.Addmissedtestingtemplates.patch
deleted file mode 100644
index 3546c3111ba..00000000000
--- a/dev-util/buildbot/files/buildbot-0.9.Addmissedtestingtemplates.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5da64c3dda866a3e3ddf52ad00f455dc2c536a18 Mon Sep 17 00:00:00 2001
-From: Brian Dolbec <dolsen@gentoo.org>
-Date: Wed, 4 Jan 2017 17:44:56 -0800
-Subject: [PATCH] master/setup.py: Add missed testing templates
-
----
- master/setup.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/master/setup.py b/master/setup.py
-index be2ace952..79bcf143f 100755
---- a/master/setup.py
-+++ b/master/setup.py
-@@ -206,6 +206,8 @@ setup_args = {
-         ]),
-         include("buildbot/spec", "*.raml"),
-         include("buildbot/spec/types", "*.raml"),
-+        include("buildbot/test/unit/test_templates_dir", "*.html"),
-+        include("buildbot/test/unit/test_templates_dir/plugin", "*.*"),
-     ] + include_statics("buildbot/www/static"),
-     'cmdclass': {'install_data': install_data_twisted,
-                  'sdist': our_sdist},
--- 
-2.11.0
-


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2017-10-27  2:29 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2017-10-27  2:29 UTC (permalink / raw
  To: gentoo-commits

commit:     6728c73b7a88f1cc229ae0715a72671178d17e8d
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 27 01:50:33 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Fri Oct 27 02:28:19 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6728c73b

dev-util/buildbot: Version bump, remove old versions, fix bug 634716

Remove no longer shipped docker example.
Remove old versions.
Update 9999 deps
Bump eapi.

Package-Manager: Portage-2.3.12, Repoman-2.3.4

 dev-util/buildbot/Manifest                         |   5 +-
 dev-util/buildbot/buildbot-0.9.10.ebuild           |   2 +-
 dev-util/buildbot/buildbot-0.9.11.ebuild           |   2 +-
 ...uildbot-0.9.8.ebuild => buildbot-0.9.12.ebuild} |  36 ++--
 dev-util/buildbot/buildbot-0.9.4.ebuild            | 216 ---------------------
 dev-util/buildbot/buildbot-0.9.7.ebuild            | 193 ------------------
 dev-util/buildbot/buildbot-9999.ebuild             |   8 +-
 .../files/Remove-distro-version-test.patch         |  21 ++
 8 files changed, 52 insertions(+), 431 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index 22d255baed0..1891ffcf257 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,7 +1,4 @@
 DIST buildbot-0.8.12.tar.gz 4834352 SHA256 c6b66976dff712268566574d57131ec15e5682f6d4390cd5c8559bab0980c4d6 SHA512 18c5144132fb033f3581d3c494d5e8ff35d3e8b1548764452ce9ae543d710e58a2c6e3e8e46a0ef237804f9a6a45485890ae4616ab655fb00d4ccf328d6f6645 WHIRLPOOL 5754b7c0278fb5e7da8a7dd66253f6f4d12f54c125f6a78aa9018a2b6b22fd88a27e79e6821ab05e4cd9e87bf0dd08c3c73c7914d4c499ac13c48ca232ed21c8
 DIST buildbot-0.9.10.tar.gz 3112750 SHA256 8c5ed75f3f16f4ff0f2c9e3f9b091acb5e6e1c0ef68ffa8f687a55413a833143 SHA512 95b489d5f7d0bc00ae5f71cd056b36fe689c4dc9408a7a0e4b1b45e036c9074832c8e3755981520a8c85a791b50f7f40765962c12a71887198dc0bbd0140d0e0 WHIRLPOOL 8d62d0aecdea4122709693ce48c72d5dbac2e946a6923a7ea41842dc759369a678e21a8abb0b4ff825e1ba559a9d490bcc4ff56fc5568a4f7f2d94b4f6c5f027
 DIST buildbot-0.9.11.tar.gz 3096455 SHA256 9be352c0aab5d1520fedac8d6b19aadda4f48763ac7f72bb00e5f8cc51107ee8 SHA512 c68a657213b0f878d8c2b4e6ebe18cfc9b3e19a4eecaf085fd3e5631bbb78dc9bd14e6b3d4b576e78eb1631329c86331371200a350d33696204fb76e7beae81c WHIRLPOOL 3b1804d7920e110ca1ae1d04e7a7c38fef0db4a2c7b448a21175a0f2693ba8725d228d27720ffdad976071d143e4158b41dc527d120e2c4928df3fdbd765285f
-DIST buildbot-0.9.4.docs.tar.xz 69224 SHA256 69fc33762a885568b02c42954a64d62d28bcb750b3aed011c3da8a9f84c13371 SHA512 906e551e0db32c8a0b4010b3b8b00c4776e3d1b7d7381e4dc0ccf01d361184e4605c3ab0ecaf4e42207bd73c3e72f8a570a4d4c29db72f4d68241abf48741d7e WHIRLPOOL 95f263e0b9ab22a649118f362d866b08cbdf62511f2a1f9bd6a7265103f174e35d0c8d86ad6a3b7dd5fd0b4277d60dbd25801c5e6f7e414e7fa634c241dae987
-DIST buildbot-0.9.4.tar.gz 3020851 SHA256 068161cd9ada10b87f40117c768a37ce796ebf5e7bf08f224f4c7ded88cd7472 SHA512 938a94192560b989a277d9650c50781d7e7c116bc5e2010ccb2e655df757de0ee254369531b2f432c835c0285c724e52d999a393d0ce1b104d4b9dcc5c6687da WHIRLPOOL 0ffe61b82ee93b78cdb3cb74ef96d5a3547e0fcab9ec8093b59a7212c5e2a1ad16eff046306bffcc0ea63b2e0bf2df1e54b5a0874dc78e27744db2088ccac804
-DIST buildbot-0.9.7.tar.gz 3092434 SHA256 8fcbf0e6536e5d60407f59d14f96d5f8386cd91846a4fa47b4336d71551a9e33 SHA512 3fd2b488cabac37e297bb1a475cdb115f261324a22ec4d6fbcf8dc5bfb6ee135fab3763998433be8795581d476f69e2adb6f42d248bf2131a42eecfc1667202a WHIRLPOOL 427d4c1c452f767550a3d2731b2e34480c399dcf50e57d4fb69f0a350f381e3e7ecc47d712fc8fbb99afcf8b230c7bd3afe8437ec3b24bf9ddbf7d35b4d1caad
-DIST buildbot-0.9.8.tar.gz 3101418 SHA256 39a2f7df458ec9be1009cf90a02d732d142a2ec3fbc0404e4f3fce4b8a4c3af7 SHA512 88800bad542d26aee6df348021faf5f76f36c250e9fb85c9abe3af7f13ec87fcae5727c8633772205f5c024709fd39b05d1d9c3aa1374b4ca72a528b5ec3ba83 WHIRLPOOL fafb46f6d6bc10f6073567cd6a6894cd67d61c4ff537b342060319874eb22ea45d816f6b764f0b9f841f9b7a5e127481a85dbb4abbacd228a8168a5e3e948b2b
+DIST buildbot-0.9.12.tar.gz 3057832 SHA256 0e8a75059dd8d04112ae77391b979432a3b5efb6e80ec60bbe110d8d9d983835 SHA512 62459918267297b31b2a6416f72794c7a4ebdcb60de04ece1681f6b8be9debf161716cc70ad843fd468b23e02c521c0a0783a5a1e119d75648e107691d6b908d WHIRLPOOL 0e29078f6d67c1996c6fa389790d3c89dbdd13f6926882df16286a33b95e275b6436865815d225d1b243a1cfefe4948ebcaa2700ee7a003b449ccac4a32b62e7

diff --git a/dev-util/buildbot/buildbot-0.9.10.ebuild b/dev-util/buildbot/buildbot-0.9.10.ebuild
index 0f493ccb8ff..ec293dba893 100644
--- a/dev-util/buildbot/buildbot-0.9.10.ebuild
+++ b/dev-util/buildbot/buildbot-0.9.10.ebuild
@@ -121,7 +121,7 @@ src_install() {
 
 	if use examples; then
 		insinto /usr/share/doc/${PF}
-		doins -r docker docs/examples
+		doins -r docs/examples
 	fi
 
 	newconfd "${FILESDIR}/buildmaster.confd" buildmaster

diff --git a/dev-util/buildbot/buildbot-0.9.11.ebuild b/dev-util/buildbot/buildbot-0.9.11.ebuild
index 694b31c8f11..e0acf382b49 100644
--- a/dev-util/buildbot/buildbot-0.9.11.ebuild
+++ b/dev-util/buildbot/buildbot-0.9.11.ebuild
@@ -112,7 +112,7 @@ src_install() {
 
 	if use examples; then
 		insinto /usr/share/doc/${PF}
-		doins -r docker docs/examples
+		doins -r docs/examples
 	fi
 
 	newconfd "${FILESDIR}/buildmaster.confd" buildmaster

diff --git a/dev-util/buildbot/buildbot-0.9.8.ebuild b/dev-util/buildbot/buildbot-0.9.12.ebuild
similarity index 91%
rename from dev-util/buildbot/buildbot-0.9.8.ebuild
rename to dev-util/buildbot/buildbot-0.9.12.ebuild
index 7ab416edb5b..1db6439d370 100644
--- a/dev-util/buildbot/buildbot-0.9.8.ebuild
+++ b/dev-util/buildbot/buildbot-0.9.12.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="5"
+EAPI="6"
 PYTHON_REQ_USE="sqlite"
 PYTHON_COMPAT=( python2_7 python3_5 )
 
@@ -29,12 +29,18 @@ IUSE="crypt doc examples irc test"
 
 RDEPEND="
 	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	>=dev-python/twisted-17.5.0[${PYTHON_USEDEP}]
+	>=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
 	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
 	>=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
 	>=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
+	dev-python/future[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+	dev-python/pyjwt[${PYTHON_USEDEP}]
+	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
+	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
 	crypt? (
-		>=dev-python/twisted-17.5.0[${PYTHON_USEDEP},crypt]
+		>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
 		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
 		dev-python/idna[${PYTHON_USEDEP}]
 		dev-python/service_identity[${PYTHON_USEDEP}]
@@ -42,13 +48,6 @@ RDEPEND="
 	irc? (
 		dev-python/txrequests[${PYTHON_USEDEP}]
 	)
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
-	dev-python/pyjwt[${PYTHON_USEDEP}]
-	dev-python/distro[${PYTHON_USEDEP}]
-	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
-	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
 "
 DEPEND="${RDEPEND}
 	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
@@ -80,6 +79,10 @@ DEPEND="${RDEPEND}
 S=${WORKDIR}/${MY_P}
 [[ ${PV} == *9999 ]] && S=${S}/master
 
+PATCHES=(
+	"${FILESDIR}/Remove-distro-version-test.patch"
+)
+
 pkg_setup() {
 	enewuser buildbot
 
@@ -113,7 +116,7 @@ src_install() {
 
 	if use examples; then
 		insinto /usr/share/doc/${PF}
-		doins -r docker docs/examples
+		doins -r docs/examples
 	fi
 
 	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
@@ -127,7 +130,6 @@ src_install() {
 
 python_test() {
 	distutils_install_for_testing
-	export TEST_HYPER=1
 
 	esetup.py test || die "Tests failed under ${EPYTHON}"
 }
@@ -164,6 +166,8 @@ pkg_postinst() {
 
 pkg_config() {
 	local buildmaster_path="/var/lib/buildmaster"
+	local log_path="/var/log/buildmaster"
+
 	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
 	einfo "Press Control-C to abort."
 
@@ -172,6 +176,8 @@ pkg_config() {
 	[[ -z "${instance_name}" ]] && die "Invalid instance name"
 
 	local instance_path="${buildmaster_path}/${instance_name}"
+	local instance_log_path="${log_path}/${instance_name}"
+
 	if [[ -e "${instance_path}" ]]; then
 		eerror "The instance with the specified name already exists:"
 		eerror "${instance_path}"
@@ -189,6 +195,12 @@ pkg_config() {
 	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
 		|| die "Unable to create link to init file"
 
+	if [[ ! -d "${instance_log_path}" ]]; then
+		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
+	fi
+	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
+		|| die "Unable to create link to log file"
+
 	einfo "Successfully created a buildmaster instance at ${instance_path}."
 	einfo "To change the default settings edit the master.cfg file in this directory."
 }

diff --git a/dev-util/buildbot/buildbot-0.9.4.ebuild b/dev-util/buildbot/buildbot-0.9.4.ebuild
deleted file mode 100644
index 4ee67e152c9..00000000000
--- a/dev-util/buildbot/buildbot-0.9.4.ebuild
+++ /dev/null
@@ -1,216 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python2_7 )
-
-EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
-
-inherit readme.gentoo-r1 user systemd distutils-r1
-
-MY_PV="${PV/_p/p}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
-SRC_URI="
-	mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
-	https://dev.gentoo.org/~dolsen/distfiles/buildbot-0.9.4.docs.tar.xz
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="crypt doc examples irc mail manhole test"
-
-RDEPEND=">=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	|| (
-		>=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-		>=dev-python/twisted-web-14.0.1[${PYTHON_USEDEP}]
-	)
-	>=dev-python/autobahn-0.16.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/txrequests[${PYTHON_USEDEP}]
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-words-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	mail? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-mail-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	manhole? (
-		|| ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-			>=dev-python/twisted-conch-14.0.1[${PYTHON_USEDEP}]
-		)
-	)
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
-	dev-python/pyjwt[${PYTHON_USEDEP}]
-	"
-DEPEND="${RDEPEND}
-	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
-	doc? (
-		>=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}]
-		dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
-		dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
-		dev-python/pyenchant[${PYTHON_USEDEP}]
-		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
-		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
-		dev-python/ramlfications[${PYTHON_USEDEP}]
-	)
-	test? (
-		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
-		|| (
-			>=dev-python/twisted-16.0.0[${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/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}
-
-src_unpack() {
-	unpack ${MY_P}.tar.gz
-	cd ${MY_P}
-	unpack buildbot-0.9.4.docs.tar.xz
-}
-
-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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-python_prepare_all() {
-	if use doc; then
-		epatch "${FILESDIR}/buildbot-0.9.4.docs.patch"
-	fi
-	distutils-r1_python_prepare_all
-}
-
-src_compile() {
-	distutils-r1_src_compile
-
-	if use doc; then
-		einfo "Generation of documentation"
-		pushd docs > /dev/null
-		EPYTHON="python2.7" 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}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-python_test() {
-	distutils_install_for_testing
-
-	esetup.py test || die "Tests failed under ${EPYTHON}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-0.9.7.ebuild b/dev-util/buildbot/buildbot-0.9.7.ebuild
deleted file mode 100644
index b8298687838..00000000000
--- a/dev-util/buildbot/buildbot-0.9.7.ebuild
+++ /dev/null
@@ -1,193 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python2_7 python3_5 )
-
-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_P="${PN}-${MY_PV}"
-
-DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://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 test"
-
-RDEPEND="
-	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	>=dev-python/twisted-17.1.0[${PYTHON_USEDEP}]
-	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
-	crypt? (
-		>=dev-python/twisted-17.1.0[${PYTHON_USEDEP},crypt]
-		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
-		dev-python/idna[${PYTHON_USEDEP}]
-		dev-python/service_identity[${PYTHON_USEDEP}]
-	)
-	irc? (
-		dev-python/txrequests[${PYTHON_USEDEP}]
-	)
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
-	dev-python/pyjwt[${PYTHON_USEDEP}]
-	dev-python/distro[${PYTHON_USEDEP}]
-	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
-	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}
-	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
-	doc? (
-		>=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}]
-		dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
-		dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
-		dev-python/pyenchant[${PYTHON_USEDEP}]
-		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
-		<dev-python/docutils-0.13.0[${PYTHON_USEDEP}]
-		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
-		dev-python/ramlfications[${PYTHON_USEDEP}]
-	)
-	test? (
-		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-		>=dev-python/mock-2.0.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}]
-		dev-python/lz4[${PYTHON_USEDEP}]
-		dev-python/treq[${PYTHON_USEDEP}]
-		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-	)"
-
-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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-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 docker docs/examples
-	fi
-
-	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
-	newinitd "${FILESDIR}/buildmaster.initd" buildmaster
-	systemd_dounit "${FILESDIR}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-python_test() {
-	distutils_install_for_testing
-	export TEST_HYPER=1
-
-	esetup.py test || die "Tests failed under ${EPYTHON}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
index 694b31c8f11..0b08a804696 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -1,7 +1,7 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="5"
+EAPI="6"
 PYTHON_REQ_USE="sqlite"
 PYTHON_COMPAT=( python2_7 python3_5 )
 
@@ -29,7 +29,7 @@ IUSE="crypt doc examples irc test"
 
 RDEPEND="
 	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	>=dev-python/twisted-17.5.0[${PYTHON_USEDEP}]
+	>=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
 	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
 	>=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
 	>=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
@@ -40,7 +40,7 @@ RDEPEND="
 	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
 	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
 	crypt? (
-		>=dev-python/twisted-17.5.0[${PYTHON_USEDEP},crypt]
+		>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
 		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
 		dev-python/idna[${PYTHON_USEDEP}]
 		dev-python/service_identity[${PYTHON_USEDEP}]
@@ -112,7 +112,7 @@ src_install() {
 
 	if use examples; then
 		insinto /usr/share/doc/${PF}
-		doins -r docker docs/examples
+		doins -r docs/examples
 	fi
 
 	newconfd "${FILESDIR}/buildmaster.confd" buildmaster

diff --git a/dev-util/buildbot/files/Remove-distro-version-test.patch b/dev-util/buildbot/files/Remove-distro-version-test.patch
new file mode 100644
index 00000000000..c489be25c1c
--- /dev/null
+++ b/dev-util/buildbot/files/Remove-distro-version-test.patch
@@ -0,0 +1,21 @@
+From b7201f706f9238d642dfe96da89006b437e3760d Mon Sep 17 00:00:00 2001
+From: Brian Dolbec <bdolbec@gaikai.com>
+Date: Thu, 26 Oct 2017 12:00:37 -0700
+Subject: [PATCH] Remove distro version test
+
+---
+ buildbot/test/unit/test_buildbot_net_usage_data.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/buildbot/test/unit/test_buildbot_net_usage_data.py b/master/buildbot/test/unit/test_buildbot_net_usage_data.py
+index 709c804..7885d1b 100644
+--- a/buildbot/test/unit/test_buildbot_net_usage_data.py
++++ b/buildbot/test/unit/test_buildbot_net_usage_data.py
+@@ -153,4 +153,3 @@ class Tests(unittest.TestCase):
+         distro = linux_distribution()
+         self.assertEqual(len(distro), 2)
+         self.assertNotIn("unknown", distro[0])
+-        self.assertNotIn("unknown", distro[1])
+--
+libgit2 0.26.0
+


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2018-03-13 23:56 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2018-03-13 23:56 UTC (permalink / raw
  To: gentoo-commits

commit:     52fe9d5cc59af1769e8db064d343a26a5fa862f5
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 13 20:31:14 2018 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Tue Mar 13 23:56:34 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52fe9d5c

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

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 dev-util/buildbot/Manifest                         |  2 ++
 ...{buildbot-9999.ebuild => buildbot-1.1.0.ebuild} | 20 ++++++++++++++----
 dev-util/buildbot/buildbot-9999.ebuild             |  8 ++++++--
 .../files/disable-test_userpass_wait.patch         | 24 ++++++++++++++++++++++
 4 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index d2609b51e79..c02fff4cbb2 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -4,3 +4,5 @@ DIST buildbot-0.9.11.tar.gz 3096455 BLAKE2B 2582fd27e89fc684911926c272630bfdb3fb
 DIST buildbot-0.9.12.tar.gz 3057832 BLAKE2B 8e1748739bacc3c884f353b2a1c798575e3ce5f451a1711ecf88a7c7e517da86d2e791748d31468a2bb07369022e96cb568518b7a8ce1d9e1cece0b6ab77eec8 SHA512 62459918267297b31b2a6416f72794c7a4ebdcb60de04ece1681f6b8be9debf161716cc70ad843fd468b23e02c521c0a0783a5a1e119d75648e107691d6b908d
 DIST buildbot-0.9.13.tar.gz 3061713 BLAKE2B fac74d610bf0ff1cfeea1c59c46e95339d6b080725f6b01258921175b8036daeef23dfd3bf2a71fe838d43b9d7777e3a3141ff9cec0e1c7e609f21c53f51b91d SHA512 b1cf176d01e04bc219be8ffa787a857aec7bcfb930c3e9cabe0410fca60d826c35e74d277cd5764fcd3c6183ea5f19bae195c09ad401cdd948bda500789f2ade
 DIST buildbot-0.9.15.post1.tar.gz 3088947 BLAKE2B c9a0265d3df2a9ac01872fc7106b5b787334bd899a43fcdb6ad06aab5e0e8f1ddb4374bf5211f251f26985c3b11a0b981bdd23fb668ac1717af36443831648e6 SHA512 c5c72132fd8446fbb14467851063d192dbb817506163eacc3022d563698453c66706a895613ca1c17502dd25957b31f6409996497d2e7646ab2fdbb3fb55c31d
+DIST buildbot-1.1.0.docs.tar.xz 23932 BLAKE2B 81da8b86bb269efd2cd3f9146f3d9b41d64b28fdd0c878708c323d040a7e773cd277a18c82b1ef3cb07759ba8aedbc604e1de84f6477205b1708c28b6e86831e SHA512 511d244ffd205989047b4514b164e194b30fe4e0513d3bda776fb4d7a1a5bf42d8b7f00540b88e427838ab43f45686a83e556687ab75ce55eae6b834426a8ef7
+DIST buildbot-1.1.0.tar.gz 3098781 BLAKE2B 5a4ba8b641765fd58c3b5e788fc20aa1fb6195655ce2d82929f0f62ff48d20672f21efe0c413387e583d095c3ffcee1055a287016fe87ec1f3eb6b0ccdefdccb SHA512 f850ba2cd93d54a8abc97503719f93f69dfdc3d03b519e2d05c02bdc11893529eb51d74b6584555689281aedb71c3aa6c23141cf5fbc68ae97e09f1c89b2c94c

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-1.1.0.ebuild
similarity index 95%
copy from dev-util/buildbot/buildbot-9999.ebuild
copy to dev-util/buildbot/buildbot-1.1.0.ebuild
index 4d20f12a6a2..8c8f64302bd 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-1.1.0.ebuild
@@ -15,7 +15,10 @@ MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
 HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.python.org/pypi/buildbot"
-[[ ${PV} == *9999 ]] || SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+SRC_URI="
+	mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
+	https://dev.gentoo.org/~dolsen/distfiles/buildbot-1.1.0.docs.tar.xz
+"
 
 LICENSE="GPL-2"
 SLOT="0"
@@ -62,14 +65,12 @@ DEPEND="${RDEPEND}
 		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
 		<dev-python/docutils-0.13.0[${PYTHON_USEDEP}]
 		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
-		dev-python/ramlfications[${PYTHON_USEDEP}]
 	)
 	test? (
 		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 		>=dev-python/mock-2.0.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}]
@@ -83,6 +84,17 @@ DEPEND="${RDEPEND}
 S=${WORKDIR}/${MY_P}
 [[ ${PV} == *9999 ]] && S=${S}/master
 
+PATCHES=(
+	"${FILESDIR}/Remove-distro-version-test.patch"
+	"${FILESDIR}/disable-test_userpass_wait.patch"
+)
+
+src_unpack() {
+	unpack ${MY_P}.tar.gz
+	cd ${MY_P}
+	unpack buildbot-1.1.0.docs.tar.xz
+}
+
 pkg_setup() {
 	enewuser buildbot
 
@@ -130,7 +142,7 @@ src_install() {
 
 python_test() {
 	distutils_install_for_testing
-
+	export DISABLE_TEST=true
 	esetup.py test || die "Tests failed under ${EPYTHON}"
 }
 

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
index 4d20f12a6a2..41609b45360 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -62,14 +62,12 @@ DEPEND="${RDEPEND}
 		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
 		<dev-python/docutils-0.13.0[${PYTHON_USEDEP}]
 		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
-		dev-python/ramlfications[${PYTHON_USEDEP}]
 	)
 	test? (
 		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 		>=dev-python/mock-2.0.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}]
@@ -83,6 +81,12 @@ DEPEND="${RDEPEND}
 S=${WORKDIR}/${MY_P}
 [[ ${PV} == *9999 ]] && S=${S}/master
 
+if [[ ${PV} != *9999 ]]; then
+	PATCHES=(
+		"${FILESDIR}/Remove-distro-version-test.patch"
+	)
+fi
+
 pkg_setup() {
 	enewuser buildbot
 

diff --git a/dev-util/buildbot/files/disable-test_userpass_wait.patch b/dev-util/buildbot/files/disable-test_userpass_wait.patch
new file mode 100644
index 00000000000..e7b9d0a59e3
--- /dev/null
+++ b/dev-util/buildbot/files/disable-test_userpass_wait.patch
@@ -0,0 +1,24 @@
+From e24640e1043fe8914a2b86842645604a3d9e9698 Mon Sep 17 00:00:00 2001
+From: Brian Dolbec <brian.dolbec@sony.com>
+Date: Tue, 13 Mar 2018 19:59:13 +0000
+Subject: [PATCH] disable test-userpass-wait
+
+---
+ master/buildbot/test/integration/test_try_client.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/buildbot/test/integration/test_try_client.py b/buildbot/test/integration/test_try_client.py
+index 9bdc7a63a..48fcb1573 100644
+--- a/buildbot/test/integration/test_try_client.py
++++ b/buildbot/test/integration/test_try_client.py
+@@ -142,6 +142,8 @@ class Schedulers(RunMasterBase, www.RequiresWwwMixin):
+ 
+     @defer.inlineCallbacks
+     def test_userpass_wait(self):
++        if os.environ.get("DISABLE_TEST", False):
++            return
+         yield self.startMaster(
+             trysched.Try_Userpass('try', ['a'], 0, [('u', b'p')]))
+         yield self.runClient({
+-- 
+2.13.6


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2018-06-27 15:24 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2018-06-27 15:24 UTC (permalink / raw
  To: gentoo-commits

commit:     2e402f7f0de545cd4277d95650d48d832fa2ca67
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 17 10:33:03 2018 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Wed Jun 27 15:24:11 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e402f7f

dev-util/buildbot: Version bump, removed doc use flag

Docs generation has been broken last several versions,
blockdiag dep is failing tests.
Bump EAPI.
Add RUNTIME_PYTHON setting in /etc/conf.d/buildbot to
control the desired python version used.

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-util/buildbot/Manifest                |   1 +
 dev-util/buildbot/buildbot-1.1.2.ebuild   | 185 ++++++++++++++++++++++++++++++
 dev-util/buildbot/files/buildmaster.confd |   5 +
 dev-util/buildbot/files/buildmaster.initd |   4 +-
 4 files changed, 193 insertions(+), 2 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index d2dbae0ef33..fc86e187eef 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -4,3 +4,4 @@ DIST buildbot-0.9.13.tar.gz 3061713 BLAKE2B fac74d610bf0ff1cfeea1c59c46e95339d6b
 DIST buildbot-0.9.15.post1.tar.gz 3088947 BLAKE2B c9a0265d3df2a9ac01872fc7106b5b787334bd899a43fcdb6ad06aab5e0e8f1ddb4374bf5211f251f26985c3b11a0b981bdd23fb668ac1717af36443831648e6 SHA512 c5c72132fd8446fbb14467851063d192dbb817506163eacc3022d563698453c66706a895613ca1c17502dd25957b31f6409996497d2e7646ab2fdbb3fb55c31d
 DIST buildbot-1.1.0.docs.tar.xz 23932 BLAKE2B 81da8b86bb269efd2cd3f9146f3d9b41d64b28fdd0c878708c323d040a7e773cd277a18c82b1ef3cb07759ba8aedbc604e1de84f6477205b1708c28b6e86831e SHA512 511d244ffd205989047b4514b164e194b30fe4e0513d3bda776fb4d7a1a5bf42d8b7f00540b88e427838ab43f45686a83e556687ab75ce55eae6b834426a8ef7
 DIST buildbot-1.1.0.tar.gz 3098781 BLAKE2B 5a4ba8b641765fd58c3b5e788fc20aa1fb6195655ce2d82929f0f62ff48d20672f21efe0c413387e583d095c3ffcee1055a287016fe87ec1f3eb6b0ccdefdccb SHA512 f850ba2cd93d54a8abc97503719f93f69dfdc3d03b519e2d05c02bdc11893529eb51d74b6584555689281aedb71c3aa6c23141cf5fbc68ae97e09f1c89b2c94c
+DIST buildbot-1.1.2.tar.gz 3101168 BLAKE2B 35ec56440014015850a69324d475c4ca9555ad90da85b26a7a43eca74f08361137021aec72ddca37cbb24f21519ebf45948e66214291f356b4a1fbada7c0b3b8 SHA512 14c28d6fae18a10d89d41509635188d881ac76e7b61758481a9afbb22eb384d7ab5080383242e5850af13bfe46877985a91036270c3c4fbf01eafee5b7699815

diff --git a/dev-util/buildbot/buildbot-1.1.2.ebuild b/dev-util/buildbot/buildbot-1.1.2.ebuild
new file mode 100644
index 00000000000..b8140223d81
--- /dev/null
+++ b/dev-util/buildbot/buildbot-1.1.2.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+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/.post}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.org/project/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 docker examples irc test"
+
+RDEPEND="
+	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+	>=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
+	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
+	dev-python/future[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+	dev-python/pyjwt[${PYTHON_USEDEP}]
+	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
+	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
+	crypt? (
+		>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
+		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
+		dev-python/idna[${PYTHON_USEDEP}]
+		dev-python/service_identity[${PYTHON_USEDEP}]
+	)
+	irc? (
+		dev-python/txrequests[${PYTHON_USEDEP}]
+	)
+	docker? (
+		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
+	)
+"
+DEPEND="${RDEPEND}
+	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
+	test? (
+		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+		dev-python/moto[${PYTHON_USEDEP}]
+		dev-python/boto3[${PYTHON_USEDEP}]
+		dev-python/pyjade[${PYTHON_USEDEP}]
+		dev-python/txgithub[${PYTHON_USEDEP}]
+		dev-python/txrequests[${PYTHON_USEDEP}]
+		dev-python/lz4[${PYTHON_USEDEP}]
+		dev-python/treq[${PYTHON_USEDEP}]
+		dev-python/setuptools_trial[${PYTHON_USEDEP}]
+		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
+		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
+	)"
+
+S=${WORKDIR}/${MY_P}
+[[ ${PV} == *9999 ]] && S=${S}/master
+
+if [[ ${PV} != *9999 ]]; then
+	PATCHES=(
+		"${FILESDIR}/Remove-distro-version-test.patch"
+	)
+fi
+
+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,
+		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
+		The scripts can	run as a different user if desired."
+}
+
+
+src_install() {
+	distutils-r1_src_install
+
+	doman docs/buildbot.1
+
+	if use examples; then
+		insinto /usr/share/doc/${PF}
+		doins -r docs/examples
+	fi
+
+	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+	newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+	systemd_dounit "${FILESDIR}/buildmaster.target"
+	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
+	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
+
+	readme.gentoo_create_doc
+}
+
+python_test() {
+	distutils_install_for_testing
+
+	esetup.py test || die "Tests failed under ${EPYTHON}"
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+
+	if [[ -n ${REPLACING_VERSIONS} ]]; then
+		ewarn
+		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
+		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
+		ewarn "is now the common base directory for all instances. If you are migrating from an older"
+		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
+		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
+		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
+		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
+		ewarn "    rc-update add buildmaster.myinstance default"
+		ewarn "    /etc/init.d/buildmaster.myinstance start"
+		ewarn "Systems using systemd can do the following:"
+		ewarn "    systemctl enable buildmaster@myinstance.service"
+		ewarn "    systemctl enable buildmaster.target"
+		ewarn "    systemctl start buildmaster.target"
+		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."
+	fi
+	elog
+	elog "In order to create a new instance of buildmaster, execute:"
+	elog "    emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config() {
+	local buildmaster_path="/var/lib/buildmaster"
+	local log_path="/var/log/buildmaster"
+
+	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
+	einfo "Press Control-C to abort."
+
+	einfo "Enter the name for the new instance: "
+	read instance_name
+	[[ -z "${instance_name}" ]] && die "Invalid instance name"
+
+	local instance_path="${buildmaster_path}/${instance_name}"
+	local instance_log_path="${log_path}/${instance_name}"
+
+	if [[ -e "${instance_path}" ]]; then
+		eerror "The instance with the specified name already exists:"
+		eerror "${instance_path}"
+		die "Instance already exists"
+	fi
+
+	local buildbot="/usr/bin/buildbot"
+	if [[ ! -d "${buildmaster_path}" ]]; then
+		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
+	fi
+	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
+	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
+	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
+		|| die "Moving sample configuration failed"
+	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
+		|| die "Unable to create link to init file"
+
+	if [[ ! -d "${instance_log_path}" ]]; then
+		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
+	fi
+	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
+		|| die "Unable to create link to log file"
+
+	einfo "Successfully created a buildmaster instance at ${instance_path}."
+	einfo "To change the default settings edit the master.cfg file in this directory."
+}

diff --git a/dev-util/buildbot/files/buildmaster.confd b/dev-util/buildbot/files/buildmaster.confd
index e489d66f9d4..eb3185aef35 100644
--- a/dev-util/buildbot/files/buildmaster.confd
+++ b/dev-util/buildbot/files/buildmaster.confd
@@ -8,3 +8,8 @@ USERNAME=buildbot
 
 # Extra options to pass to twistd.
 TWISTD_OPTS=""
+
+# Optional specific python version to run in
+# (if not the system default version)
+# ie: RUNTIME_PYTHON="/usr/bin/python2.7"
+RUNTIME_PYTHON=""

diff --git a/dev-util/buildbot/files/buildmaster.initd b/dev-util/buildbot/files/buildmaster.initd
index 29fd444d123..933c6e2b4e5 100644
--- a/dev-util/buildbot/files/buildmaster.initd
+++ b/dev-util/buildbot/files/buildmaster.initd
@@ -1,5 +1,5 @@
 #!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 extra_started_commands="reload"
@@ -39,7 +39,7 @@ start() {
 	ebegin "Starting buildmaster in ${BUILDMASTER_PATH}"
 	start-stop-daemon --start -u "${USERNAME}" \
 		--pidfile "${BUILDMASTER_PATH}/buildmaster.pid" \
-		--exec /usr/bin/python2 -- /usr/bin/twistd \
+		--exec "${RUNTIME_PYTHON}" -- /usr/bin/twistd \
 		--no_save \
 		--logfile="${BUILDMASTER_PATH}/twistd.log" \
 		--pidfile="${BUILDMASTER_PATH}/buildmaster.pid" \


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2020-06-01 22:57 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2020-06-01 22:57 UTC (permalink / raw
  To: gentoo-commits

commit:     bbf522036c56491af480f90d18d3a2fab5463ea0
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  1 18:29:26 2020 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Mon Jun  1 22:57:29 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbf52203

dev-util/buildbot: Version bump, clean old, update 9999

Add 2.8.0 release.  Optimize the release and 9999 ebuilds to fix
a dependency issue in the live ebuild.
Clean out the old vulnerable versions.

gentoo-bug: https://bugs.gentoo.org/show_bug.cgi?id=711702
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Brian Dolbec <dolsen <AT> gentoo.org>

 dev-util/buildbot/Manifest                         |   5 +-
 dev-util/buildbot/buildbot-0.9.12-r1.ebuild        | 180 --------------------
 dev-util/buildbot/buildbot-1.1.2.ebuild            | 185 ---------------------
 ...buildbot-1.3.0.ebuild => buildbot-2.8.0.ebuild} |  72 ++++----
 dev-util/buildbot/buildbot-9999.ebuild             |  25 +--
 .../buildbot/files/buildbot-2.8.0.fakedb.patch     |  10 ++
 dev-util/buildbot/files/pypugjs-2.8.0.patch        |  83 +++++++++
 7 files changed, 137 insertions(+), 423 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index 9bdfbaf4fd3..0b13398de21 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,4 +1,3 @@
-DIST buildbot-0.9.12.tar.gz 3057832 BLAKE2B 8e1748739bacc3c884f353b2a1c798575e3ce5f451a1711ecf88a7c7e517da86d2e791748d31468a2bb07369022e96cb568518b7a8ce1d9e1cece0b6ab77eec8 SHA512 62459918267297b31b2a6416f72794c7a4ebdcb60de04ece1681f6b8be9debf161716cc70ad843fd468b23e02c521c0a0783a5a1e119d75648e107691d6b908d
-DIST buildbot-1.1.2.tar.gz 3101168 BLAKE2B 35ec56440014015850a69324d475c4ca9555ad90da85b26a7a43eca74f08361137021aec72ddca37cbb24f21519ebf45948e66214291f356b4a1fbada7c0b3b8 SHA512 14c28d6fae18a10d89d41509635188d881ac76e7b61758481a9afbb22eb384d7ab5080383242e5850af13bfe46877985a91036270c3c4fbf01eafee5b7699815
-DIST buildbot-1.3.0.tar.gz 3119185 BLAKE2B d366b83baad7e865481535a2462ceb222aadce6c90a6229e82a72bf86518b8ebb0624d8ac8b64867783d58b6e9033b942a1ccd31fd6664a2b527eac9f11ab852 SHA512 e5ecf3eafe428a188c2410d270ee9bd5afc39122e62d35747288cf85347368ab4a94190b4ff6fe687269dc19cc7b91d33be8d3e3b637741e421a2cbd83572830
 DIST buildbot-2.7.0.tar.gz 3175050 BLAKE2B 0a41eccaa4ca8df6396455049e8c09a1b2fe6cde3072da7fd3715f2769015944e8880f41dbe6750dd7b26bd863fb82f8e8d8c6540f9e1bf3ea4378f11adc973d SHA512 9946fe0b1591d51e5136d9458526918e872174afee79b5f1c333823ef1d2ddae66f017e9b57e26a2451da7ca7672720f32544c606ce5652d0825fae563779669
+DIST buildbot-2.8.0-fakedb.tar.xz 16204 BLAKE2B 741676e2c9117b1ab174ce49747bdfcd07766ad3e471e308398dff476f167fd231b7772c2f02002cbafb27e2ef535242d84d5aa84f4bc8942d4d216b2d5bf1f6 SHA512 c2b00d8621b3a1e521f6c17e902ae331b606dda3d319187895f26629dbdaf50caefc5d49fb150fb780e682ae431515c7ded4950d62448e8a73b8efba821c0fa1
+DIST buildbot-2.8.0.tar.gz 3162882 BLAKE2B 19789f1fe9f572c978a1843a98cd01d752a614d89eb29f2de9db750808d1f96d7893b39d703f37cc0e81e022267c08603c86d59a5902d65194e236f7170d6b30 SHA512 18af8fe1bda6f7014f514bfd112ccf9837194c0e42cbdabaaa6c6202660670964421feff3e92e9dca4cf960f69a4bde9b3666287b54ef7e912284a0471dcc2b6

diff --git a/dev-util/buildbot/buildbot-0.9.12-r1.ebuild b/dev-util/buildbot/buildbot-0.9.12-r1.ebuild
deleted file mode 100644
index c56a3675fcf..00000000000
--- a/dev-util/buildbot/buildbot-0.9.12-r1.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python3_6 )
-
-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_P="${PN}-${MY_PV}"
-
-DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.org/project/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 examples irc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	>=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
-	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
-	dev-python/pyjwt[${PYTHON_USEDEP}]
-	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
-	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-	crypt? (
-		>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
-		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
-		dev-python/idna[${PYTHON_USEDEP}]
-		dev-python/service_identity[${PYTHON_USEDEP}]
-	)
-	irc? (
-		dev-python/txrequests[${PYTHON_USEDEP}]
-	)
-"
-DEPEND="${RDEPEND}
-	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-		>=dev-python/mock-2.0.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}]
-		dev-python/lz4[${PYTHON_USEDEP}]
-		dev-python/treq[${PYTHON_USEDEP}]
-		dev-python/setuptools_trial[${PYTHON_USEDEP}]
-		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-	)"
-
-S=${WORKDIR}/${MY_P}
-[[ ${PV} == *9999 ]] && S=${S}/master
-
-PATCHES=(
-	"${FILESDIR}/Remove-distro-version-test.patch"
-)
-
-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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-src_install() {
-	distutils-r1_src_install
-
-	doman docs/buildbot.1
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}
-		doins -r docs/examples
-	fi
-
-	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
-	newinitd "${FILESDIR}/buildmaster.initd" buildmaster
-	systemd_dounit "${FILESDIR}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-python_test() {
-	distutils_install_for_testing
-
-	esetup.py test || die "Tests failed under ${EPYTHON}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	local log_path="/var/log/buildmaster"
-
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	local instance_log_path="${log_path}/${instance_name}"
-
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	if [[ ! -d "${instance_log_path}" ]]; then
-		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
-	fi
-	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
-		|| die "Unable to create link to log file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-1.1.2.ebuild b/dev-util/buildbot/buildbot-1.1.2.ebuild
deleted file mode 100644
index 38a9ae82e1e..00000000000
--- a/dev-util/buildbot/buildbot-1.1.2.ebuild
+++ /dev/null
@@ -1,185 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python3_6 )
-
-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/.post}"
-MY_P="${PN}-${MY_PV}"
-
-DESCRIPTION="BuildBot build automation system"
-HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.org/project/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 docker examples irc test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
-	>=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
-	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-0.8[${PYTHON_USEDEP}]
-	>=dev-python/sqlalchemy-migrate-0.9[${PYTHON_USEDEP}]
-	dev-python/future[${PYTHON_USEDEP}]
-	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
-	dev-python/pyjwt[${PYTHON_USEDEP}]
-	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
-	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-	crypt? (
-		>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
-		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
-		dev-python/idna[${PYTHON_USEDEP}]
-		dev-python/service_identity[${PYTHON_USEDEP}]
-	)
-	irc? (
-		dev-python/txrequests[${PYTHON_USEDEP}]
-	)
-	docker? (
-		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
-	)
-"
-DEPEND="${RDEPEND}
-	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
-		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
-		dev-python/moto[${PYTHON_USEDEP}]
-		dev-python/boto3[${PYTHON_USEDEP}]
-		dev-python/pyjade[${PYTHON_USEDEP}]
-		dev-python/txgithub[${PYTHON_USEDEP}]
-		dev-python/txrequests[${PYTHON_USEDEP}]
-		dev-python/lz4[${PYTHON_USEDEP}]
-		dev-python/treq[${PYTHON_USEDEP}]
-		dev-python/setuptools_trial[${PYTHON_USEDEP}]
-		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
-	)"
-
-S=${WORKDIR}/${MY_P}
-[[ ${PV} == *9999 ]] && S=${S}/master
-
-if [[ ${PV} != *9999 ]]; then
-	PATCHES=(
-		"${FILESDIR}/Remove-distro-version-test.patch"
-	)
-fi
-
-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,
-		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
-		The scripts can	run as a different user if desired."
-}
-
-src_install() {
-	distutils-r1_src_install
-
-	doman docs/buildbot.1
-
-	if use examples; then
-		insinto /usr/share/doc/${PF}
-		doins -r docs/examples
-	fi
-
-	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
-	newinitd "${FILESDIR}/buildmaster.initd" buildmaster
-	systemd_dounit "${FILESDIR}/buildmaster.target"
-	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
-	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
-
-	readme.gentoo_create_doc
-}
-
-python_test() {
-	distutils_install_for_testing
-
-	esetup.py test || die "Tests failed under ${EPYTHON}"
-}
-
-pkg_postinst() {
-	readme.gentoo_print_elog
-
-	if [[ -n ${REPLACING_VERSIONS} ]]; then
-		ewarn
-		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
-		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
-		ewarn "is now the common base directory for all instances. If you are migrating from an older"
-		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
-		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
-		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
-		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
-		ewarn "    rc-update add buildmaster.myinstance default"
-		ewarn "    /etc/init.d/buildmaster.myinstance start"
-		ewarn "Systems using systemd can do the following:"
-		ewarn "    systemctl enable buildmaster@myinstance.service"
-		ewarn "    systemctl enable buildmaster.target"
-		ewarn "    systemctl start buildmaster.target"
-		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."
-	fi
-	elog
-	elog "In order to create a new instance of buildmaster, execute:"
-	elog "    emerge --config =${CATEGORY}/${PF}"
-}
-
-pkg_config() {
-	local buildmaster_path="/var/lib/buildmaster"
-	local log_path="/var/log/buildmaster"
-
-	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
-	einfo "Press Control-C to abort."
-
-	einfo "Enter the name for the new instance: "
-	read instance_name
-	[[ -z "${instance_name}" ]] && die "Invalid instance name"
-
-	local instance_path="${buildmaster_path}/${instance_name}"
-	local instance_log_path="${log_path}/${instance_name}"
-
-	if [[ -e "${instance_path}" ]]; then
-		eerror "The instance with the specified name already exists:"
-		eerror "${instance_path}"
-		die "Instance already exists"
-	fi
-
-	local buildbot="/usr/bin/buildbot"
-	if [[ ! -d "${buildmaster_path}" ]]; then
-		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
-	fi
-	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
-	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
-		|| die "Moving sample configuration failed"
-	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
-		|| die "Unable to create link to init file"
-
-	if [[ ! -d "${instance_log_path}" ]]; then
-		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
-	fi
-	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
-		|| die "Unable to create link to log file"
-
-	einfo "Successfully created a buildmaster instance at ${instance_path}."
-	einfo "To change the default settings edit the master.cfg file in this directory."
-}

diff --git a/dev-util/buildbot/buildbot-1.3.0.ebuild b/dev-util/buildbot/buildbot-2.8.0.ebuild
similarity index 81%
rename from dev-util/buildbot/buildbot-1.3.0.ebuild
rename to dev-util/buildbot/buildbot-2.8.0.ebuild
index d59c41b23e9..1de7b0513a2 100644
--- a/dev-util/buildbot/buildbot-1.3.0.ebuild
+++ b/dev-util/buildbot/buildbot-2.8.0.ebuild
@@ -1,34 +1,32 @@
 # Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="6"
+EAPI="7"
 PYTHON_REQ_USE="sqlite"
-PYTHON_COMPAT=( python3_6 )
+PYTHON_COMPAT=( python3_{6,7,8} )
 
-EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
+DISTUTILS_USE_SETUPTOOLS="rdepend"
 
-[[ ${PV} == *9999 ]] && inherit git-r3
-inherit readme.gentoo-r1 user systemd distutils-r1
+inherit readme.gentoo-r1 systemd distutils-r1
 
 MY_PV="${PV/_p/.post}"
 MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
 HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pypi.org/project/buildbot/"
-[[ ${PV} == *9999 ]] || SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz
+	https://dev.gentoo.org/~dolsen/distfiles/buildbot-2.8.0-fakedb.tar.xz
+"
 
 LICENSE="GPL-2"
 SLOT="0"
-if [[ ${PV} == *9999 ]]; then
-	KEYWORDS=""
-else
-	KEYWORDS="~amd64 ~amd64-linux ~x86-linux"
-fi
+KEYWORDS="~amd64 ~amd64-linux ~x86-linux"
 
 IUSE="crypt doc docker examples irc test"
 RESTRICT="!test? ( test )"
 
 RDEPEND="
+	acct-user/buildbot
 	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
 	>=dev-python/twisted-17.9.0[${PYTHON_USEDEP}]
 	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
@@ -38,12 +36,13 @@ RDEPEND="
 	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
 	dev-python/pyjwt[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
 	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
 	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
 	crypt? (
 		>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
 		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
-		dev-python/idna[${PYTHON_USEDEP}]
+		<dev-python/idna-2.9[${PYTHON_USEDEP}]
 		dev-python/service_identity[${PYTHON_USEDEP}]
 	)
 	irc? (
@@ -51,46 +50,51 @@ RDEPEND="
 	)
 	docker? (
 		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
 	)
 "
 DEPEND="${RDEPEND}
-	>=dev-python/setuptools-21.2.1[${PYTHON_USEDEP}]
 	doc? (
 		>=dev-python/sphinx-1.4.3[${PYTHON_USEDEP}]
+		<dev-python/sphinx-2.1.0[${PYTHON_USEDEP}]
 		dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
 		dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
 		dev-python/pyenchant[${PYTHON_USEDEP}]
-		>=dev-python/docutils-0.8[${PYTHON_USEDEP}]
-		<dev-python/docutils-0.13.0[${PYTHON_USEDEP}]
+		dev-python/docutils[${PYTHON_USEDEP}]
 		dev-python/sphinx-jinja[${PYTHON_USEDEP}]
+		dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
 	)
 	test? (
-		>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
 		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
 		dev-python/moto[${PYTHON_USEDEP}]
-		dev-python/boto3[${PYTHON_USEDEP}]
-		dev-python/pyjade[${PYTHON_USEDEP}]
-		dev-python/txgithub[${PYTHON_USEDEP}]
+		>=dev-python/boto3-1.12.48[${PYTHON_USEDEP}]
+		dev-python/parameterized[${PYTHON_USEDEP}]
+		dev-python/pypugjs[${PYTHON_USEDEP}]
 		dev-python/txrequests[${PYTHON_USEDEP}]
 		dev-python/lz4[${PYTHON_USEDEP}]
 		dev-python/treq[${PYTHON_USEDEP}]
 		dev-python/setuptools_trial[${PYTHON_USEDEP}]
+		~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}]
 		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
+		~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}]
+		crypt? (
+			>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
+			>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
+			<dev-python/idna-2.9[${PYTHON_USEDEP}]
+			dev-python/service_identity[${PYTHON_USEDEP}]
+		)
 	)"
 
 S=${WORKDIR}/${MY_P}
-[[ ${PV} == *9999 ]] && S=${S}/master
 
-if [[ ${PV} != *9999 ]]; then
-	PATCHES=(
-		"${FILESDIR}/Remove-distro-version-test.patch"
-	)
-fi
+PATCHES=(
+		"${FILESDIR}/pypugjs-2.8.0.patch"
+		"${FILESDIR}/buildbot-2.8.0.fakedb.patch"
+)
 
-pkg_setup() {
-	enewuser buildbot
+distutils_enable_tests setup.py
 
+pkg_setup() {
 	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,
 		execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
@@ -115,7 +119,7 @@ src_install() {
 	doman docs/buildbot.1
 
 	if use doc; then
-		dohtml -r docs/_build/html/
+		HTML_DOCS=( docs/_build/html/ )
 		# TODO: install man pages
 	fi
 
@@ -133,12 +137,6 @@ src_install() {
 	readme.gentoo_create_doc
 }
 
-python_test() {
-	distutils_install_for_testing
-
-	esetup.py test || die "Tests failed under ${EPYTHON}"
-}
-
 pkg_postinst() {
 	readme.gentoo_print_elog
 
@@ -194,7 +192,7 @@ pkg_config() {
 		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
 	fi
 	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
-	chown --recursive buildbot "${instance_path}" || die "Setting permissions for instance failed"
+	chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed"
 	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
 		|| die "Moving sample configuration failed"
 	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
@@ -202,6 +200,8 @@ pkg_config() {
 
 	if [[ ! -d "${instance_log_path}" ]]; then
 		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
+		chown --recursive buildbot:buildbot "${instance_log_path}" \
+			|| die "Setting permissions for instance failed"
 	fi
 	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
 		|| die "Unable to create link to log file"

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
index 35a2e69c15e..25ce6693e4e 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -9,7 +9,7 @@ EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
 
 DISTUTILS_USE_SETUPTOOLS="rdepend"
 
-[[ ${PV} == *9999 ]] && inherit git-r3
+inherit git-r3
 inherit readme.gentoo-r1 systemd distutils-r1
 
 MY_PV="${PV/_p/.post}"
@@ -21,11 +21,7 @@ HOMEPAGE="https://buildbot.net/ https://github.com/buildbot/buildbot https://pyp
 
 LICENSE="GPL-2"
 SLOT="0"
-if [[ ${PV} == *9999 ]]; then
-	KEYWORDS=""
-else
-	KEYWORDS="~amd64 ~amd64-linux ~x86-linux"
-fi
+KEYWORDS=""
 
 IUSE="crypt doc docker examples irc test"
 RESTRICT="!test? ( test )"
@@ -79,9 +75,9 @@ DEPEND="${RDEPEND}
 		dev-python/lz4[${PYTHON_USEDEP}]
 		dev-python/treq[${PYTHON_USEDEP}]
 		dev-python/setuptools_trial[${PYTHON_USEDEP}]
-		~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}]
-		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
-		~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}]
+		dev-util/buildbot-pkg[${PYTHON_USEDEP}]
+		dev-util/buildbot-worker[${PYTHON_USEDEP}]
+		dev-util/buildbot-www[${PYTHON_USEDEP}]
 		crypt? (
 			>=dev-python/twisted-17.9.0[${PYTHON_USEDEP},crypt]
 			>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
@@ -89,17 +85,8 @@ DEPEND="${RDEPEND}
 			dev-python/service_identity[${PYTHON_USEDEP}]
 		)
 	)"
-#		>=dev-python/docker-py-2.2.0[${PYTHON_USEDEP}]
 
-S=${WORKDIR}/${MY_P}
-[[ ${PV} == *9999 ]] && S=${S}/master
-
-if [[ ${PV} != *9999 ]]; then
-	PATCHES=(
-		"${FILESDIR}/Add-gentoo-to-the-VERSION_ID-check-exclusion.patch"
-		"${FILESDIR}/pypugjs.patch"
-	)
-fi
+S=${S}/master
 
 distutils_enable_tests setup.py
 

diff --git a/dev-util/buildbot/files/buildbot-2.8.0.fakedb.patch b/dev-util/buildbot/files/buildbot-2.8.0.fakedb.patch
new file mode 100644
index 00000000000..2ce217b0d2e
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot-2.8.0.fakedb.patch
@@ -0,0 +1,10 @@
+--- a/setup.py	2020-06-01 15:14:03.169026527 -0700
++++ b/setup.py	2020-06-01 15:17:38.619177059 -0700
+@@ -194,6 +194,7 @@
+         "buildbot.test",
+         "buildbot.test.util",
+         "buildbot.test.fake",
++        "buildbot.test.fakedb",
+         "buildbot.test.fuzz",
+         "buildbot.test.integration",
+         "buildbot.test.integration.interop",

diff --git a/dev-util/buildbot/files/pypugjs-2.8.0.patch b/dev-util/buildbot/files/pypugjs-2.8.0.patch
new file mode 100644
index 00000000000..d34c6fac1af
--- /dev/null
+++ b/dev-util/buildbot/files/pypugjs-2.8.0.patch
@@ -0,0 +1,83 @@
+From 26fefa8f8fa7b347e1c86723194de3a4094dc012 Mon Sep 17 00:00:00 2001
+From: Brian Dolbec <dolsen@gentoo.org>
+Date: Sat, 25 Apr 2020 11:53:06 -0700
+Subject: [PATCH] Initial pyjade port to pypugjs
+
+---
+ common/code_spelling_ignore_words.txt        |  1 +
+ master/buildbot/test/unit/test_www_config.py |  8 ++++----
+ master/buildbot/www/config.py                | 10 +++++-----
+ master/docs/manual/configuration/www.rst     | 10 ++++++----
+ master/docs/spelling_wordlist.txt            |  2 +-
+ master/setup.py                              |  4 ++--
+ requirements-ci.txt                          |  2 +-
+ 7 files changed, 20 insertions(+), 17 deletions(-)
+
+diff --git a/buildbot/test/unit/test_www_config.py b/buildbot/test/unit/test_www_config.py
+index 23a108e..a8c24ec 100644
+--- a/buildbot/test/unit/test_www_config.py
++++ b/buildbot/test/unit/test_www_config.py
+@@ -107,10 +107,10 @@ class IndexResource(TestReactorMixin, www.WwwTestMixin, unittest.TestCase):
+     def test_parseCustomTemplateDir(self):
+         exp = {'views/builds.html': '<div>\n</div>'}
+         try:
+-            # we make the test work if pyjade is present or note
+-            # It is better than just skip if pyjade is not there
+-            import pyjade  # pylint: disable=import-outside-toplevel
+-            [pyjade]
++            # we make the test work if pypugjs is present or note
++            # It is better than just skip if pypugjs is not there
++            import pypugjs  # pylint: disable=import-outside-toplevel
++            [pypugjs]
+             exp.update({'plugin/views/plugin.html':
+                         '<div class="myclass"><pre>this is customized</pre></div>'})
+         except ImportError:
+diff --git a/buildbot/www/config.py b/buildbot/www/config.py
+index a021299..50bae4d 100644
+--- config.py	2020-02-27 13:34:10.000000000 -0800
++++ config2.py	2020-05-11 17:26:44.587026761 -0700
+@@ -61,11 +61,11 @@
+         res = {}
+         allowed_ext = [".html"]
+         try:
+-            import pyjade   # pylint: disable=import-outside-toplevel
++            import pypugjs   # pylint: disable=import-outside-toplevel
+             allowed_ext.append(".jade")
+         except ImportError:  # pragma: no cover
+-            log.msg("pyjade not installed. Ignoring .jade files from {}".format(template_dir))
++            log.msg("pypugjs not installed. Ignoring .jade files from {}".format(template_dir))
+-            pyjade = None
++            pypugjs = None
+         for root, dirs, files in os.walk(template_dir):
+             if root == template_dir:
+                 template_name = posixpath.join("views", "%s.html")
+@@ -86,9 +86,9 @@
+                 elif ext == ".jade":
+                     with open(fn) as f:
+                         jade = f.read()
+-                        parser = pyjade.parser.Parser(jade)
++                        parser = pypugjs.parser.Parser(jade)
+                         block = parser.parse()
+-                        compiler = pyjade.ext.html.Compiler(
++                        compiler = pypugjs.ext.html.Compiler(
+                             block, pretty=False)
+                         html = compiler.compile()
+                 res[template_name % (basename,)] = html
+diff --git a/setup.py b/master/setup.py
+index 8fca506..1f32a74 100755
+--- a/setup.py
++++ b/setup.py
+@@ -490,8 +490,8 @@ test_deps = [
+     # http client libraries
+     'treq',
+     'txrequests',
+-    # pyjade required for custom templates tests
+-    'pyjade',
++    # pypugjs required for custom templates tests
++    'pypugjs',
+     # boto3 and moto required for running EC2 tests
+     'boto3',
+     'moto',
+--
+libgit2 0.99.0
+


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2022-09-23  3:00 Brian Dolbec
  0 siblings, 0 replies; 11+ messages in thread
From: Brian Dolbec @ 2022-09-23  3:00 UTC (permalink / raw
  To: gentoo-commits

commit:     d99f955327514ef544f5deecb4f0ef8dc0bac656
Author:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 23 02:20:35 2022 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Fri Sep 23 03:00:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d99f9553

dev-util/buildbot: Version bump to 3.6.1

Update 9999, confd file

Signed-off-by: Brian Dolbec <dolsen <AT> gentoo.org>

 dev-util/buildbot/Manifest                              |  1 +
 .../{buildbot-9999.ebuild => buildbot-3.6.1.ebuild}     | 17 +++++++++++------
 dev-util/buildbot/buildbot-9999.ebuild                  |  2 +-
 dev-util/buildbot/files/buildmaster.confd               |  2 +-
 4 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index 2a4093a0408e..ad7526384cac 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,3 +1,4 @@
 DIST buildbot-3.4.0.tar.gz 2446868 BLAKE2B a58b268fd4569105f1c0ba48c9ed86210a3fee4725f167d6b6847960bbb56a092d0c0db427ecf5932a91d44065da8843fbb4046d289800a019b0b1d8b1f53fea SHA512 92e5085862ac37a6c3c059870a3998fbaac2019c48384295f3e209788ea14bddff6704f1b987a8f3b1550c1b0255d228f8a0b2a20b5cb760b22a513db465863b
 DIST buildbot-3.5.0.tar.gz 2450653 BLAKE2B 0e923f2a3a334241b25c6a151b397356d7ba81ab2ff19c17c50a5996494d0f99fa198b63aa18a27ab60c5ad53c0154494bf4dea4e2bd306f4b709858a64dc3c4 SHA512 9730305540db3cdf166fdfc071142061926bbb895aa941046ad25e8350d3c161d4175f3518cd8a3ab51f320b0a5980517e5e53d9f5ddc342492ee56a0f6f266f
 DIST buildbot-3.6.0.tar.gz 2458029 BLAKE2B 5f41702d4d61fbcbfa878c6febbb89a38da2648403c4fdcab24bde246adc225e9ac3f72eb7dc893e03763f00c2d3548c31b2d6597904032e4b75e660bb1faf72 SHA512 c0bec931d08adb1eec51114619d2a085fbef224944a4c0acf3ab396f84d846fd620b84379affee238d02dd90ca1294fdb2b7fb8ea6e82d95c4cfeae93a0b5e73
+DIST buildbot-3.6.1.tar.gz 2458176 BLAKE2B 4587ed222e2fae424f3c4f275e67e72bf25b0ce88231a29f931582d82fbe93a846f85b14bdc64740939466ccdc3f15dab3774244aa5c0a293250b52b542014ea SHA512 62a993d1acd8bc5cc916f009909b4b099d9f64007fe790dc219104f248bb21e0ab8f1771c354ef61e6d8ba497451cdef5e7a7de17a87cfd1e941b3b49fbf2206

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-3.6.1.ebuild
similarity index 94%
copy from dev-util/buildbot/buildbot-9999.ebuild
copy to dev-util/buildbot/buildbot-3.6.1.ebuild
index b0ebb30b9273..9ca1baf06d21 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-3.6.1.ebuild
@@ -6,17 +6,22 @@ EAPI=8
 DISTUTILS_USE_PEP517=setuptools
 PYTHON_REQ_USE="sqlite"
 PYTHON_COMPAT=( python3_{8..10} )
-EGIT_REPO_URI="https://github.com/buildbot/${PN}.git"
-inherit readme.gentoo-r1 git-r3 systemd distutils-r1
+inherit readme.gentoo-r1 systemd distutils-r1
+
+MY_PV="${PV/_p/.post}"
+MY_P="${PN}-${MY_PV}"
 
 DESCRIPTION="BuildBot build automation system"
 HOMEPAGE="https://buildbot.net/
 	https://github.com/buildbot/buildbot
 	https://pypi.org/project/buildbot/"
-S="${S}/master"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
 
 LICENSE="GPL-2"
 SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~amd64-linux ~x86-linux"
+
 IUSE="crypt docker examples irc test"
 RESTRICT="!test? ( test )"
 
@@ -60,12 +65,12 @@ BDEPEND="
 		>=dev-python/boto3-1.12.48[${PYTHON_USEDEP}]
 		dev-python/moto[${PYTHON_USEDEP}]
 		>=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
-		>=dev-python/msgpack-0.6.0[${PYTHON_USEDEP}]
+		dev-python/parameterized[${PYTHON_USEDEP}]
 		dev-python/lz4[${PYTHON_USEDEP}]
 		dev-python/ldap3[${PYTHON_USEDEP}]
-		dev-util/buildbot-pkg[${PYTHON_USEDEP}]
+		~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}]
 		dev-util/buildbot-worker[${PYTHON_USEDEP}]
-		dev-util/buildbot-www[${PYTHON_USEDEP}]
+		~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}]
 	)"
 
 DOC_CONTENTS="The \"buildbot\" user and the \"buildmaster\" init script has been added

diff --git a/dev-util/buildbot/buildbot-9999.ebuild b/dev-util/buildbot/buildbot-9999.ebuild
index b0ebb30b9273..17faf70a4028 100644
--- a/dev-util/buildbot/buildbot-9999.ebuild
+++ b/dev-util/buildbot/buildbot-9999.ebuild
@@ -33,7 +33,7 @@ RDEPEND="
 	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
 	dev-python/pyjwt[${PYTHON_USEDEP}]
 	dev-python/pyyaml[${PYTHON_USEDEP}]
-	~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
+	dev-util/buildbot-worker[${PYTHON_USEDEP}]
 	crypt? (
 		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
 		dev-python/service_identity[${PYTHON_USEDEP}]

diff --git a/dev-util/buildbot/files/buildmaster.confd b/dev-util/buildbot/files/buildmaster.confd
index eb3185aef358..9bb2eb0328d9 100644
--- a/dev-util/buildbot/files/buildmaster.confd
+++ b/dev-util/buildbot/files/buildmaster.confd
@@ -11,5 +11,5 @@ TWISTD_OPTS=""
 
 # Optional specific python version to run in
 # (if not the system default version)
-# ie: RUNTIME_PYTHON="/usr/bin/python2.7"
+# ie: RUNTIME_PYTHON="/usr/bin/python3.8"
 RUNTIME_PYTHON=""


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2024-03-14  5:37 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2024-03-14  5:37 UTC (permalink / raw
  To: gentoo-commits

commit:     a6badccd3049ba1a477e6272f3ac82d0af6a477f
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 10 21:35:37 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Mar 14 05:37:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a6badccd

dev-util/buildbot: add 3.11.1

Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/buildbot/Manifest                         |   1 +
 dev-util/buildbot/buildbot-3.11.1.ebuild           | 187 +++++++++++++++++++++
 .../files/buildbot-importlib.resources.patch       |  13 ++
 3 files changed, 201 insertions(+)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index c1b132c5f02d..eed318c38487 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,3 +1,4 @@
 DIST buildbot-3.11.0.tar.gz 2523691 BLAKE2B e64a84fa1678d313ef922cb43e3a2df974e1c8e7b8c53a1ec20b6ef177eee5ca66bbe012bdf4754cc135e91fba883237b370f99fbbf780ef1fcab07305f941a7 SHA512 86f6545573473aa48890a9b6e5165c55c5223ab365a1f7bf019e468396f52c4cb3dc93458aae15cef40ff0eb576bd55002a8ae78144cd86271d9a230f1bd40b8
+DIST buildbot-3.11.1.tar.gz 2524103 BLAKE2B aa95e6f6963e0504e1e61147a4ceb09448f804ece33251c45914b731572923de68f6cda88f9a3c37eab2b695dfcb379c1745ce3b280e04232075819d41c5030b SHA512 ea9155c48fb44d6cf967e3b821bcca368f2a50bcc49e2b889e237ff17d0e6a222253a2fa2cd7876ade2edef05d50cead05090c3e73ecda0530e7d6c617376b8b
 DIST buildbot-3.6.1.tar.gz 2458176 BLAKE2B 4587ed222e2fae424f3c4f275e67e72bf25b0ce88231a29f931582d82fbe93a846f85b14bdc64740939466ccdc3f15dab3774244aa5c0a293250b52b542014ea SHA512 62a993d1acd8bc5cc916f009909b4b099d9f64007fe790dc219104f248bb21e0ab8f1771c354ef61e6d8ba497451cdef5e7a7de17a87cfd1e941b3b49fbf2206
 DIST buildbot-3.9.0.tar.gz 2505725 BLAKE2B 144a16655a8ec23d74ba190a7867a2dce9c65ea6009aa53ea11494be6f03f8d45bc6568a36511812e7664bcc7de9540728b91264251a46301cbd7ebec04c2069 SHA512 9103c5e08f9d5335c0281403d81fc939cc91b81e8051d4590f29e00779392ac706934d209312e51aafc44a35ab768ad54cbd251afe50e326c52e2f1b0d72196b

diff --git a/dev-util/buildbot/buildbot-3.11.1.ebuild b/dev-util/buildbot/buildbot-3.11.1.ebuild
new file mode 100644
index 000000000000..cbcbf3a1fd00
--- /dev/null
+++ b/dev-util/buildbot/buildbot-3.11.1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python3_{10..12} )
+inherit readme.gentoo-r1 systemd distutils-r1 pypi
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="https://buildbot.net/
+	https://github.com/buildbot/buildbot
+	https://pypi.org/project/buildbot/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~amd64-linux ~x86-linux"
+
+IUSE="crypt docker examples irc test"
+RESTRICT="!test? ( test )"
+
+# use python's importlib
+PATCHES=(
+	"${FILESDIR}/buildbot-importlib.resources.patch"
+)
+
+RDEPEND="
+	acct-user/buildbot
+	>=dev-python/alembic-1.6.0[${PYTHON_USEDEP}]
+	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
+	>=dev-python/croniter-1.3.0[${PYTHON_USEDEP}]
+	>=dev-python/msgpack-0.6.0[${PYTHON_USEDEP}]
+	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+	dev-python/packaging[${PYTHON_USEDEP}]
+	dev-python/pyjwt[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-1.3.0[${PYTHON_USEDEP}]
+	<dev-python/sqlalchemy-1.5.0[${PYTHON_USEDEP}]
+	>=dev-python/twisted-18.7.0[${PYTHON_USEDEP}]
+	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+	>=dev-python/unidiff-0.7.5[${PYTHON_USEDEP}]
+	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
+	crypt? (
+		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
+		dev-python/service-identity[${PYTHON_USEDEP}]
+		|| (
+			>=dev-python/twisted-18.7.0[${PYTHON_USEDEP},ssl(-)]
+			>=dev-python/twisted-18.7.0[${PYTHON_USEDEP},crypt(-)]
+		)
+		dev-python/idna[${PYTHON_USEDEP}]
+	)
+	irc? (
+		dev-python/txrequests[${PYTHON_USEDEP}]
+	)
+	docker? (
+		>=dev-python/docker-7.0.0[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
+	)
+"
+BDEPEND="
+	test? (
+		${RDEPEND}
+		~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}]
+		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
+		~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}]
+		>=dev-python/boto3-1.12.48[${PYTHON_USEDEP}]
+		dev-python/lz4[${PYTHON_USEDEP}]
+		dev-python/ldap3[${PYTHON_USEDEP}]
+		>=dev-python/markdown-3.0.0[${PYTHON_USEDEP}]
+		>=dev-python/moto-4.2.13[${PYTHON_USEDEP}]
+		dev-python/parameterized[${PYTHON_USEDEP}]
+		dev-python/pypugjs[${PYTHON_USEDEP}]
+		dev-python/txrequests[${PYTHON_USEDEP}]
+		dev-python/treq[${PYTHON_USEDEP}]
+	)"
+
+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,
+execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
+The scripts can	run as a different user if desired."
+
+src_prepare() {
+	# disable all warnings as errors
+	sed -e "/warnings.filterwarnings('error')/d" -i buildbot/test/__init__.py || die
+	# https://github.com/buildbot/buildbot/issues/6776
+	# https://bugs.gentoo.org/904062
+	rm buildbot/test/integration/test_try_client.py || die
+
+	distutils-r1_src_prepare
+}
+
+python_test() {
+	"${EPYTHON}" -m twisted.trial buildbot || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+	distutils-r1_src_install
+
+	doman docs/buildbot.1
+
+	if use examples; then
+		dodoc -r docs/examples
+	fi
+
+	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+	newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+	systemd_dounit "${FILESDIR}/buildmaster.target"
+	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
+	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+
+	if [[ -n ${REPLACING_VERSIONS} ]]; then
+		ewarn
+		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
+		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
+		ewarn "is now the common base directory for all instances. If you are migrating from an older"
+		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
+		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
+		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
+		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
+		ewarn "    rc-update add buildmaster.myinstance default"
+		ewarn "    /etc/init.d/buildmaster.myinstance start"
+		ewarn "Systems using systemd can do the following:"
+		ewarn "    systemctl enable buildmaster@myinstance.service"
+		ewarn "    systemctl enable buildmaster.target"
+		ewarn "    systemctl start buildmaster.target"
+		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."
+	fi
+	elog
+	elog "In order to create a new instance of buildmaster, execute:"
+	elog "    emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config() {
+	local buildmaster_path="/var/lib/buildmaster"
+	local log_path="/var/log/buildmaster"
+
+	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
+	einfo "Press Control-C to abort."
+
+	einfo "Enter the name for the new instance: "
+	read instance_name
+	[[ -z "${instance_name}" ]] && die "Invalid instance name"
+
+	local instance_path="${buildmaster_path}/${instance_name}"
+	local instance_log_path="${log_path}/${instance_name}"
+
+	if [[ -e "${instance_path}" ]]; then
+		eerror "The instance with the specified name already exists:"
+		eerror "${instance_path}"
+		die "Instance already exists"
+	fi
+
+	local buildbot="/usr/bin/buildbot"
+	if [[ ! -d "${buildmaster_path}" ]]; then
+		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
+	fi
+	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
+	chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed"
+	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
+		|| die "Moving sample configuration failed"
+	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
+		|| die "Unable to create link to init file"
+
+	if [[ ! -d "${instance_log_path}" ]]; then
+		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
+		chown --recursive buildbot:buildbot "${instance_log_path}" \
+			|| die "Setting permissions for instance failed"
+	fi
+	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
+		|| die "Unable to create link to log file"
+
+	einfo "Successfully created a buildmaster instance at ${instance_path}."
+	einfo "To change the default settings edit the master.cfg file in this directory."
+}

diff --git a/dev-util/buildbot/files/buildbot-importlib.resources.patch b/dev-util/buildbot/files/buildbot-importlib.resources.patch
new file mode 100644
index 000000000000..3854b93fe4b8
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot-importlib.resources.patch
@@ -0,0 +1,13 @@
+https://github.com/buildbot/buildbot/pull/7270
+We don't use older python then 3.10 so use importlib.resources
+--- a/buildbot/www/plugin.py	2023-12-27 11:18:13.107479017 +0100
++++ b/buildbot/www/plugin.py	2023-12-27 11:20:55.710106750 +0100
+@@ -14,7 +14,7 @@
+ # Copyright Buildbot Team Members
+ 
+ 
+-import importlib_resources
++import importlib.resources as importlib_resources
+ 
+ from twisted.web import static
+ 


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/
@ 2024-11-09  9:08 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2024-11-09  9:08 UTC (permalink / raw
  To: gentoo-commits

commit:     03a65198c448ee42ad4883ae685faceace5f099f
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 27 07:53:22 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov  9 09:07:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03a65198

dev-util/buildbot: add 4.1.0

Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-util/buildbot/Manifest                         |   1 +
 dev-util/buildbot/buildbot-4.1.0.ebuild            | 185 +++++++++++++++++++++
 .../files/buildbot-4.1.0-TestCommandToString.patch |  28 ++++
 3 files changed, 214 insertions(+)

diff --git a/dev-util/buildbot/Manifest b/dev-util/buildbot/Manifest
index 606c4cd00054..9b3c99c1be54 100644
--- a/dev-util/buildbot/Manifest
+++ b/dev-util/buildbot/Manifest
@@ -1,3 +1,4 @@
 DIST buildbot-3.11.0.tar.gz 2523691 BLAKE2B e64a84fa1678d313ef922cb43e3a2df974e1c8e7b8c53a1ec20b6ef177eee5ca66bbe012bdf4754cc135e91fba883237b370f99fbbf780ef1fcab07305f941a7 SHA512 86f6545573473aa48890a9b6e5165c55c5223ab365a1f7bf019e468396f52c4cb3dc93458aae15cef40ff0eb576bd55002a8ae78144cd86271d9a230f1bd40b8
 DIST buildbot-3.11.1.tar.gz 2524103 BLAKE2B aa95e6f6963e0504e1e61147a4ceb09448f804ece33251c45914b731572923de68f6cda88f9a3c37eab2b695dfcb379c1745ce3b280e04232075819d41c5030b SHA512 ea9155c48fb44d6cf967e3b821bcca368f2a50bcc49e2b889e237ff17d0e6a222253a2fa2cd7876ade2edef05d50cead05090c3e73ecda0530e7d6c617376b8b
 DIST buildbot-3.11.9.tar.gz 2529422 BLAKE2B ccb24dee6775dce5962394e8d8d6b3293156736bf90d13eee3853d7a1d62c0efc0b4d04d1744e52b8b5e9b9c913de6b9927f9f2b229f0bae2a5afee463136daf SHA512 fb833c7aa536d6d71fb64f3da028b98e7c57fdda03a1e8027dd9c8e17ffc5f5904cb2c97900fb8555943fe8dbcb4750fb458bc722f405c7cfd58cbb246870008
+DIST buildbot-4.1.0.tar.gz 2588734 BLAKE2B 00d6c0205a6556b8fdf216f8e5a478e017c99cc40a5bce43678d78cb2126a9ae412a9ddaa9bd1c9cd724a37133d8d7b5f08ae9c3652954ccd2a15966b7cd8283 SHA512 ed2bf43f24c0566533fa9bf4f8f3df74de52bb78438fda797579787bf99d03563f28f6f6c751b573a620ce0045fd13054791956810de29d8d5d0822a6ed64a25

diff --git a/dev-util/buildbot/buildbot-4.1.0.ebuild b/dev-util/buildbot/buildbot-4.1.0.ebuild
new file mode 100644
index 000000000000..dbc53da2edb8
--- /dev/null
+++ b/dev-util/buildbot/buildbot-4.1.0.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_REQ_USE="sqlite"
+PYTHON_COMPAT=( python3_{10..12} )
+inherit readme.gentoo-r1 systemd distutils-r1 pypi
+
+DESCRIPTION="BuildBot build automation system"
+HOMEPAGE="https://buildbot.net/
+	https://github.com/buildbot/buildbot
+	https://pypi.org/project/buildbot/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~amd64-linux ~x86-linux"
+
+IUSE="crypt docker examples irc test"
+RESTRICT="!test? ( test )"
+
+# https://github.com/buildbot/buildbot/commit/b941956d3b9598804b46cf9ceebadc549f90e303
+# Fix CommandToString.test_list_with_objects
+PATCHES=(
+        "${FILESDIR}/buildbot-4.1.0-TestCommandToString.patch"
+)
+
+RDEPEND="
+	acct-user/buildbot
+	>=dev-python/alembic-1.6.0[${PYTHON_USEDEP}]
+	>=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
+	>=dev-python/croniter-1.3.0[${PYTHON_USEDEP}]
+	>=dev-python/msgpack-0.6.0[${PYTHON_USEDEP}]
+	>=dev-python/jinja-2.1[${PYTHON_USEDEP}]
+	>=dev-python/python-dateutil-1.5[${PYTHON_USEDEP}]
+	dev-python/packaging[${PYTHON_USEDEP}]
+	dev-python/pyjwt[${PYTHON_USEDEP}]
+	dev-python/pyyaml[${PYTHON_USEDEP}]
+	>=dev-python/sqlalchemy-1.4.0[${PYTHON_USEDEP}]
+	>=dev-python/twisted-22.1.0[${PYTHON_USEDEP}]
+	>=dev-python/txaio-2.2.2[${PYTHON_USEDEP}]
+	>=dev-python/unidiff-0.7.5[${PYTHON_USEDEP}]
+	>=dev-python/zope-interface-4.1.1[${PYTHON_USEDEP}]
+	crypt? (
+		>=dev-python/pyopenssl-16.0.0[${PYTHON_USEDEP}]
+		dev-python/service-identity[${PYTHON_USEDEP}]
+		>=dev-python/twisted-22.1.0[${PYTHON_USEDEP},ssl(-)]
+		dev-python/idna[${PYTHON_USEDEP}]
+	)
+	irc? (
+		dev-python/txrequests[${PYTHON_USEDEP}]
+	)
+	docker? (
+		>=dev-python/docker-7.0.0[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
+	)
+"
+BDEPEND="
+	test? (
+		${RDEPEND}
+		~dev-util/buildbot-pkg-${PV}[${PYTHON_USEDEP}]
+		~dev-util/buildbot-worker-${PV}[${PYTHON_USEDEP}]
+		~dev-util/buildbot-www-${PV}[${PYTHON_USEDEP}]
+		>=dev-python/boto3-1.12.48[${PYTHON_USEDEP}]
+		dev-python/lz4[${PYTHON_USEDEP}]
+		dev-python/ldap3[${PYTHON_USEDEP}]
+		>=dev-python/markdown-3.0.0[${PYTHON_USEDEP}]
+		>=dev-python/moto-4.2.13[${PYTHON_USEDEP}]
+		dev-python/parameterized[${PYTHON_USEDEP}]
+		dev-python/pypugjs[${PYTHON_USEDEP}]
+		dev-python/txrequests[${PYTHON_USEDEP}]
+		dev-python/treq[${PYTHON_USEDEP}]
+                dev-util/ruff
+	)"
+
+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,
+execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
+The scripts can	run as a different user if desired."
+
+src_prepare() {
+	# disable all warnings as errors
+	sed -e "/warnings.filterwarnings('error')/d" -i buildbot/test/__init__.py || die
+	# https://github.com/buildbot/buildbot/issues/6776
+	# https://bugs.gentoo.org/904062
+	rm buildbot/test/integration/test_try_client.py || die
+
+	distutils-r1_src_prepare
+}
+
+python_test() {
+	"${EPYTHON}" -m twisted.trial buildbot || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+	distutils-r1_src_install
+
+	doman docs/buildbot.1
+
+	if use examples; then
+		dodoc -r docs/examples
+	fi
+
+	newconfd "${FILESDIR}/buildmaster.confd" buildmaster
+	newinitd "${FILESDIR}/buildmaster.initd" buildmaster
+	systemd_dounit "${FILESDIR}/buildmaster.target"
+	systemd_newunit "${FILESDIR}/buildmaster_at.service" "buildmaster@.service"
+	systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "buildmaster@.service"
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+
+	if [[ -n ${REPLACING_VERSIONS} ]]; then
+		ewarn
+		ewarn "Starting with buildbot-0.8.12-r2, more than one instance of buildmaster"
+		ewarn "can be run simultaneously. Note that \"BASEDIR\" in the buildbot configuration file"
+		ewarn "is now the common base directory for all instances. If you are migrating from an older"
+		ewarn "version, make sure that you copy the current contents of \"BASEDIR\" to a subdirectory."
+		ewarn "The name of the subdirectory corresponds to the name of the buildmaster instance."
+		ewarn "In order to start the service running OpenRC-based systems need to link to the init file:"
+		ewarn "    ln --symbolic --relative /etc/init.d/buildmaster /etc/init.d/buildmaster.myinstance"
+		ewarn "    rc-update add buildmaster.myinstance default"
+		ewarn "    /etc/init.d/buildmaster.myinstance start"
+		ewarn "Systems using systemd can do the following:"
+		ewarn "    systemctl enable buildmaster@myinstance.service"
+		ewarn "    systemctl enable buildmaster.target"
+		ewarn "    systemctl start buildmaster.target"
+		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."
+	fi
+	elog
+	elog "In order to create a new instance of buildmaster, execute:"
+	elog "    emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config() {
+	local buildmaster_path="/var/lib/buildmaster"
+	local log_path="/var/log/buildmaster"
+
+	einfo "This will prepare a new buildmaster instance in ${buildmaster_path}."
+	einfo "Press Control-C to abort."
+
+	einfo "Enter the name for the new instance: "
+	read instance_name
+	[[ -z "${instance_name}" ]] && die "Invalid instance name"
+
+	local instance_path="${buildmaster_path}/${instance_name}"
+	local instance_log_path="${log_path}/${instance_name}"
+
+	if [[ -e "${instance_path}" ]]; then
+		eerror "The instance with the specified name already exists:"
+		eerror "${instance_path}"
+		die "Instance already exists"
+	fi
+
+	local buildbot="/usr/bin/buildbot"
+	if [[ ! -d "${buildmaster_path}" ]]; then
+		mkdir --parents "${buildmaster_path}" || die "Unable to create directory ${buildmaster_path}"
+	fi
+	"${buildbot}" create-master "${instance_path}" &>/dev/null || die "Creating instance failed"
+	chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed"
+	mv "${instance_path}/master.cfg.sample" "${instance_path}/master.cfg" \
+		|| die "Moving sample configuration failed"
+	ln --symbolic --relative "/etc/init.d/buildmaster" "/etc/init.d/buildmaster.${instance_name}" \
+		|| die "Unable to create link to init file"
+
+	if [[ ! -d "${instance_log_path}" ]]; then
+		mkdir --parents "${instance_log_path}" || die "Unable to create directory ${instance_log_path}"
+		chown --recursive buildbot:buildbot "${instance_log_path}" \
+			|| die "Setting permissions for instance failed"
+	fi
+	ln --symbolic --relative "${instance_log_path}/twistd.log" "${instance_path}/twistd.log" \
+		|| die "Unable to create link to log file"
+
+	einfo "Successfully created a buildmaster instance at ${instance_path}."
+	einfo "To change the default settings edit the master.cfg file in this directory."
+}

diff --git a/dev-util/buildbot/files/buildbot-4.1.0-TestCommandToString.patch b/dev-util/buildbot/files/buildbot-4.1.0-TestCommandToString.patch
new file mode 100644
index 000000000000..9e77d5d6a077
--- /dev/null
+++ b/dev-util/buildbot/files/buildbot-4.1.0-TestCommandToString.patch
@@ -0,0 +1,28 @@
+https://github.com/buildbot/buildbot/commit/b941956d3b9598804b46cf9ceebadc549f90e303
+From b941956d3b9598804b46cf9ceebadc549f90e303 Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@debian.org>
+Date: Wed, 16 Oct 2024 12:14:16 +0100
+Subject: [PATCH] Fix CommandToString.test_list_with_objects
+
+59c3ccd0f69e9d2b5ed72310c85158c73ef9e6af changed the behaviour of
+`command_to_string` here.
+---
+ master/buildbot/test/unit/test_util.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/buildbot/test/unit/test_util.py b/buildbot/test/unit/test_util.py
+index 5fb333e93..d2c71d56d 100644
+--- a/buildbot/test/unit/test_util.py
++++ b/buildbot/test/unit/test_util.py
+@@ -433,8 +433,7 @@ class CommandToString(unittest.TestCase):
+         self.assertEqual(util.command_to_string(object()), None)
+ 
+     def test_list_with_objects(self):
+-        # the object looks like a renderable, and is skipped
+-        self.assertEqual(util.command_to_string(['ab', object(), 'cd']), "'ab cd'")
++        self.assertRegex(util.command_to_string(['ab', object(), 'cd']), r"'ab <object .*> \.\.\.'")
+ 
+     def test_invalid_ascii(self):
+         self.assertEqual(util.command_to_string(b'a\xffc'), "'a\ufffdc'")
+-- 
+2.45.2


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-11-09  9:08 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-14  5:37 [gentoo-commits] repo/gentoo:master commit in: dev-util/buildbot/files/, dev-util/buildbot/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-11-09  9:08 Sam James
2022-09-23  3:00 Brian Dolbec
2020-06-01 22:57 Brian Dolbec
2018-06-27 15:24 Brian Dolbec
2018-03-13 23:56 Brian Dolbec
2017-10-27  2:29 Brian Dolbec
2017-05-16  2:10 Brian Dolbec
2017-01-13  0:04 Brian Dolbec
2016-08-17 17:00 Brian Dolbec
2016-08-09 23:52 Brian Dolbec

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox