summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Dolbec <dolsen@gentoo.org>2022-09-22 19:16:07 -0700
committerBrian Dolbec <dolsen@gentoo.org>2022-09-22 20:00:28 -0700
commitfca5d7800b100f298b2f75b58ed733a0585e03af (patch)
tree6ad83b5a6da8c4ce6ad4c94c3a0cedecd08a2172 /dev-util/buildbot-worker
parentdev-util/buildbot-badges: Version bump to 3.6.1 (diff)
downloadgentoo-fca5d7800b100f298b2f75b58ed733a0585e03af.tar.gz
gentoo-fca5d7800b100f298b2f75b58ed733a0585e03af.tar.bz2
gentoo-fca5d7800b100f298b2f75b58ed733a0585e03af.zip
dev-util/buildbot-worker: Version bump to 3.6.1
Update 9999 Add systemd service files Signed-off-by: Brian Dolbec <dolsen@gentoo.org>
Diffstat (limited to 'dev-util/buildbot-worker')
-rw-r--r--dev-util/buildbot-worker/Manifest1
-rw-r--r--dev-util/buildbot-worker/buildbot-worker-3.6.1.ebuild141
-rw-r--r--dev-util/buildbot-worker/buildbot-worker-9999.ebuild8
-rw-r--r--dev-util/buildbot-worker/files/buildbot_worker.confd22
-rw-r--r--dev-util/buildbot-worker/files/buildbot_worker.service12
-rw-r--r--dev-util/buildbot-worker/files/buildbot_worker.target5
-rw-r--r--dev-util/buildbot-worker/files/buildbot_worker_at.service14
-rw-r--r--dev-util/buildbot-worker/files/buildbot_worker_at.service.conf5
8 files changed, 187 insertions, 1 deletions
diff --git a/dev-util/buildbot-worker/Manifest b/dev-util/buildbot-worker/Manifest
index f922e58e8ae9..79bd8d18300c 100644
--- a/dev-util/buildbot-worker/Manifest
+++ b/dev-util/buildbot-worker/Manifest
@@ -1,3 +1,4 @@
DIST buildbot-worker-3.4.0.tar.gz 102910 BLAKE2B c38a806e8d0475a8c18176310f628b829fc359f013b315e82715e71071213fe4a0cdf38273ad7df39a66675f4ebc9fb1881fb990290f2bbedf4c8777ec93d4dc SHA512 411a2bf496622c2b9a3e0dea1ea8a71b347566010086c57ffc5d1114546cc5052af39a8ff7b10ffe6e7afdb6fc8ff73a9ffba23b96a76ff1cc0e3eff81cc59a7
DIST buildbot-worker-3.5.0.tar.gz 111349 BLAKE2B 90d193fb89ac65ca03274e0ad5c7fde8fc478bb932ccc4240495437f79171d49f623f50731c7619336386b7d1d7df3f955e10bf006ad86b8dcf294d75c874774 SHA512 1df67b6332753f91179863cca76b0578e4f36954e0aa4eb9c28f98d6451d6972e247849fb9d4e20b753b5702d100406b306ce4982181510ad81de0d35a9828ed
DIST buildbot-worker-3.6.0.tar.gz 120158 BLAKE2B c762237d802f6eff1c6b74f0ed364ecf085d762c80f6cc90edc1fed0084c7bf6a0b74b6fcaf8611b9c21b6249bde547d5a10bc7ff5b4588d138b2ebf76e823a3 SHA512 6b5f50694fe1559dacba599f8641c6b370cad4b68c8182e8a6e31528ffbeeed81c405fd764e3718003913fe5fe8d9faa920a2ad81373fbd028cbf046ed0d3136
+DIST buildbot-worker-3.6.1.tar.gz 120224 BLAKE2B 010893b7b4e5710654299b2541c4cdcdad47b3b763dbc7e2336e5480c841908e04d8350c7cb42edd9ea99d16fd26f36a524a6d6bec8c0f933665a02ded369f89 SHA512 f1e3bf7c0da2f31dd446dc16487e32fddaecc0c2f9c17c469146707322a3d7bb2cc77db4f6145c62530bce58dd61aa19e008e944a7f39a17dc66f1317ee26e1b
diff --git a/dev-util/buildbot-worker/buildbot-worker-3.6.1.ebuild b/dev-util/buildbot-worker/buildbot-worker-3.6.1.ebuild
new file mode 100644
index 000000000000..e2d1ed832b13
--- /dev/null
+++ b/dev-util/buildbot-worker/buildbot-worker-3.6.1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit readme.gentoo-r1 systemd distutils-r1
+
+MY_V="${PV/_p/.post}"
+MY_P="${PN}-${MY_V}"
+
+DESCRIPTION="BuildBot Worker (slave) Daemon"
+HOMEPAGE="https://buildbot.net/
+ https://github.com/buildbot/buildbot
+ https://pypi.org/project/buildbot-worker/"
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ acct-user/buildbot
+ >=dev-python/autobahn-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18.7.0[${PYTHON_USEDEP}]
+ dev-python/future[${PYTHON_USEDEP}]
+ !<dev-util/buildbot-1.0.0
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+DOC_CONTENTS="The \"buildbot\" user and the \"buildbot_worker\" init script has been added
+to support starting buildbot_worker through Gentoo's init system. To use this,
+execute \"emerge --config =${CATEGORY}/${PF}\" to create a new instance.
+Set up your build worker following the documentation, make sure the
+resulting directories are owned by the \"buildbot\" user and point
+\"${ROOT}/etc/conf.d/buildbot_worker.myinstance\" at the right location.
+The scripts can run as a different user if desired."
+
+src_prepare() {
+ # Remove shipped windows start script
+ sed -e "/'buildbot_worker_windows_service=buildbot_worker.scripts.windows_service:HandleCommandLine',/d" \
+ -i setup.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" -m twisted.trial buildbot_worker || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+
+ distutils-r1_python_install_all
+
+ doman docs/buildbot-worker.1
+
+ newconfd "${FILESDIR}/buildbot_worker.confd2" buildbot_worker
+ newinitd "${FILESDIR}/buildbot_worker.initd2" buildbot_worker
+ systemd_dounit "${FILESDIR}/buildbot_worker.target"
+ systemd_newunit "${FILESDIR}/buildbot_worker_at.service" "buildbot_worker@.service"
+ systemd_install_serviced "${FILESDIR}/buildbot_worker_at.service.conf" "buildbot_worker@.service"
+
+ dodir /var/lib/buildbot_worker
+ cp "${FILESDIR}/buildbot.tac.sample" "${D}/var/lib/buildbot_worker"|| die "Install failed!"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ ewarn
+ ewarn "More than one instance of a buildbot_worker can be run simultaneously."
+ ewarn " Note that \"BASEDIR\" in the buildbot_worker 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 buildbot_worker 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/buildbot_worker /etc/init.d/buildbot_worker.myinstance"
+ ewarn " rc-update add buildbot_worker.myinstance default"
+ ewarn " /etc/init.d/buildbot_worker.myinstance start"
+ ewarn "Systems using systemd can do the following:"
+ ewarn " systemctl enable buildbot_worker@myinstance.service"
+ ewarn " systemctl enable buildbot_worker.target"
+ ewarn " systemctl start buildbot_worker.target"
+ fi
+}
+
+pkg_config() {
+ local buildworker_path="/var/lib/buildbot_worker"
+ local log_path="/var/log/buildbot_worker"
+
+ einfo "This will prepare a new buildbot_worker instance in ${buildworker_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="${buildworker_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
+
+ if [[ ! -d "${instance_path}" ]]; then
+ mkdir --parents "${instance_path}" || die "Unable to create directory ${buildworker_path}"
+ fi
+ chown --recursive buildbot:buildbot "${instance_path}" || die "Setting permissions for instance failed"
+ cp "${buildworker_path}/buildbot.tac.sample" "${instance_path}/buildbot.tac" \
+ || die "Moving sample configuration failed"
+ ln --symbolic --relative "/etc/init.d/buildbot_worker" "/etc/init.d/buildbot_worker.${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 buildbot_worker instance at ${instance_path}."
+ einfo "To change the default settings edit the buildbot.tac file in this directory."
+}
diff --git a/dev-util/buildbot-worker/buildbot-worker-9999.ebuild b/dev-util/buildbot-worker/buildbot-worker-9999.ebuild
index 6fb30ec0ecab..e22995dc22fa 100644
--- a/dev-util/buildbot-worker/buildbot-worker-9999.ebuild
+++ b/dev-util/buildbot-worker/buildbot-worker-9999.ebuild
@@ -44,6 +44,14 @@ resulting directories are owned by the \"buildbot\" user and point
\"${ROOT}/etc/conf.d/buildbot_worker.myinstance\" at the right location.
The scripts can run as a different user if desired."
+src_prepare() {
+ # Remove shipped windows start script
+ sed -e "/'buildbot_worker_windows_service=buildbot_worker.scripts.windows_service:HandleCommandLine',/d" \
+ -i setup.py || die
+
+ distutils-r1_src_prepare
+}
+
python_test() {
"${EPYTHON}" -m twisted.trial buildbot_worker || die "Tests failed with ${EPYTHON}"
}
diff --git a/dev-util/buildbot-worker/files/buildbot_worker.confd2 b/dev-util/buildbot-worker/files/buildbot_worker.confd2
index f14e3210ca99..2ce321f522c4 100644
--- a/dev-util/buildbot-worker/files/buildbot_worker.confd2
+++ b/dev-util/buildbot-worker/files/buildbot_worker.confd2
@@ -10,5 +10,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=""
diff --git a/dev-util/buildbot-worker/files/buildbot_worker.service b/dev-util/buildbot-worker/files/buildbot_worker.service
new file mode 100644
index 000000000000..e75a2d51e4f3
--- /dev/null
+++ b/dev-util/buildbot-worker/files/buildbot_worker.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=buildbot worker (slave) instances
+After=local-fs.target network.target
+
+[Service]
+Type=forking
+User=buildbot
+ExecStart=/usr/bin/buildbot_worker start /var/lib/buildbot_worker
+ExecStop=/usr/bin/buildbot_worker stop /var/lib/buildbot_worker
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-util/buildbot-worker/files/buildbot_worker.target b/dev-util/buildbot-worker/files/buildbot_worker.target
new file mode 100644
index 000000000000..4a2b3e2d52f3
--- /dev/null
+++ b/dev-util/buildbot-worker/files/buildbot_worker.target
@@ -0,0 +1,5 @@
+[Unit]
+Description=Buildbot-Worker target that allows to start or stop all buildbot_worker@*.service instances
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-util/buildbot-worker/files/buildbot_worker_at.service b/dev-util/buildbot-worker/files/buildbot_worker_at.service
new file mode 100644
index 000000000000..6b8849920f79
--- /dev/null
+++ b/dev-util/buildbot-worker/files/buildbot_worker_at.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=buildbot-worker daemon
+After=local-fs.target network.target
+PartOf=buildbot_worker.target
+
+[Service]
+Environment=BASEDIR=/var/lib/buildbot_worker
+Type=forking
+User=buildbot
+ExecStart=/usr/bin/buildbot-worker start ${BASEDIR}/%i
+ExecStop=/usr/bin/buildbot-worker stop ${BASEDIR}/%i
+
+[Install]
+WantedBy=buildbot_worker.target
diff --git a/dev-util/buildbot-worker/files/buildbot_worker_at.service.conf b/dev-util/buildbot-worker/files/buildbot_worker_at.service.conf
new file mode 100644
index 000000000000..8d37f9412e7d
--- /dev/null
+++ b/dev-util/buildbot-worker/files/buildbot_worker_at.service.conf
@@ -0,0 +1,5 @@
+# Uncomment the following lines to configure the base directory for all buildmaster instances.
+
+#[Service]
+#Environment=BASEDIR=/var/lib/buildbot_worker
+