Skip to content

Commit

Permalink
dev-util/buildbot: Version bump, update 9999 ebuild
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.13, Repoman-2.3.3
  • Loading branch information
dol-sen committed Mar 13, 2018
1 parent 63ba660 commit 52fe9d5
Show file tree
Hide file tree
Showing 4 changed files with 250 additions and 2 deletions.
2 changes: 2 additions & 0 deletions dev-util/buildbot/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -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
218 changes: 218 additions & 0 deletions dev-util/buildbot/buildbot-1.1.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
# 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.python.org/pypi/buildbot"
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"
if [[ ${PV} == *9999 ]]; then
KEYWORDS=""
else
KEYWORDS="~amd64"
fi

IUSE="crypt doc 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}]
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}]
)
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

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

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 docs/examples
fi

newconfd "${FILESDIR}/buildmaster.confd" buildmaster
newinitd "${FILESDIR}/buildmaster.initd" buildmaster
systemd_dounit "${FILESDIR}/buildmaster.target"
systemd_newunit "${FILESDIR}/buildmaster_at.service" "[email protected]"
systemd_install_serviced "${FILESDIR}/buildmaster_at.service.conf" "[email protected]"

readme.gentoo_create_doc
}

python_test() {
distutils_install_for_testing
export DISABLE_TEST=true
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 [email protected]"
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."
}
8 changes: 6 additions & 2 deletions dev-util/buildbot/buildbot-9999.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -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}]
Expand All @@ -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

Expand Down
24 changes: 24 additions & 0 deletions dev-util/buildbot/files/disable-test_userpass_wait.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From e24640e1043fe8914a2b86842645604a3d9e9698 Mon Sep 17 00:00:00 2001
From: Brian Dolbec <[email protected]>
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

0 comments on commit 52fe9d5

Please sign in to comment.