diff options
-rw-r--r-- | testing/buildbot/buildbot.pre-install | 4 | ||||
-rw-r--r-- | testing/buildbot/buildmaster.confd | 10 | ||||
-rw-r--r-- | testing/buildbot/buildmaster.initd | 54 |
3 files changed, 68 insertions, 0 deletions
diff --git a/testing/buildbot/buildbot.pre-install b/testing/buildbot/buildbot.pre-install new file mode 100644 index 0000000000..4d8bb4e6c9 --- /dev/null +++ b/testing/buildbot/buildbot.pre-install @@ -0,0 +1,4 @@ +#!/bin/sh +adduser -h /var/lib/buildbot -g buildbot -D -s /sbin/nologin buildbot 2>/dev/null +exit 0 + diff --git a/testing/buildbot/buildmaster.confd b/testing/buildbot/buildmaster.confd new file mode 100644 index 0000000000..e489d66f9d --- /dev/null +++ b/testing/buildbot/buildmaster.confd @@ -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/testing/buildbot/buildmaster.initd b/testing/buildbot/buildmaster.initd new file mode 100644 index 0000000000..313365f3a6 --- /dev/null +++ b/testing/buildbot/buildmaster.initd @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2013 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/python -- /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 $? +} |