dev-util/buildbot: add 4.1.0

Signed-off-by: Magnus Granberg <zorry@gentoo.org>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Magnus Granberg
2024-10-27 08:53:22 +01:00
committed by Sam James
parent 288f9098a0
commit 03a65198c4
3 changed files with 214 additions and 0 deletions

View File

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

View File

@@ -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."
}

View File

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